Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Прошу помощи в выборе АЦП
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Вопросы аналоговой техники
Vitаha
Открыл для себя мир сигма-дельта АЦП, до этого имел лишь смутные представления. Решил переделать один работающий дивайсик, сделать всё красивше, но появился ряд вопросов. Есть источник питания 3В 2мА, 5 платиновых температурных датчиков Pt100 (или Pt1000), восьмибитный микроконтроллер и АЦП. Надо за 30 миллисекунд с момента подачи питания оцифровать с точностью 16 бит все 5 датчиков. Микроконтроллер жрёт 1мА, для АЦП остаётся тоже 1мА, или 3мВт. Пока приглядываюсь к ADS1216 (ADS1217, ADS1218) от Texas Instruments. Питания 2.7В ему хватает, потребляет всего 0.6мВт...0.8мВт, 8 дифференциальных входов, внешнее опорное напряжение подходит для точных ratiometric измерений + избыточная точность в 24 (ENOB 22) бита, которая, как говорится, никогда не помешает. Остается вопрос по скорости измерения и времени start-up. В параметрах "Sample Rate (max)" пишут 780SPS, но я никак не могу понять, как они получили такое число. Посоветует ли мне кто-то, как считать SPS (sample per second)? Оптимален ли мой выбор, или есть более подходящий под мой случай АЦП? Спасибо
Xenia
Цитата(Vitаha @ Sep 13 2009, 20:49) *
Открыл для себя мир сигма-дельта АЦП, до этого имел лишь смутные представления.
...
Надо за 30 миллисекунд с момента подачи питания оцифровать с точностью 16 бит все 5 датчиков.


Сигма-дельта АЦП вещь хорошая, да только не любят они быстро переключаться с канала на канал. Точнее говоря, переключиться-то они переключаются нормально, да вот только на новом канале первый блин (то бишь отчет) комом. Впрочем, второй и третий тоже не лучше. Использовать их хорошо, когда термопары в разных местах измеряешь, т.е. когда торопиться не надо и можно на каждом канале по несколько отчетов поснимать, а потом... нет, не усреднить, а отбросить первые измерения.

Цитата(Vitаha @ Sep 13 2009, 20:49) *
Остается вопрос по скорости измерения и времени start-up. В параметрах "Sample Rate (max)" пишут 780SPS, но я никак не могу понять, как они получили такое число. Посоветует ли мне кто-то, как считать SPS (sample per second)?


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

Рекомендовать вам АЦП не стану, т.к. кругозор у меня не велик - в своей практике использовала только AD77110 / AD7714 от Analog Device и ADS1212 / ADS1255 от TI. То и другое в моноканальном режиме, поскольку разочаровалась в пользе входного мульплексора.
MPG
Предыдущие замечания верны. SD модулятор в современных АЦП как правило не ниже 4-ого порядка. Как следствие установление уровня до нужной точности происходит достаточно медленно. Если хочется использовать этот тип преобразователей то лучше выбирать тот, что работает с большей переоцифровкой, поскольку максимальная граничная частота доступная для данного АЦП (выбирается исходя из величины переоцифровки и параметров децимирующего фильтра. К этой частоте, кстати, и привязана SPS, а периодичность опроса на точность не влияет) должна быть значительно выше, чем 1/30ms=33Гц, скажем 1kГц или более (вполне реально ведь многие АЦП ориентированны на звуковой диапазон). Соответственно надо рассчитать и входной фильтр. Идеально поставить по каналу АЦП на датчик. Первые несколько отсчетов не учитывать. Остальные на цифровой фильтр в микроконтроллере для получения дополнительной пары бит точности. Насчет выбранной схемы. Поскольку у ADS1216 модулятор 2-ого порядка и устанавливается он за один отсчет (его и придется отбросить) то его использование вполне опраданно. Все должно работать если не гнатся за суперточностью.
Z0Rk
Цитата(Vitаha @ Sep 13 2009, 20:49) *
Есть источник питания 3В 2мА, 5 платиновых температурных датчиков Pt100 (или Pt1000), восьмибитный микроконтроллер и АЦП. Надо за 30 миллисекунд с момента подачи питания оцифровать с точностью 16 бит все 5 датчиков.

Че за МК? На какой частоте работает? Какой интерфейс МК с АЦП? При таком потреблении тактовая частота скорее в районе едениц МГц, если интерфейс последовательный наверное для максимальной скорости обмена будет делитель например на 4. Тогда можно посчитать какое примерно время будет затрачено только на передачу данных от АЦП если 24 бита по 5-и каналам, пока не вдаваясь в параметры АЦП.
Иногда, если МК имеет встроенный АЦП, бывает выгодно по времени производить А-Ц преобразование в самом МК с последующей децимацией до 16 эффективных бит.
Vitаha
Xenia, MPG и Z0Rk, спасибо за советы!
МК пока юзаю PIC16F690 (при питании 3В и частоте внутреннего генератора 8МГц потребляет до 1мА), есть в планах переделать на PIC18LF - и побыстрее будет, и потребление поменьше. В качестве интерфейса МК с АЦП думаю задействовать встроенный аппаратный SPI. Встроенный в МК АЦП имеет лишь 10 бит, что маловато. Порылся на сайте TI и нашёл ещё 2 подходящих для меня семейства: 24-битные ADS1246/ADS1247ADS1248 с 2KSPS и потреблением 2.6мВт и 16-битные ADS1146/ADS1147/ADS1148 с такой же скоростью 2KSPS и потреблением 1.2мВт. Последние, правда, пока лишь готовятся к выпуску и доступны только как образцы. Закажу samples, пока поиграюсь и отлажу, глядишь - и купить можно будет. А в мануалах на них так и пишут: applications - Temperature Measurement – RTDs, Thermocouples, and Thermistors.
_pv
Цитата(Vitаha @ Sep 14 2009, 17:01) *
МК пока юзаю PIC16F690 (при питании 3В и частоте внутреннего генератора 8МГц потребляет до 1мА), есть в планах переделать на PIC18LF - и побыстрее будет, и потребление поменьше. В качестве интерфейса МК с АЦП думаю задействовать встроенный аппаратный SPI. Встроенный в МК АЦП имеет лишь 10 бит, что маловато. Порылся на сайте TI и нашёл ещё 2 подходящих для меня семейства: ...

Можно еще там же порыться на предмет контроллеров msp430. есть с 16ти разрядными сигма-дельта АЦП внутри.
по прожорливости вроде проходят.
Vitаha
Да сейчас порой и не понять - это МК с крутым АЦП на борту, или АЦП с простым ядром МК на кристалле smile.gif
А так да, видел я этот гибрид, но времени на изучение комманд MSP нетути. Да и к пикам привык, и потребление у них не сильно больше. Благодарю за совет
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.