Что такое цап и ацп
Перейти к содержимому

Что такое цап и ацп

  • автор:

 

Новиков Основы цифровой схемотехники (ЛЕКЦИИ) / Лекция 13 ЦАП и АЦП

В лекции рассматриваются принципы работы аналого-цифровых и цифро-аналоговых преобразователей, о типах микросхем ЦАП и АЦП, их алгоритмах работы, параметрах, типовых схемах включения, а также о способах реализации на их основе некоторых часто встречающихся функций.

Как уже отмечалось во второй лекции, цифро-аналоговые преобразователи (ЦАП, DAC — «Digital-to-Analog Converter») и аналого-цифровые преобразователи (АЦП, ADC — «Analog-to-Digital Converter») главным образом применяются для сопряжения цифровых устройств и систем с внешними аналоговыми сигналами, с реальным миром. При этом АЦП преобразует аналоговые сигналы во входные цифровые сигналы, поступающие на цифровые устройства для дальнейшей обработки или хранения, а ЦАП преобразует выходные цифровые сигналы цифровых устройств в аналоговые сигналы (см.рис. 2.12).

ЦАП и АЦП применяются в измерительной технике (цифровые осциллографы, вольтметры, генераторы сигналов и т.д.), в бытовой аппаратуре (телевизоры, музыкальные центры, автомобильная электроника и т.д.), в компьютерной технике (ввод и вывод звука в компьютерах, видеомониторы, принтеры и т.д.), в медицинской технике, в радиолокационных устройствах, в телефонии и во многих других областях. Применение ЦАП и АЦП постоянно расширяется по мере перехода от аналоговых к цифровым устройствам.

В качестве ЦАП и АЦП обычно применяются специализированные микросхемы, выпускаемые многими отечественными и зарубежными фирмами.

Сразу же надо отметить, что для грамотного и профессионального использования микросхем ЦАП и АЦП совершенно не достаточно знания цифровой схемотехники. Эти микросхемы относятся к аналого-цифровым, поэтому они требуют также знания аналоговой схемотехники, существенно отличающейся от цифровой. Практическое применение ЦАП и АЦП требует расчета аналоговых цепей, учета многочисленных погрешностей преобразования (как статических, так и динамических), знания характеристик и особенностей аналоговых микросхем (в первую очередь, операционных усилителей) и многого другого, что далеко выходит за рамки этой книги. Существует обширная литература, специально посвященная именно вопросам применения ЦАП и АЦП. Поэтому в данной лекции мы не будем говорить о специфике выбора и принципах включения конкретных микросхем ЦАП и АЦП мы будем рассматривать только основные особенности методов соединения ЦАП и АЦП с цифровыми узлами. Нас будет в первую очередь интересовать организация цифровых узлов, предназначенных для соединения с ЦАП и АЦП.

В общем случае микросхему ЦАП можно представить в виде блока (рис. 13.1), имеющего несколько цифровых входов и один аналоговый вход, а также аналоговый выход.

Рис. 13.1. Микросхема ЦАП

На цифровые входы ЦАП подается n-разрядный код N, на аналоговый вход — опорное напряжение Uоп (другое распространенное обозначение — UREF). Выходным сигналом является напряжение Uвых (другое обозначение — UO) или ток Iвых (другое обозначение — IO). При этом выходной ток или выходное напряжение пропорциональны входному коду и опорному напряжению. Для некоторых микросхем опорное напряжение должно иметь строго заданный уровень, для других допускается менять его значение в широких пределах, в том числе и изменять его полярность (положительную на отрицательную и наоборот). ЦАП с большим диапазоном изменения опорного напряжения называется умножающим ЦАП, так как его можно легко использовать для умножения входного кода на любое опорное напряжение.

Кроме информационных сигналов, микросхемы ЦАП требуют также подключения одного или двух источников питания и общего провода. Обычно цифровые входы ЦАП обеспечивают совместимость со стандартными выходами микросхем ТТЛ.

