В течение многих лет заветной мечтой разработчика электронной аппаратуры систем сбора данных была мысль о том, что скоро-скоро появится микросхема, которая сможет «все». Действительно, попытки выпустить подобные микросхемы делались рядом известных западных фирм-производителей. Как правило, эти микросхемы представляли собой микроконтроллер, построенный по стандартной цифровой технологии, в который тем или иным способом были интегрированы функции аналого-цифрового и цифро-аналогового преобразования. Реализация функций была различна — это могли быть широтно-импульсные модуляторы, комбинации компараторов и интеграторв и т. п. Однако для получения максимальной точности приходилось либо останавливать работу контроллера при выполнении аналого-цифровых и цифро-аналоговых преобразований, либо просто использовать меньшее число разрядов преобразователей из-за сильного влияния цифровой части микроконтроллера на аналоговую. Поэтому головная боль разработчика «железа» по комбинации аналоговой и цифровой части перекладывалась на автора прикладного программного обеспечения.
Похоже, что сегодня заветная мечта разработчика воплотилась-таки в реальность. Отличительной особенностью новейшего семейства микросхем серии ADuC8xx является сам их принцип построения. Эти микросхемы не являются «микроконтроллером со встроенными АЦП-ЦАП». Они представляют собой удачно скомбинированные АЦП и ЦАП со встроенным в них микроконтроллером и флэш-памятью. Поэтому их основным достоинством является высокая точность аналого-цифрового и цифро-аналогового преобразования, удачно сочетаемая с возможностью непосредственной обработки получаемой информации. Ниже будут рассмотрены основные характеристики первых представителей семейства микросхем ADuC8xx и даны некоторые примеры их практического использования.
ADuC812 — 8-канальная, 12-разрядная система сбора данных со встроенным микроконтроллером
Первой микросхемой семейства ADuC8xx, выпущенной в серийное производство в мае 1999 года, является ADuC812 [1]. Архитектура ее представлена на рис. 1. Микросхема состоит из двух основных частей — аналоговой и цифровой.
Рис. 1. Структура микросхемы ADuC812
Рассмотрим структуру аналоговой части. Аналоговые входы микросхемы соединены с 8-входовым мультиплексором. На выходе мультиплексора стоит усилитель выборки/хранения, фиксирующий значение аналогового сигнала на выбранном входе на время осуществления преобразования АЦП. Помимо него, к аналоговой части микросхемы относятся также два 12-разрядных ЦАП с буферными усилителями на выходе каждого из них. Источник опорного напряжения может использоваться либо внутренний, напряжением 2,5 В и температурной стабильностью 40 ppm/°C, либо внешний, напряжение которого не превышает уровень источника питания. Также к входному мультиплексору подключен внутренний датчик температуры, позволяющий оперативно измерять температуру кристалла (а значит, с определенными поправками, и температуру окружающей среды), позволяющий, к примеру, осуществлять компенсацию температуры холодного спая термопар, подсоединенных к одному или нескольким входам микросхемы. На аналоговые входы допустима подача сигналов в диапазоне от 0 до Vref.
Интерфейсом между аналоговой и цифровой частями микросхемы служат регистры управления и калибровки. Цифровая часть состоит из собственно ядра микроконтроллера, полностью совместимого по системе команд с наиболее широко распространенными в мире микроконтроллерами серии 8051, блока памяти и набора дополнительных периферийных устройств. Микросхема ADuC812 может питаться от источника напряжением 3 или 5 В и имеет несколько экономичных режимов работы.
Рассмотрим более подробно структуру АЦП, ЦАП и цифровой части микросхемы.
Как уже упоминалось, первый представляет собой АЦП последовательных приближений, который может работать как в режиме единичных, так и непрерывных преобразований с максимальной скоростью 200 тысяч преобразований в секунду (одно преобразование каждые 5 мкс). Для запоминания результатов преобразования используется либо режим прерываний (как правило, его удобно использовать при невысокой частоте работы АЦП), либо режим прямого доступа, не влияющий на работу собственно контроллера и позволяющий сохранять результаты преобразования во внешнем ОЗУ с адресуемым пространством 16 Мбайт. АЦП имеет очень хорошую точность (соотношение сигнал/шум 70 дБ, что соответствует реальному разрешению на уровне 11,5 разрядов) и высокую линейность (типовая интегральная нелинейность на уровне ±1/2 МЗР). Микросхема выпускается с заводской калибровкой под оптимальную производительность. При каждом включении источника питания микросхемы эти коэффициенты записываются в соответствующие регистры.
В большинстве приложений этих коэффициентов достаточно для хорошей работы системы, однако пользователь в процессе работы может перезаписать их для избавления от дополнительных системных ошибок. Более подробно о режимах калибровки написано в [2]. Все режимы работы АЦП определяются тремя регистрами управления, находящимися во внутренней памяти микроконтроллера. Результаты преобразования могут быть считаны из двух регистров, один из которых показывает номер канала мультиплексора и старшие 4 бита результата, а второй — младшие 8 бит результата.
Что касается ЦАП, они управляются одним регистром управления и четырьмя регистрами данных. Обновление информации на выходе ЦАПов может происходить отдельно для каждого из них, либо одновременно. Кроме того, каждый из них может быть сконфигурирован для работы либо в 12-разрядном, либо 8-разрядном режимах.
Микроконтроллер представляет собой «стандартное» ядро 8051 с максимальной рабочей частотой 16 МГц (12 МГц — типовая), тремя байтовыми портами ввода/вывода, один из которых, порт 3, обладает повышенной нагрузочной способностью, тремя 16-разрядными таймерами/счетчиками и расширенной периферией, которая будет описана ниже.
Блок памяти состоит из флэш-памяти программ объемом 8 кбайт, флэш-памяти данных объемом 640 байт и ОЗУ объемом 256 байт. Информация во внутреннюю флэш-память программ может быть записана как с любого внешнего программатора в «параллельном» режиме через порты микроконтроллера, так и непосредственно в системе в «последовательном» режиме через стандартный асинхронный последовательный порт. Подробное описание протокола и процедур программирования ADuC812 непосредственно в системе представлено в [3].
К блоку расширенной периферии можно отнести дополнительные аппаратные возможности микросхемы, отсутствующие в оригинальной архитектуре 8051. Это дополнительные последовательные порты, дающие микросхеме возможность работы в ставших стандартными 2-проводных и 3-проводных синхронных протоколах SPI и I2C.
Также микросхема дополнена двумя мониторами, один из которых следит за отсутствием «зависания» микроконтроллера, и в случае обнаружения оного вырабатывает сигнал сброса в начальное состояние, а второй следит за тем, чтобы напряжение источника питания не падало ниже определенного, задаваемого пользователем значения (от 2,6 до 4,6 В). Он позволяет в случае, близком к потере питания, сохранить содержимое внутренних регистров, запомнить свое состояние и возобновить работу только после восстановления питания.
В заключение необходимо отметить, что данная микросхема поддерживается инструментальными средствами (EVAL-ADuC812), состоящими из эволюционной платы, соединяемой с компьютером, комплектом программного обеспечения (полная версия Ассемблера и ограниченная (2 кбайта кода) версия С, программного симулятора, отладчика и последовательного загрузчика/программатора флэш-памяти), необходимой документации, блока питания и двух образцов микросхем.
AduC824 — микросхема для применения в индустриальных интеллектуальных датчиках
Структура новейшей микросхемы семейства представлена на рис. 2 [4]. Для краткости остановимся на отличительных чертах и характеристиках данной микросхемы.
Рис. 2. Структура микросхемы ADuC824
Итак, в аналоговой части вместо 8-канального 12-разрядного АЦП последовательных приближений применены два сигма-дельта АЦП. Один из них (основной канал), имеющий реальное разрешение более 19 разрядов при входном сигнале ±2,56 В, снабжен программируемым усилителем, позволяющим получить реальное 13-разрядное разрешение при входном сигнале ±20 мВ. Дополнительный канал характеризуется 16-разрядным разрешением. Кроме того, на кристалле имеются два согласованных (с разбросом не хуже 0,1 %) стабильных источника тока величиной 200 мкА, которые могут служить для запитки внешних датчиков.
Блок ЦАП состоит из одного прецизионного 12-разрядного ЦАП с вольтовым выходом, который может работать либо в 8-разрядном, либо в 12-разрядном режиме с диапазоном выходных сигналов от 0 до 2,5 В (при использовании внутреннего источника опорного напряжения), либо от 0 до напряжения источника питания на нагрузку до 10 кОм/100 пФ.
Еще одной отличительной особенностью данной микросхемы является ее малое энергопотребление (всего 3 мА при питании от 3-вольтового источника), что дает возможность ее реального использования в индустриальных приложениях с питанием от токовой петли. Это стало возможным за счет применения специального тактового генератора, позволяющего «завести» микросхему от стандартного резонатора частотой 32768 кГц.
Остальные части микросхемы и комплект инструментальных средств имеют практически ту же структуру и функции, что и у вышеописанной микросхемы ADuC812.
В заключение хочется отметить, что развитие семейства микросхем ADuC8хх на этом не заканчивается, и в ближайшем будущем следует ожидать появления новых микросхем с иными отличительными чертами.
Литература
- ADuC812 — MicroconverterФ, Multi-channel 12-bit ADC with Embedded Flash MCU, Rev.0, 5/99, Analog Devices (Справочный листок).
- ADuC812 Software ADC Calibration, MicroconverterФ Technical Note — uC005, Rev.1.0, 1/00, Analog Devices
- Understanding the Serial Download Protocol, MicroconverterФ Technical Note- uC004, Rev.1.0, 9/99, Aaanalog Devices.
- ADuC824 — MicroconverterФ, Dual-channel 16 & 24-bit ADCs with Embedded MCU, Rev.Pr.B, 9/99, (Preliminary Technical Data), Analog Devices (Предварительный справочный листок).