Цитата(akimych @ Feb 12 2011, 23:35)

В чем все же был косяк?
В следующем: в том варианте я реагировал на EOC в обработчике прерывания там забирал данные АЦП, переинициализировал и перезапускал ДМА, а в самом его начале дополнительно проверял while(DMA->CNTDR != 0), и здесь появлялись "чудеса" (перемешивание порядка каналов). Вместо ожидаемого значения DMA->CNTDR равным 0 или 1 максимум были любые от 1 до 3 (напомню, 2АЦП*3 канала=3 пересылки). Оказалось, забыл в ходе экспериментов при начальной инициализации ДМА сменить CircularMode на Noncircular
Цитата(akimych @ Feb 12 2011, 23:35)

2 ацп там могут иметь смысл для оцифровки одновременно сигнала и опорного напряжения, у STM-а же "опорное" - это по сути "эталонное", т.е. просто еще один канал, который можно мерить.
Дело в том, что в моём случае желательно получить макс. частоту дискретизации, 160 кГц оптимально. При тактовой АЦП 12МГц, миним. времени преобразования 14 тактов и последовательном переборе 6 каналов T=1/12*14*6 = 7мкс, а 160кГц=6.25мкс. Вот и пригодился DualMode, в 2раза быстрее. А Vref действительно тоже понадобится, но думаю измерять его где-то между делом, с большим интервалом чтобы учесть температурный дрейф, да и то не уверен, может будет достаточно один раз при старте его померить.
Кстати, моё железо не позволяет испытать характеристики АЦП (демо-плата, голые ноги, выведены на кросс-контакты, никаких фильтров), сделал пару наблюдений (один из каналов на внутреннем Vref для экспериментов) :
1) взаимное влияние на результат соседних соседних входов, т.е. допустим 5 моих входов просто болтаются в воздухе, на выходах АЦП вижу шумы определённого уровня. При закорачивании на землю одного из входов, уровни шумов соседних каналов тоже меняются. Думаю, особого криминала в этом нет,всё-таки вношу ёмкость. В реальности перед каждым входом будет ФНЧ с низким выходным.
2) для точного измерения внутреннего Vref 1.5...7 тактов на сэмплирование мало. Результат получается меньше. В даташите расплывчато дан пример чтения датчика температуры, там сказано про время сэмплирования 17.5мкс, видимо это и к Vref относится.
Цитата(akimych @ Feb 12 2011, 23:35)

Я тут было экспериментировал на F100, у него 1 ацп, оцифровывал тоже на частоте ~100кГц. На слабом сигнале проявляются помехи по питанию. Я пытался это как-то устранить с помощью "опорного", но приходится мерить по очереди, не одновременно. Так по большому счету ничего хорошего не получилось. Иногда помогает, а иногда нет.
Тут Вы видимо исходили из предположения о синфазности помехи и по сигналу, и по внутреннему Vref?
Вот тут имхо неправильный посыл "На слабом сигнале проявляются помехи по питанию." - они есть независимо от силы сигнала

Ну что делать, это же не дельта-сигма какая с дифф. входами. Фильтровать цепи питания, проявить мастерство в разводке платы (цифровые и аналоговые земли разделить и соединить звездой в одной точке, идущей к источнику питания). Ничего нового не сообщаю... А фильтр по входу достаточно хороший был? Может алиас какой пролезал?
Сообщение отредактировал pr0m - Feb 13 2011, 08:11