Перейти к содержанию

отладочная плата C8051f064ek


Рекомендуемые сообщения

Опубликовано

Есть такая отладочная плата C8051F064EK на ацп Silabs за 30 - 45$

Судя схеме - готовый USB осциллограф, только параметры получше

чем у Киевского и Тульского на C8051F321 раз так в 10

я себе заказал , с ней и софт идет демонстрационный

Еще эта штуковина содержит на борту программатор USB

фирменный - типа аналог ЕС2 для Silabs с прошитой C8051F321

Написать бы к этой плате номальную оболочку для диагностики

вобще была бы вещь и сборка платы фирменная

 

 

http://www.efo.ru/doc/Silabs/Silabs.pl?2089

Опубликовано

Я на этом ките уже сделал 2-х канальный осциллограф. Очень большой недостаток кита заключается в том что в качестве интерфейса МК <-> ПК используется медленный CP2102 (RS232<->USB) максимальная средняя скорость ~900 Кб/с, на ките получится только ~450 Кб/с (из-за того что на 22 МГц UART F064 больше не тянет). В режиме самописца (включено одно АЦП / 16 бит) максимальная частота дискретизации 20 КГц. В режиме чтения буфер -> ПК максимальная частота дискретизации 1 МГЦ на каждый канал или 2 МГц если объединить оба АЦП и запустить их со сдвигом на 180 гр. Но буфер всего 128 КБ, т.е. при включенном одном канале хватит на 65536 отсчетов, а при включенных 2-х каналах на 32768 отсчетов. К тому же вся память передается уж очень долго: 128 / 20 = 6-7 сек. Еще к недостаткам можно отнести тот факт что оба аналоговых входа закрыты и связаны небольшой емкостью.

Опубликовано

Схему я смотрел, там по входам 2 танталовых на 4.7 мкф и выходы операционников соединены

конденсатором , в принципе закоротить не проблема должен будет брать постоянку .

а софт сам писал ? или что есть в отладочном пакете ? очень интересно глянуть :)

Опубликовано

Если выкинуть кондеры, как тогда смотреть отрицательные сигналы?

Можно конечно смещение добавить, но тогда если входы будут висеть в воздухе это смещение приведет к смещению нуля. А еще лучше выкинуть входные цепи (фильтры сильно будут искажать искру) и сделать небольшую платку со своими входными цепями (два каскада с защитой + инвертор если нужно смотреть отрицательные сигналы).

Софт писал сам, я автор киевского осцила :)

В отладочном пакете была только прога для демонстрации качества АЦП (высокая линейность и малый шум).

Я бы дал отладочный софт (было реализовано только чтение с АЦП и вывод на экран) если бы его не вытер за ненадобностью.

Сейчас есть только коммерческая версия (исходные коды дать не могу) на базе кита, но уже 8 каналов.

Если интересно (чтобы оценить что на ките может получится) можете посмотреть оболочку и help.

Zip архив (0,98 МБ)

Rar архив (793 КБ)

Сигнал 8 кн.(624 КБ)

Опубликовано

Забыл написать, что у этой серии МК 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: нужен такой осциллограф , 8 каналов даже ни к чему, 2 достаточно

и маркера наконец стали настраиваться по цвету - очень удобно

когда будет продаваться и где, я сразу записываюсь

Опубликовано

Так как несколько человек написали по поводу покупки данного железа отвечу тут.

Софт писал на заказ для немецкой фирмы, поэтому скорее всего устройства будут продавать в Германии. Сам производить и продавать я не имею права. Софт и описание софта выложил только в целях демонстрации возможностей F06x.

  • 2 недели спустя...
Опубликовано

Интересно - а где нибудь протокол обмена по USB с этой оболочкой посДсмотреть мона? :11: Дабы свой USB-осцил подвязать к готовому софту а не маяться с написанием оболочки.

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу


×
×
  • Создать...