Чаще всего в случае, если ЦАП имеет токовый выход, его выходной ток преобразуется в выходное напряжение с помощью внешнего операционного усилителя и встроенного в ЦАП резистора RОС, один из выводов которого выведен на внешний вывод микросхемы (рис. 13.2). Поэтому, если не оговорено иное, мы будем в дальнейшем считать, что выходной сигнал ЦАП — напряжение UO.

Рис. 13.2. Преобразование выходного тока ЦАП в выходное напряжение

Суть преобразования входного цифрового кода в выходной аналоговый сигнал довольно проста. Она состоит в суммировании нескольких токов (по числу разрядов входного кода), каждый последующий из которых вдвое больше предыдущего. Для получения этих токов используются или транзисторные источники тока, или резистивные матрицы, коммутируемые транзисторными ключами.

В качестве примера на рис. 13.3 показано 4-разрядное (n = 4) цифро-аналоговое преобразование на основе резистивной матрицы R–2R и ключей (в реальности используются ключи на основе транзисторов). Правому положению ключа соответствует единица в данном разряде входного кода N (разряды D0…D3). Операционный усилитель может быть как встроенным (в случае ЦАП с выходом по напряжению), так и внешним (в случае ЦАП с выходом по току).

Рис. 13.3. 4-разрядное цифро-аналоговое преобразование

Первым (левым по рисунку) ключом коммутируется ток величиной UREF/2R, вторым ключом — ток UREF/4R, третьим — ток UREF/8R, четвертым — ток UREF/16R. То есть токи, коммутируемые соседними ключами, различаются вдвое, как и веса разрядов двоичного кода. Токи, коммутируемые всеми ключами, суммируются и преобразуются в выходное напряжение с помощью операционного усилителя с сопротивлением RОС=R в цепи отрицательной обратной связи.

При правом положении каждого ключа (единица в соответствующем разряде входного кода ЦАП) ток, коммутируемый этим ключом, поступает на суммирование. При левом положении ключа (нуль в соответствующем разряде входного кода ЦАП) ток, коммутируемый этим ключом, на суммирование не поступает.

Суммарный ток IO от всех ключей создает на выходе операционного усилителя напряжение UO=IO RОС=IOR. То есть вклад первого ключа (старшего разряда кода) в выходное напряжение составляет UREF/2, второго — UREF/4, третьего — UREF/8, четвертого — UREF/16. Таким образом, при входном коде N = 0000 выходное напряжение схемы будет нулевым, а при входном коде N = 1111 оно будет равно –15UREF/16.

В общем случае выходное напряжение ЦАП при RОС = R будет связано со входным кодом N и опорным напряжением UREF простой формулой

где n — количество разрядов входного кода. Знак минус получается из-за инверсии сигнала операционным усилителем. Эту связь можно проиллюстрировать также табл. 13.1.

Таблица 13.1. Преобразование ЦАП в однополярном режиме

Входной код N

Выходное напряжение UВЫХ

Некоторые микросхемы ЦАП предусматривают возможность работы в биполярном режиме, при котором выходное напряжение изменяется не от нуля до UREF, а от –UREF до +UREF. При этом выходной сигнал ЦАП UВЫХ умножается на 2 и сдвигается на величину UREF. Связь между входным кодом N и выходным напряжением UВЫХ будет следующей:

Это можно проиллюстрировать табл. 13.2. Такое биполярное преобразование при возможности смены знака опорного напряжения называется также четырехквадрантным умножением (То есть и опорное, и выходное напряжения могут быть в данном случае как положительными, так и отрицательными).

Таблица 13.2. Преобразование ЦАП в биполярном режиме

Входной код N

Выходное напряжение UВЫХ

