12.2 Последовательный интерфейс микросхемы АЦП ADS1210
Последовательный интерфейс микросхемы АЦП ADS1210 может работать в двух основных режимах:
1) режим ведомого устройства;
2) режим ведущего устройства (в данной лекции не рассматривается
Режим ведомого устройства предполагает работу АЦП под управлением внешнего микроконтроллера или другого вычислительного устройства.
В режиме ведущего устройства АЦП можно использовать совместно с пассивными модулями (индикаторы, ИС памяти) в составе измерительных приборов.
Режим ведомого устройства. Задается уровнем «0» на входе MODE.
Минимальный набор сигналов – линии SDIO и SCLK. Но в таком режиме очень сложный протокол обмена между АЦП и МК.
На практике используют полный набор сигналов для обмена данными и командами между МК и АЦП – используют линии SCLK, SDIO, SDOUT, . Пример схемы подключения АЦП к микроконтроллеру группы MCS-51 показан на рис. 4.3.
Рисунок 4.3 – Пример схемы использования АЦП ADS1210
Линии SDOUT и SDIN используют для передачи и приема данных.
Линия SCLK использована для синхронизации передачи.
Низкий уровень на линии указывает на готовность данных в буфере АЦП. Низким уровнем на линии микроконтроллер может инициировать начало преобразования в АЦП.
Входной аналоговый сигнал подается на линии AINP и AINN в дифференциальном виде. При использовании однополярного входа вывод AINN соединяют с аналоговой землей (выходной код формируется в формате «целое беззнаковое») или с выходом источника опорного напряжения 2.5В (выходной код формируется в формате «целое со знаком»).
При работе АЦП в режиме ведущего устройства используют стандартизированный протокол последовательной передачи данных SPI. Важно, что со стороны микроконтроллера этот протокол можно реализовать как аппаратно (при наличии соответствующего блока в составе МК), так и программно. МК настраивается на режим Master, CPOL=0, CPHA=1.
Программно-логический интерфейс АЦП реализован как набор из пяти регистров:
· INSR (Instruction Register) — регистр инструкций (8 бит);
· DOR (Data Output Register) — регистр выдачи данных (24 бита);
· CMR (Command Register) — регистр команд (32 бита);
· OCR (Offset Calibration Register) — регистр калибровки смещения (24 бита);
· FCR (Full-Scale Calibration Register) — регистр общей калибровки (24 бита).
Эти регистры формируют массив байт с адресами: 0x00 — 0x0E.
Регистр инструкций INSR управляет чтением и записью данных через последовательный интерфейс. Запись байта в этот регистр инициирует процедуру чтения или записи нескольких (от одного до четырех) байтов информации по заданному адресу.
Регистр команд CMR настраивает АЦП. Запись определенных двоичных кодов в этот регистр позволяет управлять всеми функциями АЦП (источниками опорного и смещающего напряжений, форматами данных, порядком передачи битов, текущим режимом работы АЦП, коэффициентами усиления для PGA):
Регистр DOR содержит результат предыдущего преобразования.
Регистры OCF и FCR содержат коэффициенты, которые были получены в результате операций калибровки АЦП.
4.2 Принципы использования ЦАП с последовательным интерфейсом
4.2 Принципы использования ЦАП с последовательным интерфейсом
Применение ЦАП с последовательным интерфейсом позволяет уменьшить количество линий при подключении ЦАП к микроконтроллеру.
Кроме того, использование таких ЦАП позволяет разработчикам микросхемы разместить несколько преобразователей в одном корпусе без существенного увеличения количества выводов микросхемы.
В качестве примера рассмотрим ЦАП фирмы Texas Instruments (Burr-Brown) DAC7512. Эта микросхема является 12-битовым последовательным ЦАП, построенным по схеме «цепь резисторов».
Структурная схема ЦАП показана на рис. 4.4. Цифровой код передается на ЦАП от микроконтроллера по протоколу SPI (выводы , SCLK, DIN). Выходное напряжение ЦАП снимается с выхода VOUT.
Вывод VDD одновременно является линией питания схемы и входом для опорного напряжения преобразователя. Вывод GND подключается к «общему» проводу схемы.
Пример схемы совместного использования ЦАП DAC7512 с микроконтроллером MCS-51 показан на рис. 4.5.
Рисунок 4.4 – Структурная схема ЦАП DAC7512
Для передачи данных на ЦАП последовательный интерфейс SPI микроконтроллера нужно перевести в такой режим: Master, MSB, CPOL=0, CPHA=1.
Передача битов данных в интервале времени, когда присутствует низкий уровень сигнала разрешения . Каждый бит данных на линии DIN должен сопровождаться срезом очередного тактового импульса на линии синхронизации SCLK. Так передаются 16 битов данных, четыре старшие из которых – холостые.
Рисунок 4.5 — Схема использования ЦАП DAC7512 с МК MCS-51
Пример программы для микроконтроллера MCS-51 на языке Assembler, которая выполняет передачу цифрового кода на ЦАП, представлен ниже. Подпрограмма получает двухбайтовое число для передачи через пару регистров (R1:R0).
DAC_Out: ; Настройка канала SPIчерез регистр SPCR
mov SPCR,#01010100b ; БитыSPE=1, MSTR=1, CPHA=1
movSPDR,R1 ; Запись старшего байта цифрового кода в ЦАП
mH: jnbSPIF,mH ; Ожидание завершения передачи по биту SPIF
clr SPIF
movSPDR,R0 ; Запись младшего байта цифрового кода в ЦАП
mL: jnbSPIF,mL ; Ожидание завершения передачи по биту SPIF
clrSPIF
Использованные в примере регистры входят в состав МК MCS-51 серии AT89S: регистр SPCR обеспечивает настройку канала SPI, а регистр SPDR служит для передачи данных. Подробно об интерфейсе SPI можно прочитать в 1-й части пособия «Микроконтроллерные системы: структуры и практическое применение».
|