|
Очумелые Ручки Раздел по решению проблем нестандартными методами
разработка и изготовление устройств, помогающих в ремонте и тюнинге автомобилей The decision of problems non-standard methods Development and manufacturing of the devices assisting under repair and tuning of automobiles |
|
Опции темы |
26.05.2006, 20:13 | #1 |
Местный
Регистрация: 14.05.2004
Сообщений: 673
Вес репутации: 0
|
Есть такая отладочная плата C8051F064EK на ацп Silabs за 30 - 45$
Судя схеме - готовый USB осциллограф, только параметры получше чем у Киевского и Тульского на C8051F321 раз так в 10 я себе заказал , с ней и софт идет демонстрационный Еще эта штуковина содержит на борту программатор USB фирменный - типа аналог ЕС2 для Silabs с прошитой C8051F321 Написать бы к этой плате номальную оболочку для диагностики вобще была бы вещь и сборка платы фирменная http://www.efo.ru/doc/Silabs/Silabs.pl?2089 |
26.05.2006, 20:48 | #2 |
Пользователь
Регистрация: 10.12.2004
Сообщений: 34
Вес репутации: 0
|
Я на этом ките уже сделал 2-х канальный осциллограф. Очень большой недостаток кита заключается в том что в качестве интерфейса МК <-> ПК используется медленный CP2102 (RS232<->US максимальная средняя скорость ~900 Кб/с, на ките получится только ~450 Кб/с (из-за того что на 22 МГц UART F064 больше не тянет). В режиме самописца (включено одно АЦП / 16 бит) максимальная частота дискретизации 20 КГц. В режиме чтения буфер -> ПК максимальная частота дискретизации 1 МГЦ на каждый канал или 2 МГц если объединить оба АЦП и запустить их со сдвигом на 180 гр. Но буфер всего 128 КБ, т.е. при включенном одном канале хватит на 65536 отсчетов, а при включенных 2-х каналах на 32768 отсчетов. К тому же вся память передается уж очень долго: 128 / 20 = 6-7 сек. Еще к недостаткам можно отнести тот факт что оба аналоговых входа закрыты и связаны небольшой емкостью.
|
26.05.2006, 20:56 | #3 |
Местный
Регистрация: 14.05.2004
Сообщений: 673
Вес репутации: 0
|
Схему я смотрел, там по входам 2 танталовых на 4.7 мкф и выходы операционников соединены
конденсатором , в принципе закоротить не проблема должен будет брать постоянку . а софт сам писал ? или что есть в отладочном пакете ? очень интересно глянуть |
26.05.2006, 21:16 | #4 |
Местный
Регистрация: 27.11.2004
Сообщений: 2,406
Вес репутации: 0
Репутация: 0
|
Я думаю завтра темку приклею к осциллу...
|
26.05.2006, 21:21 | #5 |
Пользователь
Регистрация: 10.12.2004
Сообщений: 34
Вес репутации: 0
|
Если выкинуть кондеры, как тогда смотреть отрицательные сигналы?
Можно конечно смещение добавить, но тогда если входы будут висеть в воздухе это смещение приведет к смещению нуля. А еще лучше выкинуть входные цепи (фильтры сильно будут искажать искру) и сделать небольшую платку со своими входными цепями (два каскада с защитой + инвертор если нужно смотреть отрицательные сигналы). Софт писал сам, я автор киевского осцила В отладочном пакете была только прога для демонстрации качества АЦП (высокая линейность и малый шум). Я бы дал отладочный софт (было реализовано только чтение с АЦП и вывод на экран) если бы его не вытер за ненадобностью. Сейчас есть только коммерческая версия (исходные коды дать не могу) на базе кита, но уже 8 каналов. Если интересно (чтобы оценить что на ките может получится) можете посмотреть оболочку и help. Zip архив (0,98 МБ) Rar архив (793 КБ) Сигнал 8 кн.(624 КБ) |
26.05.2006, 21:32 | #6 |
Пользователь
Регистрация: 10.12.2004
Сообщений: 34
Вес репутации: 0
|
Забыл написать, что у этой серии МК F06x есть DMA, позволяющей без траты ресурсов МК писать данные АЦП прямо в XDATA.
Пример записи на 2 МГц: Код:
;------------------------------- Инициализация -------------------------------- r2m_init: clr a ; Сбросили аккумулятор mov SFRPAGE, a ; 0 - Страница по умолчанию mov R2M_BANK_ADD, #020h ; Следующий банк = R2M_BANK_SET + R2M_BANK_ADD mov R2M_COUNT_RECORD_HI, count_record_hi ; Кол-во записываемых отсчетов c учетом длины претригера mov R2M_COUNT_RECORD_MD, count_record_md mov R2M_COUNT_RECORD_LO, count_record_lo mov R2M_COUNT_PRETGR_HI, count_pretrigger_hi ; Длина претригера в отсчетах mov R2M_COUNT_PRETGR_LO, count_pretrigger_lo ;------------------------- Предварительная настройка -------------------------- setb LED_TETS ; Включить светодиод начала записи anl BANK_PORT, #01Fh ; Выбрать банк 0 mov MUX_PORT, buf_ch ; Установили номер канала ;--------------------------- Конфигурация DMA --------------------------------- mov SFRPAGE, #DMA0_PAGE ; 3 - Страница конфигурации DMA mov DMA0DAH, a ; Стартовый адрес XDATA DMA = 0 : всегда начинаем запись с начала XDATA mov DMA0DAL, a mov DMA0IPT, a ; Установили адрес команд на начало буфера команд mov DMA0IDT, #0B0h ; b7 = 1 : CCNV - разрешить непрерывное преобразование, т.е. игнорируем счетчик ; b6 = 0 : DIFFSEL - запретить дифференциальный режим ; b5 = 1 : ADC1EN - записывать данные АЦП1 ; b4 = 1 : ADC0EN - записывать данные АЦП0 mov DMA0IDT, #080h ; Команда окончания записи с непрерывным преобразованием mov DMA0BND, a ; Установили адрес начала чтения буфере DMA ;-------------------------- Инициализация ACC начальным банком ---------------- mov R2M_BANK_SET, #01Fh ; Определили устанавливаемый банк ;-------------------------------------- Запуск -------------------------------- mov SFRPAGE, #ADC1_PAGE ; 1 - Страница конфигурации АЦП 1 clr AD1INT ; Сбросили флаг окончания предыдущих преобразований АЦП1 jnb AD1INT, $ ; Синхронизируем запуск DMA по окончанию преобразования АЦП1 clr AD1INT ; Сбросили флаг окончания преобразования АЦП1 nop ; Обеспечиаем задержку, смысл которой заключается в том, чтобы nop ; данные от АЦП0 записывались промежуточный буфер DMA до nop ; записи данных АЦП1, т.е. чтобы соблюсти порядок в памяти: nop ; АЦП0(T1) АЦП1(T1+dT) nop ; Количество nop должно быть в пределах: 3-14 mov SFRPAGE, #ADC0_PAGE ; 0 - Страница конфигурации АЦП 0 clr AD0INT ; На всякий случай сбросили флаг окончания преобразования АЦП0 mov SFRPAGE, #DMA0_PAGE ; 3 - Страница конфигурации DMA mov DMA0CN, #080h ; b7 = 1 : DMA0EN - запускаем DMA0 ; b6 = 0 : DMA0INT - флаг завершения операций DMA0 ; b5 = 0 : DMA0MD - режим 0 (повторять группу команд заданое число раз) ; b4 = 0 : DMA0DE1 - Флаг ошибки переполнения данных от АЦП1 ; b3 = 0 : DMA0DE0 - флаг ошибки переполнения данных от АЦП0 ; b2 = 0 : DMA0DOE - прерывания от флагов предупреждения о переполнении данных разрешены ; b1 = 0 : DMA0DO1 - флаг предупреждения о переполнении данных от АЦП1 ; b0 = 0 : DMA0DO0 - флаг предупреждения о переполнении данных от АЦП1 mov SFRPAGE, #ADC0_PAGE ; 0 - Страница конфигурации АЦП 0 jnb f_osc_trigger, r2m_no_trigger ; Если нет триггера то переходим на набивку данных ... r2m_no_trigger: ;------------------------- Простая набивка данных в банки --------------------- r2m_no_trigger_fill_buf: ; Заполнение буфера jbc AD0INT, r2m_no_trigger_adc0_int ; +4 : 4 / Ждем окончание преобразования АЦП0 sjmp r2m_no_trigger_fill_buf ; +3 / Не факт, что будет поймано имено в начале команды проверки r2m_no_trigger_adc0_int: ; Данные от АЦП0 записываются в ОЗУ djnz R2M_COUNT_RECORD_LO, r2m_no_trigger_fill_buf; +2 : 6 / Уменьшаем количество отсчетов записаное в даном банке djnz R2M_COUNT_RECORD_MD, r2m_no_trigger_fill_buf; +2 : 8 mov R2M_COUNT_RECORD_MD, #040h ; +2 : 10 / Возобновили количество отсчетов в банке : 0x4000 = 16384 add R2M_BANK_SET, R2M_BANK_ADD ; +1 : 11 / Определили следующий устанавливаемый банк nop ; +1 : 12 / Эта задержка обеспечивает полную запись 2-х байт АЦП0 nop ; +1 : 13 nop ; +1 : 14 nop ; +1 : 15 nop ; +1 : 16 nop ; +1 : 17 nop ; +1 : 18 nop ; +1 : 19 mov BANK_PORT, R2M_BANK_SET ; +2 : 21 / Установили банк - отсчет с АЦП1 бракованый djnz R2M_COUNT_RECORD_HI, r2m_no_trigger_fill_buf; +2 : 23 / Уменьшили количество банков для записи |
27.05.2006, 10:02 | #7 |
Местный
Регистрация: 14.05.2004
Сообщений: 673
Вес репутации: 0
|
Посмотрел софт нужен такой осциллограф , 8 каналов даже ни к чему, 2 достаточно
и маркера наконец стали настраиваться по цвету - очень удобно когда будет продаваться и где, я сразу записываюсь |
29.05.2006, 00:18 | #8 |
Пользователь
Регистрация: 10.12.2004
Сообщений: 34
Вес репутации: 0
|
Так как несколько человек написали по поводу покупки данного железа отвечу тут.
Софт писал на заказ для немецкой фирмы, поэтому скорее всего устройства будут продавать в Германии. Сам производить и продавать я не имею права. Софт и описание софта выложил только в целях демонстрации возможностей F06x. |
07.06.2006, 13:42 | #9 |
Местный
Регистрация: 09.02.2005
Сообщений: 809
Вес репутации: 0
|
Интересно - а где нибудь протокол обмена по USB с этой оболочкой посДсмотреть мона? :11: Дабы свой USB-осцил подвязать к готовому софту а не маяться с написанием оболочки.
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Автоас новая плата | letchik | VIP Продажи | 15 | 15.11.2006 21:54 |
Автоас,старая плата | letchik | VIP Продажи | 38 | 13.11.2006 23:17 |
Схема и печатная плата для BR3 | electric | P-CAD 2000-2002 | 3 | 26.11.2004 16:39 |