Микросхемы ЦАП, имеющиеся на рынке, различаются количеством разрядов (от 8 до 24), величиной задержки преобразования (от единиц наносекунд до единиц микросекунд), допустимой величиной опорного напряжения (обычно — единицы вольт), величинами погрешностей преобразования и другими параметрами. Различаются они также технологией изготовления и особенностями внутренней структуры, что нередко накладывает ограничения на их использование. Поэтому выбирать микросхему ЦАП для конкретного применения необходимо с использованием подробной справочной информации, предоставляемой фирмами-изготовителями. Мы же будем говорить только об общих принципах включения ЦАП в цифровые схемы без учета их частных особенностей.

Иногда бывает необходимо уменьшить количество разрядов ЦАП. Для этого нужно подать сигналы логического нуля на нужное число младших разрядов ЦАП (но никак не старших разрядов). На рис. 13.4 показано, как из 10-разрядного ЦАП можно сделать 8-разрядный, подав нули на два младших разряда. Увеличение количества разрядов ЦАП представляет собой гораздо более сложную задачу, требующую построения сложных аналоговых схем, поэтому оно встречается довольно редко. Значительно проще подобрать микросхему с нужным или с большим, чем нужно, количеством разрядов.

Рис. 13.4. Уменьшение разрядности ЦАП

Рис. 13.5. Преобразование последовательности кодов в выходное напряжение

Основное применение микросхем ЦАП состоит в получении аналогового сигнала из последовательности цифровых кодов (рис. 13.5). Как правило, коды подаются на входы ЦАП через параллельный регистр, что позволяет обеспечить одновременность изменения всех разрядов входного кода ЦАП. При неодновременном изменении разрядов входного кода на выходе ЦАП появляются большие короткие импульсы напряжения, уровни которых не соответствуют ни одному из кодов.

Однако, даже при одновременном изменении всех разрядов входного кода ЦАП, уровень напряжения, соответствующий поданному коду, устанавливается не сразу, а за время установления ЦАП tуст, что связано с неидеальностью внутренних элементов ЦАП. Выходной ток ЦАП, как правило, устанавливается значительно быстрее выходного напряжения, так как он не зависит от инерционности операционного усилителя. Понятно, что условие правильной работы ЦАП состоит в том, чтобы длительность сохранения входного кода была больше, чем время установления ЦАП tуст, иначе выходной сигнал не успеет принять значение, соответствующее входному коду.

Если подавать коды на вход ЦАП редко, то приведенная на рис. 13.5 схема может использоваться, например, в управляемом источнике питания, выходное напряжение которого задается входным кодом. Правда, при этом необходимо еще обеспечить большой выходной ток источника питания, применив внешний усилитель тока.

Если же подавать коды на вход ЦАП с высокой частотой, то можно получить генератор (он же синтезатор) аналоговых сигналов произвольной формы. В этом случае коды, поступающие на ЦАП, называют кодами выборок (то есть мгновенных значений) генерируемого аналогового сигнала.

В простейшем случае в качестве источника входных кодов ЦАП можно использовать обычный двоичный счетчик (рис. 13.6). Выходное напряжение ЦАП будет нарастать при этом на величину 2 -n UREF с каждым тактовым импульсом, формируя пилообразные выходные сигналы амплитудой UREF. Длительность каждой ступеньки равна периоду тактового генератора Т, а период всего выходного сигнала равен 2 n Т. Количество ступенек в периоде выходного сигнала равно 2 n . Если в данной схеме использовать синхронные счетчики с синхронным переносом, то входной регистр ЦАП не нужен, так как все разряды счетчика переключаются одновременно. Если же используются асинхронные счетчики или синхронные счетчики с асинхронным переносом, то входной регистр ЦАП необходим.

Рис. 13.6. Генератор пилообразного аналогового сигнала

В случае, когда нужно формировать аналоговые сигналы произвольной формы (синусоидальные, колоколообразные, шумовые, треугольные, импульсные и т.д.), в качестве источника кодов, поступающих на ЦАП, необходимо использовать память, работающую в режиме чтения (рис. 13.7).

