Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32 и ADC
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
gregory812
Наверное что-то не заметил, но как быть в такой ситуации. Например, запущена группа каналов в циклическом режиме с прерыванием от аналогового вотчдога. Если такое прерывание происходит, то как выяснить от какого именно входа АЦП он пришел? Должен же быть регистр, где хранится номер текущего или последнего канала?
koyodza
Цитата(gregory812 @ Nov 8 2008, 10:00) *
Наверное что-то не заметил, но как быть в такой ситуации. Например, запущена группа каналов в циклическом режиме с прерыванием от аналогового вотчдога. Если такое прерывание происходит, то как выяснить от какого именно входа АЦП он пришел? Должен же быть регистр, где хранится номер текущего или последнего канала?

Похоже, что никак. Прерывание "окончание преобразования" вызывается когда заканчивается преобразование по всем каналам (а зачем чаще?), а вот аналоговый ватчдог один на все каналы, и наиболее логично может применяться для какого-то одного канала. Хотя, имхо, это может иметь смысл только при высоких скоростях преобразования, иначе удобнее это сделать программно. Отдельного же регистра, где можно узнать номер текущего канала, я не нашел. Да и с учетом времени входа в прерывание вероятность переключиться на "следующий" канал за это время довольно высока, т.е. этот способ не гарантировал бы правильность определения номера канала.

Сам я стм32 еще не применял (работал с ихним стр911, впечатления положительные), но уже заложил в один проект и примеряюсь к другому. Имеется встречный вопрос: насколько хорош АЦП у стм32? Интересуют шумовые характеристики в первую очередь.
gregory812
Спасибо. Значит я не ошибся.
Насчет АЦП могу высказать только личные впечатления (специалисты, возможно, поправят и дополнят). Сравнивая с AVR, очень важным оказалось правильная разводка, как можно больше конденсаторов на своих местах и фильтрация входных сигналов, т.к. шумы цифровой части, особенно на высоких частотах, легко ловятся АЦП. В принципе, удалось добиться, что шумы не превышали +-2-3 уровня квантования. Правда рядом работала мощная силовая схема (в идеальных условиях можно и +-1LSB получить)). В общем если расчитывать, что АЦП берется с небольшим запасом, то вполне приемлемо. Правда, если важно быстродействие, то ядро для такого потока данных все-таки слабовато (в AVR в таких случаях можно было уйти в ассемблер)).
MALLOY2
Цитата
AVR в таких случаях можно было уйти в ассемблер


А что мешает в стм32 уйти в асемблер ?
gregory812
Цитата(MALLOY2 @ Nov 14 2008, 01:02) *
А что мешает в стм32 уйти в асемблер ?


Во-первых, еще не освоенность этой области, а во-вторых, как мне кажется, более запутанный код ассемблера АRM в купе с конвеерами и т.п. может привести к непредсказуемым ошибкам. Хотя здесь все зависит от опыта. Да и была надежда, что на такой мощи можно будет забыть про низкоуровневое программирование )).
koyodza
Всё же интересует чуть более подробная информация об АЦП, если можно. Какую частоту выборки использовали, что было источником сигнала, что опорой, и какой шум был получен. Сравнение с AVR только запутало ситуацию: там АЦП 10-разрядный, здесь 12-разрядный. Так шум, указанный Вами, исходя из 10 или 12 разрядов? И "+-2-3 уровня квантования" - это значит 4-6 ед. от пика до пика? А каков характер этого шума? И спектр случайно не анализировали?
gregory812
Цитата(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ед. и то, если попасть на границу между уровнями квантования). На другом форуме сказали, что АЦП "стоит намертво", поэтому рекомендую испытать самому и решить для себя подходит или нет, а заодно высказать свои впечатления.
MiklPolikov
Ни как не могу понять, каким образом выбираются опорные напряжения для ADC ?
У меня STM32L151 в 48 пиновом корпуса, соответственно ног Vref+ Vref- нет . Но куда они подключенны
внутри и как ими управлять ? Прочитал про ADC в документации , но том ни слова про то что бы опортное напряжение выбиралось в каком-то регистре.
ViKo
из CD00277537.pdf

VREF+ can be internally connected to VDDA and VREF- can be internally connected to VSSA, depending on the package.
Refer to Section 4: Pin descriptions for further details.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.