Печать

PCF8591 - АЦП и ЦАП в одном

Автор: AntonChip Опубликовано . Опубликовано в Программирование на Си

Рейтинг:   / 3
ПлохоОтлично 

Микросхема PCF8591 обладает следующими возможностями:

- единственный источник питающего напряжения;
- сохранение работоспособности в диапазоне питающих напря­жений от 2,5 до 6 В;
- низкий ток потребления;
- три вывода задания slave-адреса;
- четыре аналоговых входа с возможностью программирования включения (прямое и дифференциальное);
- использование A/D преобразования с последовательным при­ближением и 8-разрядным диапазоном чисел;
- мультиплексированный D/A преобразователь с одним аналого­вым выходом.

Данная микросхема выполнена по технологии КМОП, имеет 4 аналоговых входа и 1 аналоговый выход, управляемые посредством задания данных на шине I2C. Биты А2...А0 в slave-адресе микросхемы задаются внешними сигналами по традиционному способу: подключением соответствующих выводов либо к общему проводу, либо к напряжению питания. Это позволяет использовать до 8 однотипных микросхем. В составе PCF8591 имеется только один A/D преобразователь, но использование методов мультиплексирования расширяет входные возможности микросхемы. Вход АЦП последовательно подключается к 4 сигнальным входам, и происходит считывание информации с них. К сожалению, мультиплексирование нельзя использовать для D/A преобразования, поэтому аналоговый выход только один. Максимальная скорость преобразования данных ограничена максимальным быстродействием шины I2C.

Расположение выводов микросхемы PCF8591

Рисунок 1. Расположение выводов микросхемы PCF8591

Рисунок 2. Блок-схема, отражающая внутреннее устройство и взаимодействие элементов микросхемы

Таблица 1. Назначение выводов PCF8591

Символ Вывод Описание
AIN0 1  Аналоговый вход (A/D)
AIN1 2  Аналоговый вход (A/D)
AIN2 3  Аналоговый вход (A/D)
AIN3 4  Аналоговый вход (A/D)
А0 5  Адресный вход 0
A1 6  Адресный вход 1
A2 7  Адресный вход 2
Vss 8  Общий провод микросхемы (питание)
SDA 9  Линия SDA шины I2C
SCL 10  Линия SCL шины I2C
OSC 11  Вывод подключения внешнего генератора
EXT 12  Внешний/внутренний генератор
AGND 13  Аналоговая «земля»
Vref 14  Опорное напряжение
AOUT 15  Аналоговый выход (D/A)
Vdd 16  Напряжение питания«+»

Slave-адрес микросхемы задается, как показано на рис.3. Он содержит фиксированную часть (биты 7...4) и изменяемую часть (биты 3...1). Бит 0, как всегда, несет в себе признак «R/W» (чтение/запись).

 

Рисунок 3. Slave-адрес микросхемы

Второй байт, следующий за slave-адресом, носит название байта контроля и управления. Этот байт конфигурирует микросхему под задачи пользователя. Во-первых, с его помощью можно включить аналоговый выход или отключить его. Во-вторых, возможно настро­ить аналоговые входы как в прямом, так и в дифференциальном включении. В-третьих, возможна установка (двумя битами) номера канала A/D, в котором будет происходить преобразование. Если ус­тановлен флаг автоинкремента, после каждого A/D преобразования номер входного канала будет увеличиваться на единицу. Режим ав­тоинкремента наиболее рационально использовать совместно с внут­ренним генератором, поскольку в таком режиме он будет работать непрерывно. Как сказано в документации, задержка пуска генератора при переключении каналов ведет к ошибкам преобразования данных. Рекомендуется также отключать аналоговый выход (переводить его в Z-состояние), если он не используется. Эта мера позволит сократить ток потребления микросхемы. На рис. 4 показаны возможные со­стояния байта контроля и управления.

Рисунок 4. Со­стояния байта контроля и управления

D/A преобразование

Третий байт, который должна получать микросхема PCF8591, - это байт данных для цифроаналогового преобразователя. Естественно, в этом случае в байте контроля и управления (рис. 4) должен быть активизирован аналоговый выход.

Физически D/A преобразователь состоит из резисторной матрицы, показанной на рис. 5. Точки соединения резисторов образуют ответвления, которые с помощью переключателей связываются с выходной линией. Управляет схемой декодер ответвлений. Выходное напряжение (L)AC out) подается затем на усилитель с автоматаческой балансировкой нуля (auto-zeroed unity gain amplifier). Этот усилитель может быть либо включен (через байт контроля и управления), либо переведен в высокоимпедансное (2) состояние выхода.

Рисунок 5. D/A преобразователь

Важно отметить, что D/A преобразователь используется также в процедуре A/D преобразования по методу последовательного приближения. Данный метод подробно описан в литературе, и возвращаться к нему в рамках этой книги нет смысла.

Рисунок 6. Процедура D/A преобразования

Процедура D/A преобразования показана на рис. 6. Любая точка на графике в диапазоне 00h...FFh может быть определена по формуле:

где VA0UT — выходное напряжение D/A преобразователя; VREF — опорное напряжение; VAGND — потенциал аналоговой «земли»; D - соответствующий разряд байта данных.

Обратите внимание также на рис. 7. Возможна работа с микросхемой посредством передачи цепочки байтов данных, следующих один за другим. Уровень напряжения, соответствующий заданному, появляется на выходе в момент выдачи сигнала АСК. В момент выдачи сигнала АСК, подтверждающего прием байта контроля и управления (рис. 4) на выходе микросхемы, появляются данные, содержащиеся в регистре DAC с момента окончания предыдущего цикла работы микросхемы.

Рисунок 7.

A/D преобразование

Чтобы выполнить A/D преобразование, вначале нужно передать байт контроля и управления с признаком R/W = 0. Затем осуществить считывание данных согласно рис. 8.

A/D преобразование

Рисунок 8. A/D преобразование

Важно отметить, что считывание сигнала с аналогового входа и передача цифровых данных на шину ГС происходит по сигналу АСК. Причем момент считывания аналогового сигнала и момент начала передачи цифрового сигнала (точнее, его старшего бита) разнесены во времени, как показано на рис. 8.

Как уже было сказано ранее, входы микросхемы могут работать в обычном и дифференциальном режимах. График, отражающий рабо­ту микросхемы в обычном режиме, приведен на рис. 9, дифференциальный режим показан на рис. 10.

Обычный режим измерения

Рисунок 9. Обычный режим измерения

Дифференциальный режим измерения

Рисунок 10. Дифференциальный режим измерения

Чтобы обеспечить стабильность A/D и D/A преобразований, необходим специальный источник опорного напряжения, подключаемый к выводам Vref и AGND микросхемы. Встроенный генератор не­обходим для обеспечения цикла преобразования A/D и для корректировки буферного усилителя с автоматической подстройкой нуля.

Чтобы задействовать внутренний генератор, вывод ЕХТ должен быть замкнут к Vss. Тогда на выводе OSC появится сигнал частоты преобразования, который можно проконтролировать. Если вывод ЕХТ подключить к VDD, внугренний генератор перейдет в высокоимпедансное состояние и на вывод OSC можно подавать сигнал от внешнего генератора.

Литература:
Б. Ю. Семенов, «ШИНА I2C В РАДИОТЕХНИЧЕСКИХ КОНСТРУКЦИЯХ»

Tags: PCF8591 > АЦП > ЦАП > I2C > ADC > DAC

Рекомендуем посмотреть