Рис. 13.7. Генерация сигналов произвольной формы

Если память постоянная, то набор форм генерируемых сигналов задается раз и навсегда. Если же память оперативная, то строится однонаправленный информационный буфер с периодическим режимом работы, что позволит записывать в память коды для генерации самых разных сигналов. В обоих случаях входной регистр ЦАП необходим, информация в него записывается стробом чтения из памяти.

 

Как и в предыдущем случае, выходной сигнал ЦАП будет состоять из ступенек, высота которых кратна 2 -n UREF. Амплитуда выходного сигнала не превышает UREF. Если адреса памяти перебираются счетчиком, то период выходного аналогового сигнала равен 2 m T, где T — период тактового сигнала чтения из памяти «–Чт.», а m — количество адресных разрядов памяти.

Рис. 13.8. Вычисление кодов выборок периодического сигнала

Если надо вычислить коды выборок для генерации какого-то периодического сигнала, то необходимо его период разделить на 2 m частей и вычислить соответствующие 2 m значений этого сигнала U i . Затем надо пересчитать значения сигнала в коды по формуле Ni =2 n Ui/A где A — амплитуда сигнала, и взять ближайшее целое значение кода. Нулевое значение сигнала даст при этом нулевой код 000…000, максимальное значение сигнала (равное амплитуде А) даст максимальный код 111…111. В результате подачи этих кодов на ЦАП с периодом Т будет генерироваться аналоговый сигнал требуемой формы с амплитудой, равной UREF и с периодом TВЫХ=2 m Т. Пример такого вычисления проиллюстрирован рис. 13.8.

Подробнее задача проектирования генератора аналоговых сигналов произвольной формы будет рассмотрена в следующей лекции.

Преобразование цифровых кодов в аналоговый сигнал — это не единственное применение микросхем ЦАП. Они могут также использоваться для управляемой обработки аналоговых сигналов, например, для усиления и ослабления аналоговых сигналов в заданное число раз. Для этого лучше всего подходят умножающие ЦАП, которые допускают изменение уровня опорного напряжения в широких пределах, в том числе и с изменением его знака. Таких микросхем ЦАП выпускается сейчас достаточно много, с различным быстродействием и с различным количеством разрядов входного кода.

Самая простейшая схема — это цифровой аттенюатор (ослабитель) аналогового сигнала (рис. 13.9), применяемый часто для регулировки амплитуды выходного сигнала генератора на основе ЦАП.

Рис. 13.9. Аттенюатор аналогового сигнала на ЦАП

Схема практически ничем не отличается от схемы на рис. 13.5. Но два важных отличия все же имеются: вместо постоянного опорного напряжения подается переменный аналоговый сигнал, а ЦАП должен быть обязательно умножающим. Выходной сигнал связан со входным по простой формуле

то есть выходной сигнал пропорционален входному (с инверсией), а коэффициент пропорциональности определяется входным цифровым кодом N. Коэффициент пропорциональности изменяется в данном случае от нуля и почти до единицы с шагом, равным 2 -n .

Входной регистр ЦАП в данном случае также необходим, поскольку при неодновременном переключении разрядов входного кода на выходной сигнал ЦАП могут накладываться короткие импульсы значительной амплитуды. Требования к быстродействию ЦАП (к величине его времени установления) в данном включении не слишком высоки, так как амплитуду выходного сигнала обычно требуется менять нечасто. А частота входного аналогового сигнала может быть довольно большой, она никак не связана с временем установления ЦАП.

Рис. 13.10. Управляемый усилитель входного сигнала

Существует также схема включения ЦАП, которую можно использовать как управляемый усилитель аналогового сигнала с коэффициентом усиления, задаваемым входным кодом N (рис. 13.10).

В этом случае выходной ток ЦАП равен величине UВХ/RОС, а так как в качестве опорного напряжения используется выходное напряжение, то получается, что выходное напряжение связано со входным по формуле

