adc

Mar 22, 2017 01:03

Что то у меня "пробивают" каналы а ADC. Частота ADC=14mHz, время сэмплирования 239.5 ADC clock cycles, алгоритм следующий: В буфер 128 circular mode валит DMA с двух каналов (синий,желтый), каналы в буфере не путаются (это важно!)) Из буфера делается усреднение (без остановки ADC), получается примерно ADC шкварит в 1.5 раза быстрее, но не суть наверное.
Раз в 1.25 сек, DMA и ADC останавливаются и запрашиваются в one shot mode пару других каналов (фиолетовый и зелененький выше(совсем ровный -Vref)). После получения данных с этих каналов по прерыванию, включается снова ADC+DMA (на желтом и синем).
Это график за неск часов, вот такие вот выстрелы, причем видно, что фиолетовый как будто путается с каким то нижним, с кем путается (ну это только версия конечно) совсем нижний - не понятно.
Завтра чинить усилитель, так что эксперименты чуть позже, так что решил написать пока разбираться с железом не смогу. Да, питание от ST-Link2....написал об этом и задумался:) Но нет! Если оставить только пару нижних каналов с DMA (без переключения на другие), то все ровненько и шум где то в районе неск бит без всплесков/провалов по 100-150 в обе стороны как тут.
Читал статью leoniv, но тут мне кажется где то косяк с переинициализацией, возможно надо всё еще глубже переинитить переферию при смене каналов.





update: чуть лучше, но это за короткий период, надо набрать статистики, но хочется спать



сл попытка: (но кста на "сиреневой ножке" стоит керамика 0.15 вроде, а на "синей и жёлтой" 1000пф вроде только), на этих входах ещё делители 1/15, входа которых сейчас на GND

stm32_adc, stm32

Previous post Next post
Up