Работа схемы АЦП последовательного приближения (рис. 2.2) заслуживает более подробного описания, так как именно благодаря ей появился этот тип компонентов.
Рис 2.2. Функциональная схема АЦП последовательного приближения с коммутируемой матрицей конденсаторов
Основой функциональной схемы является коммутируемая матрица конденсаторов. Значение каждого бита данных определяется пороговым детектором в зависимости от величины заряда каждого из весовых конденсаторов, составляющих матрицу АЦП. Рис. 2.2 соответствует десятиразрядному АЦП. По рисунку видно, что число конденсаторов, содержащихся в матрице, должно быть на единицу больше, чем число разрядов. Относительный вес каждой цепи матрицы конденсаторов определяется в соответствии с последовательностью степеней числа два, т. е. от 1 до 512 для десятиразрядного АЦП.
В начале цикла преобразования логическое управляющее устройство замыкает все ключи ST и Sc, вследствие чего все конденсаторы одновременно заряжаются до уровня входного напряжения Vi (режим выборки). Затем все ключи размыкаются (режим хранения), и пороговый детектор начинает формировать биты данных, сравнивая напряжение REF- с напряжениями на каждом из конденсаторов матрицы.
Первым обрабатывается напряжение на конденсаторе, установленном в цепи матрицы с максимальным весом (в данном случае — вес 512). Для этого узел 512 подключается к источнику напряжения REF+, а все остальные узлы подключаются к REF-. Если напряжение в суммирующей точке больше порога срабатывания детектора, примерно равного VCC/2, то бит данных устанавливается в нулевое состояние, а узел 512 подключается к источнику напряжения REF-. В противном случае, если напряжение в суммирующей точке меньше порога, бит данных устанавливается в единичное состояние, а узел 512 подключается к источнику REF+ до завершения процесса преобразования. Та же последовательность операций повторяется для цепи с весом 256, потом с весом 128 — и так до тех пор, пока не будет определено значение каждого разряда регистр» данных.
Следует помнить, что n-разрядный АЦП может сформировать лишь 2n различных двоичных кодовых слов (256 для 8 разрядов, 1024 для 10 разрядов, 4096 для 12 разрядов и т. д.). Разница между двумя соседними кодовыми словами соответствует аналоговому весу младшего значащего разряда (МЗР, или LSB в иностранной литературе). Изменение входного напряжения на величину, меньшую по сравнению с этой разницей, может быть не отражено в выходных данных. Некоторые преобразователи, кроме того, вносят дополнительную погрешность и формируют результат с точностью до одного или даже до двух МЗР. Такая дискретность результатов преобразования является следствием характерной для АЦП передаточной характеристики в виде «ступеньки» (рис. 2.3 (а)).
Совершенно очевидно, что в этом случае, так же как при любом другом процессе аналого-цифрового преобразования, полученный результат содержит некоторую ошибку, называемую ошибкой квантования. Причины ее возникновения поясняются в графике, приведенном на рис. 2.3 (б).
Ошибка квантования возникает в результате замены истинной величины отсчета входного сигнала ее дискретным эквивалентом в виде выходного кода и определяется как разность между графиками ступенчатой передаточной характеристики и идеальной прямой. Максимальная величина ошибки для передаточной характеристики, приведенной на рис. 2.3 (а), равна половине величины шага квантования (половине аналогового веса МЗР).
Рис. 2.3. Передаточная характеристике АЦП и таблица кодов преобразования
Важно учитывать эту особенность, которая, если взять для примера 8-разрядный АЦП с полной шкалой 5 В, проявляется в неизбежной погрешности преобразования величиной до 20 мВ. И хотя эта величина составляет лишь 0,4 %, ее следует принимать во внимание.
8-РАЗРЯДНЫЙ АЦП С ПОСЛЕДОВАТЕЛЬНЫМ ИНТЕРФЕЙСОМ
8-разрядные последовательные АЦП являются и самыми дешевыми, и самыми простыми в применении. При условии, что они работают в последней трети своей полной шкалы (что можно обеспечить при помощи предварительного усилителя со смещением), их разрешение с точностью 1/256 вполне соответствует точности, требуемой во многих приложениях виртуального измерительного комплекса.
Компоненты такого типа предлагают многие производители, но до какой-либо стандартизации и унификации в этой области еще очень далеко. Расположение выводов и протоколы связи у разных типов подобных АЦП различны. Возможно, изготовители делают это для того, чтобы затруднить замену компонентов на изделия конкурентов.
8-разрядный последовательный АЦП, который будет использоваться в примерах, был выбран, с одной стороны, ввиду его широкого распространения и вполне приемлемой цены, а с другой стороны, ввиду того, что существуют 10- и 12-разрядные модели, полностью совместимые с ним по расположению выводов. При случае это может упростить проблему модернизации печатных плат.
На рис. 2.4 приведена схема расположения выводов АЦП TLC 549 фирмы Texas Instruments. Именно эта модель будет рассмотрена ниже в ее практическом применении.
Рис 2.4. Расположение выводов аналого-цифрового преобразователя TLC 549
Этот АЦП имеет только один аналоговый вход (ANALOG IN) и два входа для подключения опорного напряжения (REF+ и REF-). Вторым аналоговым входом можно считать общий вывод GND. Если вывод REF- также подключить к общему проводу, АЦП будет формировать байт выходного кода, равный 00000000, при нулевом напряжении на аналоговом входе, и 11111111 — при входном напряжении, равном опорному напряжению, приложенному к выводу REF+.
Протокол связи этого АЦП достаточно прост, его временные диаграммы приведены на рис. 2.5.
Рис. 2.5. Протокол связи АЦП TLC 549
При переходе сигнала на выводе /CS от высокого к низкому уровню в регистр вывода данных помещается результат предыдущего преобразования. Поэтому рекомендуется выполнить «пустое преобразование» сразу после включения устройства или в случае выполнения двух преобразований, разделенных достаточно продолжительным интервалом времени.
Первое считанное значение выходного кода в этих случаях будет неверным. Следующее преобразование будет правильным, оно начнется по первому переднему фронту импульса, поступившего на вывод /CS после низкого уровня. Важно, чтобы на выводе /CS был высокий уровень в течение всего времени преобразования, но, поскольку этот процесс длится всего несколько десятков микросекунд, данное условие можно считать автоматически выполняемым, если АЦП управляется процессором с программой, написанной на существенно менее быстром языке, чем Assembler.
Каждый бит выходных данных может быть считан на выводе DATA OUT, причем биты выводятся старшими разрядами вперед по переднему фронту импульсов на выводе I/O CLOCK.
Одно из преимуществ этого АЦП состоит в том, что он может работать с любой частотой дискретизации, определяемой управляющей системой — от одного измерения за несколько часов до более двадцати тысяч измерений в секунду.
10-РАЗРЯДНЫЙ АЦП С ПОСЛЕДОВАТЕЛЬНЫМ ИНТЕРФЕЙСОМ
Разрешение в 10 бит — это своеобразный компромисс между 8- и 12-разрядными устройствами, позволяющий устранить проблемы, связанные с недостаточной в некоторых случаях точностью, равно как и со сложностью в изготовлении и настройке.