То есть коэффициент пропорциональности между выходным и входным напряжениями обратно пропорционален коду N. Код N может меняться в этом случае от 1 до (2 n –1), что соответствует коэффициенту усиления от примерно единицы до 2 n . Например, при 10-разрядном ЦАП коэффициент усиления схемы может достигать 1024.

Как и в предыдущем случае, скорость переключения ЦАП не очень важна, так как коэффициент усиления обычно не требуется переключать слишком часто. На схеме для простоты не показан входной регистр ЦАП, который опять же необходим, чтобы обеспечить одновременность переключения всех разрядов входного кода.

Рис. 13.11. Последовательное включение аттенюатора и усилителя

Используя последовательное включение схем рис. 13.9 и рис. 13.10, можно обеспечить приведение к стандартному уровню входного напряжения, изменяемого в очень широких пределах (рис. 13.11). Такая задача часто встречается в аналого-цифровых системах. Коэффициент передачи всей схемы будет равен отношению входных кодов обоих ЦАП N/M и может быть установлен с высокой точностью как в диапазоне от 0 до 1 (аттенюатор), так и в диапазоне от 1 до 2n (усилитель). На схеме не показаны входные регистры обоих ЦАП, но они также нужны.

Наконец, последняя схема с применением ЦАП, которую мы рассмотрим, — это схема сдвига аналогового сигнала на величину, задаваемую входным цифровым кодом. Сдвиг представляет собой, по сути, сложение аналогового сигнала с постоянным напряжением. Такая задача довольно часто встречается в аналого-цифровых системах.

Рис. 13.12. Схема управляемого сдвига аналогового сигнала

Схема сдвига (рис. 13.12) включает в себя преобразователь цифрового кода в выходное напряжение и аналоговый сумматор на операционном усилителе. Величина напряжения сдвига входного сигнала будет равна UREF•2 -n N . Поскольку применяются два инвертирующих операционных усилителя, инверсии входного сигнала на выходе в данном случае не будет. Если нужен как положительный, так и отрицательный сдвиг, то необходимо применять ЦАП с биполярным выходным сигналом.

Микросхемы АЦП выполняют функцию, прямо противоположную функции ЦАП, — преобразуют входной аналоговый сигнал в последовательность цифровых кодов. В общем случае микросхему АЦП можно представить в виде блока, имеющего один аналоговый вход, один или два входа для подачи опорного (образцового) напряжения, а также цифровые выходы для выдачи кода, соответствующего текущему значению аналогового сигнала (рис. 13.13).

Часто микросхема АЦП имеет также вход для подачи тактового сигнала CLK, сигнал разрешения работы CS и сигнал, говорящий о готовности выходного цифрового кода RDY. На микросхему подается одно или два питающих напряжения и общий провод. В целом микросхемы АЦП сложнее, чем микросхемы ЦАП, их разнообразие заметно больше, и поэтому сформулировать для них общие принципы применения сложнее.

Рис. 13.13. Микросхема АЦП

Опорное напряжение АЦП задает диапазон входного напряжения, в котором производится преобразование. Оно может быть постоянным или же допускать изменение в некоторых пределах. Иногда предусматривается подача на АЦП двух опорных напряжений с разными знаками, тогда АЦП способен работать как с положительными, так и с отрицательными входными напряжениями.

Выходной цифровой код N (n-разрядный) однозначно соответствует уровню входного напряжения. Код может принимать 2 n значений, то есть АЦП может различать 2 n уровней входного напряжения. Количество разрядов выходного кода n представляет собой важнейшую характеристику АЦП. В момент готовности выходного кода выдается сигнал окончания преобразования RDY, по которому внешнее устройство может читать код N.

Управляется работа АЦП тактовым сигналом CLK, который задает частоту преобразования, то есть частоту выдачи выходных кодов. Предельная тактовая частота — второй важнейший параметр АЦП. В некоторых микросхемах имеется встроенный генератор тактовых сигналов, поэтому к их выводам подключается кварцевый генератор или конденсатор, задающий частоту преобразования. Сигнал CS разрешает работу микросхемы.

