МИКРОКОНВЕРТЕРЫ — ИНТЕЛЛЕКТУАЛЬНЫЕ АЦП И ЦАП

Фирма Analog Devices является признанным мировым лидером в производстве широкого спектра датчиков, в том числе и интеллектуальных, разнообразных микросхем аналого-цифрового и цифро-аналогово преобразования, средств цифровой обработки данных. В 1999 г. фирма Analog Devices начала серийный выпуск новых приборов — микроконвертеров, сочетающих в себе возможности высокоточного аналогового ввода/вывода, предварительной обработки данных и организации сетей сбора информации от датчиков. Настоящая статья знакомит с архитектурой и характеристиками микроконвертеров, которые могут найти широкое применение в измерительных и других приборах.
Микросхемы ADuC812, ADuC824, ADuC816, ADuC812SO относятся к новому классу приборов — микроконвертерам. На кристалле микроконвертеров интегрированы высокоточные аналогоцифровые и цифроаналоговые преобразователи, температурный датчик для измерения температуры окружающей среды, контроллер 8052 (вычислительное ядро совместимо с контроллером 8051), в состав которого включены периферийные микроконтроллеры, позволяющие реализовать гибкие связи с "внешним миром". Уникальные возможности аналогового ввода/вывода данных, наличие средств предварительной обработки данных, малая мощность потребления определяют основные области применения микроконвертеров — сети сбора информации датчиков, устройства со встроенным питанием для контроля параметров технологических процессов, переносные измерительные приборы, медицинское и другое оборудование. Кроме ADuC812, серийный выпуск которого начался в 1999 г., фирма Analog Devices планирует в ближайшее время освоить производство ADuC824 и ADuC816 с двумя аналого-цифровыми преобразователями и дешевого ADuC812SO с 10-разрядным аналого-цифровым преобразователем. ADuC812 входят: 12-разрядный аналого-цифровой преобразователь, два цифро-аналоговых преобразователя, температурный датчик, контроллер.
Аналого-цифровой преобразователь (АЦП) в составе микроконвертера реализован на базе АЦП AD7853 и представляет 8-канальный 12-разрядный АЦП с максимальной частотой преобразования 200 кГц, включающий входной 9-канальный мультиплексор, усилитель выборки и хранения (УВХ), источник эталонного напряжения с выходным напряжением (2.50 ± 0.05) В. АЦП работает по принципу поразрядного уравновешивания с использованием в цепи обратной связи цифро-аналогового преобразователя, реализованного на коммутируемых конденсаторах. На один из входов АЦП подключен внутренний температурный датчик, контролирующий температуру окружающей среды. Коэффициент преобразования датчика составляет 3 мВ/°С. Кроме внутреннего источника эталонного напряжения может быть использован внешний с выходным напряжением от 2.3 В до напряжения источника питания.
АЦП может работать в режиме однократных и многократных преобразований. Переключение режимов работы АЦП выполняется программно. Для инициализации преобразования АЦП служит сигнал, подключаемый к внешнему выводу (CONVST) или сигнал одного из встроенных таймеров.
Встроенный в АЦП контроллер прямого доступа к памяти (DMA) выполняет пересылки данных преобразования из АЦП во внешнюю память данных без участия вычислительного ядра контроллера, что значительно увеличивает скорость пересылки данных из АЦП, так как пересылки в программном режиме не всегда могут выполняться со скоростью преобразования АЦП (200 кГц) из-за больших временных затрат на обслуживание прерываний от АЦП. Контроллер DMA обеспечивает пересылки блоков данных во внешнюю память размером до 16 Мбайт.
При производстве АЦП калибруется, а коэффициенты, корректирующие передаточную характеристику, записываются во встроенную флэш-память. После включения питания значения этих коэффициентов загружаются в управляющие регистры АЦП. Кроме этого, в случае необходимости пользователь может изменить значения этих коэффициентов, минимизируя таким образом ошибки, возникающие в процессе работы реальной системы. 12-разрядные данные преобразования АЦП сопровождаются четырьмя разрядами, которые кодируют номер входного канала АЦП.
Цифро-аналоговый преобразователь (ЦАП) в составе микроконвертера — два независимых 12-разрядных ЦАП с выходом по напряжению. Выходное сопротивление буферного усилителя составляет 0.5 Ом.
Контроллер состоит из 8-разрядного вычислительного ядра, встроенной памяти программ и данных, трех 16-разрядных таймеров/счетчиков, "сторожевого" таймера, монитора источника питания и периферийных микроконтроллеров, реализующих три типа внешних интерфейсов. Максимальная тактовая частота контроллера составляет 16 МГц. Длительность машинного цикла в 12 раз меньше длительности периода тактовой частоты, таким образом максимальная производительность контроллера составляет 1.33 MIPS.  Так как контроллер изготовлен по статической КМОП технологии, его работоспособность не нарушается при значительном снижении тактовой частоты, что, в свою очередь, позволяет резко уменьшить ток потребления. Контроллер имеет 32 программируемых входа/выхода, в том числе четыре 8-разрядных порта, из которых порт 3 (Р3) обладает высокой нагрузочной способностью. Встроенный контроллер прерываний обрабатывает с двумя уровнями приоритетов прерывания от девяти источников.
Вычислительное ядро контроллера совместимо по набору команд с семейством 8051.
Память. Контроллер ADuC812 может адресоваться к встроенной и внешней памяти. Встроенная память — флэш-память (8 Кбайт память программ, 640 байт память данных) и RAM-память (256 байт память данных). Встроенная флэш-память может программироваться пользователем. Предусмотрено два режима передачи данных при программировании — последовательный и параллельный. В первом программирование выполняется с помощью начального загрузчика через UART-порт. При необходимости программирование инициализируется автоматически после включения питания. Этот режим используется при программировании ADuC812 с применением персонального компьютера. Во втором режиме программирование выполняется с помощью стандартного программатора. Напряжение 12 В, необходимое для программирования флэшпамяти, формируется встроенными схемами ADuC812 и внешний источник не требуется.
Адресуемая внешняя память — 16 Мбайт данных и 64 кбайт программ. Обмен с внешней памятью осуществляется по внешней 8-разрядной шине данных (порт 0 ) и 16 или 24-разрядной шине адреса (порт 0 и порт 2). Шины данных и адреса мультиплексируемые. Разряды адреса 0…7 всегда передаются через порт 0. В случае обращения к памяти программ разряды адреса 8…15 передаются через порт 2. При обращении к памяти данных разряды адреса 16…23 передаются через порт 2 в фазе адресации, которая стробируется сигналом ALE, а в фазе передачи данных через порт 2 передаются разряды адреса 8…15. При обмене с внешней памятью требуется запоминать адрес во внешних буферных регистрах.
Контроллер прерываний обрабатывает прерывания от девяти источников: монитора источника питания, АЦП (конец преобразования), трех таймеров, двух внешних источников (INT0, INT1), UART-порта, интерфейса SPI/I2C. Предусмотрено два уровня приоритетов для прерываний от каждого источника. Внутри одного уровня прерываниям присвоен фиксированный приоритет.
Таймеры. ADuC812 имеет три 16-разрядных таймера/счетчика. Каждый таймер состоит из двух 8-разрядных регистров и может работать в режиме таймера или счетчика. Таймеры 0 и 1 генерируют прерывания в случае переполнения. Предусмотрены три входа (Т0, Т1, Т2) для внешних тактовых импульсов, подаваемых на таймеры.
Монитор источника питания генерирует прерывание, если напряжение питания аналоговых или цифровых схем уменьшается ниже заданных пользователем значений. Внутри диапазона (2.6 … 4.6 В) задаваемых значений предусмотрена возможность выбора одного из пяти значений напряжения. Флаг прерывания не сбрасывается в течение 256 мс после того, как напряжение питания возвратится к своему прежнему значению. Прерывание от монитора источника питания используется для сохранения содержимого рабочих регистров, чтобы избежать потери важной информации. После восстановления питания ADuC812 может продолжать прерванную работу.
"Сторожевой" таймер используется для формирования внутреннего сигнала сброса при "зависании" программы или других программных либо аппаратных ошибках. Тактовая частота "сторожевого" таймера составляет 64 кГц. Длительность контролируемого интервала находится в диапазоне от 16 до 204 мс.
Параллельные порты. Четыре 8-разрядных порта общего назначения предназначены для обмена данными с внешними устройствами. Порты 0, 2 и 3 являются двунаправленными. Все порты содержат выходной регистр — "защелку" и входной буфер. Порт 1 работает только на прием данных (входной порт). Выводы портов 0, 2 и 3 можно независимо друг от друга программно конфигурировать как цифровые входы или выходы.
Последовательные порты. Встроенные периферийные микроконтроллеры реализуют три типа интерфейсов: UART, SPI, I2C.
UART-порт обеспечивает полнодуплексный асинхронный прием/передачу данных и полностью совместим со стандартным интерфейсом UART. Прием данных в последовательном формате осуществляется через дополнительный буферный регистр, что позволяет принимать непрерывный поток данных. Работа UART-порта управляется программно. Предусмотрено четыре режима работы. Прием и передача данных выполняются соответственно через выводы порта R×D (P3.0) и T×D (P3.1).
SPI (Serial Peripheral Interface) является промышленным стандартом на синхронный прием/передачу данных, позволяющим одновременно передавать и принимать байт данных. SPI может быть конфигурирован на работу в режиме ведущего или подчиненного.