|
|
  |
STM32 и ADC, Где храниться информация о текущем конвертируемом канале АЦП из группы |
|
|
|
Nov 8 2008, 08:00
|
Участник

Группа: Участник
Сообщений: 72
Регистрация: 23-11-06
Из: Odessa
Пользователь №: 22 646

|
Наверное что-то не заметил, но как быть в такой ситуации. Например, запущена группа каналов в циклическом режиме с прерыванием от аналогового вотчдога. Если такое прерывание происходит, то как выяснить от какого именно входа АЦП он пришел? Должен же быть регистр, где хранится номер текущего или последнего канала?
|
|
|
|
|
Nov 11 2008, 20:58
|

Местный
  
Группа: Свой
Сообщений: 213
Регистрация: 28-02-07
Из: Киев
Пользователь №: 25 744

|
Цитата(gregory812 @ Nov 8 2008, 10:00)  Наверное что-то не заметил, но как быть в такой ситуации. Например, запущена группа каналов в циклическом режиме с прерыванием от аналогового вотчдога. Если такое прерывание происходит, то как выяснить от какого именно входа АЦП он пришел? Должен же быть регистр, где хранится номер текущего или последнего канала? Похоже, что никак. Прерывание "окончание преобразования" вызывается когда заканчивается преобразование по всем каналам (а зачем чаще?), а вот аналоговый ватчдог один на все каналы, и наиболее логично может применяться для какого-то одного канала. Хотя, имхо, это может иметь смысл только при высоких скоростях преобразования, иначе удобнее это сделать программно. Отдельного же регистра, где можно узнать номер текущего канала, я не нашел. Да и с учетом времени входа в прерывание вероятность переключиться на "следующий" канал за это время довольно высока, т.е. этот способ не гарантировал бы правильность определения номера канала. Сам я стм32 еще не применял (работал с ихним стр911, впечатления положительные), но уже заложил в один проект и примеряюсь к другому. Имеется встречный вопрос: насколько хорош АЦП у стм32? Интересуют шумовые характеристики в первую очередь.
|
|
|
|
|
Nov 13 2008, 22:07
|
Участник

Группа: Участник
Сообщений: 72
Регистрация: 23-11-06
Из: Odessa
Пользователь №: 22 646

|
Спасибо. Значит я не ошибся. Насчет АЦП могу высказать только личные впечатления (специалисты, возможно, поправят и дополнят). Сравнивая с AVR, очень важным оказалось правильная разводка, как можно больше конденсаторов на своих местах и фильтрация входных сигналов, т.к. шумы цифровой части, особенно на высоких частотах, легко ловятся АЦП. В принципе, удалось добиться, что шумы не превышали +-2-3 уровня квантования. Правда рядом работала мощная силовая схема (в идеальных условиях можно и +-1LSB получить)). В общем если расчитывать, что АЦП берется с небольшим запасом, то вполне приемлемо. Правда, если важно быстродействие, то ядро для такого потока данных все-таки слабовато (в AVR в таких случаях можно было уйти в ассемблер)).
Сообщение отредактировал gregory812 - Nov 13 2008, 22:13
|
|
|
|
|
Nov 13 2008, 23:02
|
Знающий
   
Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317

|
Цитата AVR в таких случаях можно было уйти в ассемблер А что мешает в стм32 уйти в асемблер ?
|
|
|
|
|
Nov 14 2008, 00:06
|
Участник

Группа: Участник
Сообщений: 72
Регистрация: 23-11-06
Из: Odessa
Пользователь №: 22 646

|
Цитата(MALLOY2 @ Nov 14 2008, 01:02)  А что мешает в стм32 уйти в асемблер ? Во-первых, еще не освоенность этой области, а во-вторых, как мне кажется, более запутанный код ассемблера АRM в купе с конвеерами и т.п. может привести к непредсказуемым ошибкам. Хотя здесь все зависит от опыта. Да и была надежда, что на такой мощи можно будет забыть про низкоуровневое программирование )).
Сообщение отредактировал gregory812 - Nov 14 2008, 00:10
|
|
|
|
|
Nov 22 2008, 08:41
|
Участник

Группа: Участник
Сообщений: 72
Регистрация: 23-11-06
Из: Odessa
Пользователь №: 22 646

|
Цитата(koyodza @ Nov 14 2008, 16:12)  Всё же интересует чуть более подробная информация об АЦП, если можно. Какую частоту выборки использовали, что было источником сигнала, что опорой, и какой шум был получен. Сравнение с AVR только запутало ситуацию: там АЦП 10-разрядный, здесь 12-разрядный. Так шум, указанный Вами, исходя из 10 или 12 разрядов? И "+-2-3 уровня квантования" - это значит 4-6 ед. от пика до пика? А каков характер этого шума? И спектр случайно не анализировали? Для простой проверки АЦП (скорость 1МГц) подавал на один из входов постоянное напряжение взятое с 10кОм потенциометра от 3.3В полученное со стабилизатора IRU1117-3.3. Это же напряжение использовал как опорное. От отсчета к отсчету увидел перепады до 2ед., иногда 3 ед. Форма шума характеризовалась именно тем, что каждое следущее преобразование давало полный размах отклонения. Замечания по поводу AVR относились не к сравнению характеристик в лоб как таковых, а к необходимости приложить больше усилий к качеству разводки и схемотехники (например, у меня в 10 разрядном AVR отклонения были ок. 1ед. и то, если попасть на границу между уровнями квантования). На другом форуме сказали, что АЦП "стоит намертво", поэтому рекомендую испытать самому и решить для себя подходит или нет, а заодно высказать свои впечатления.
Сообщение отредактировал gregory812 - Nov 22 2008, 08:42
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|