Выпускается множество самых разнообразных микросхем АЦП, различающихся скоростью работы (частота преобразования от сотен килогерц до сотен мегагерц), разрядностью (от 6 до 24), допустимыми диапазонами входного сигнала, величинами погрешностей, уровнями питающих напряжений, методами выдачи выходного кода (параллельный или последовательный), другими параметрами. Обычно микросхемы с большим количеством разрядов имеют невысокое быстродействие, а наиболее быстродействующие микросхемы имеют небольшое число разрядов. Область применения любой микросхемы АЦП во многом определяется использованным в ней принципом преобразования, поэтому необходимо знать особенности этих принципов. Для выбора и использования АЦП необходимо пользоваться подробными справочными данными от фирмы-производителя.

Рис. 13.14. Компаратор напряжения

В качестве базового элемента любого АЦП используется компаратор напряжения (рис. 13.14), который сравнивает два входных аналоговых напряжения и, в зависимости от результата сравнения, выдает выходной цифровой сигнал — нуль или единицу. Компаратор работает с большим диапазоном входных напряжений и имеет высокое быстродействие (задержка порядка единиц наносекунд).

Рис. 13.15. АЦП последовательного типа

Существует два основных принципа построения АЦП: последовательный и параллельный.

В последовательном АЦП входное напряжение последовательно сравнивается одним единственным компаратором с несколькими эталонными уровнями напряжения, и в зависимости от результатов этого сравнения формируется выходной код. Наибольшее распространение получили АЦП на основе так называемого регистра последовательных приближений (рис. 13.15).

Входное напряжение подается на вход компаратора, на другой вход которого подается эталонное напряжение, ступенчато изменяющееся во времени. Выходной сигнал компаратора подается на вход регистра последовательных приближений, тактируемого внешним тактовым сигналом. Выходной код регистра последовательных приближений поступает на ЦАП, которое из опорного напряжения формирует меняющееся эталонное напряжение.

Регистр последовательных приближений работает так, что в зависимости от результата предыдущего сравнения выбирается следующий уровень эталонного напряжения по следующему алгоритму:

В первом такте входной сигнал сравнивается с половиной опорного напряжения.

Если входной сигнал меньше половины опорного напряжения, то на следующем такте он сравнивается с четвертью опорного напряжения (то есть половина опорного напряжения уменьшается на четверть). Одновременно в регистр последовательных приближений записывается старший разряд выходного кода, равный нулю.

Если же входной сигнал больше половины опорного напряжения, то на втором такте он сравнивается с 3/4 опорного напряжения (то есть половина увеличивается на четверть). Одновременно в регистр последовательных приближений записывается старший разряд выходного кода, равный единице.

Затем эта последовательность сравнений повторяется нужное число раз с уменьшением на каждом такте вдвое ступени изменения эталонного напряжения (на третьем такте — 1/8 опорного напряжения, на четвертом — 1/16 и т.д.). В результате опорное напряжение в каждом такте приближается к входному напряжению. Всего преобразование занимает n тактов. В последнем такте вычисляется младший разряд.

Понятно, что процесс этот довольно медленный, требует нескольких тактов, причем в течение каждого такта должны успеть сработать компаратор, регистр последовательных приближений и ЦАП с выходом по напряжению. Поэтому последовательные АЦП довольно медленные, имеют сравнительно большое время преобразования и малую частоту преобразования.

Второй тип АЦПАЦП параллельного типа — работает по более простому принципу. Все разряды выходного кода вычисляются в них одновременно (параллельно), поэтому они гораздо быстрее, чем последовательные АЦП. Правда, они требуют применения большого количества компараторов (2 n –1), что вызывает чисто технологические трудности при большом количестве разрядов (например, при 12-разрядном АЦП требуется 4095 компараторов).

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *