Изучение принципов работы ЦАП и АЦП с помощью средств смешанного аналого-цифрового моделирования САПР OrCAD

№ 11’2007
PDF версия
Данная статья знакомит с принципами работы ЦАП - АЦП с помощью смешанного аналого-цифрового моделирования в САПР OrCAD V.9.X фирмы CADENCE design systems. Несмотря на огромное число публикаций по данному вопросу в журналах «Компоненты и технологии», «Схемотехника» и др., автор надеется, что материал будет интересен начинающим специалистам.

Данная статья знакомит с принципами работы ЦАП АЦП с помощью смешанного аналогоцифрового моделирования в САПР OrCAD V.9.X фирмы CADENCE design systems. Несмотря на огромное число публикаций по данному вопросу в журналах «Компоненты и технологии» [1–4], “ChipNews”, «Схемотехника» и др., автор надеется, что материал будет интересен начинающим специалистам.

В позиционной системе исчисления цифровое двоичное представление величины N определяется полиномом [5]:

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

Резисторная матрица обычно имеет две различные структуры: в виде двоично-взвешенных резисторов или в виде многозвенной цепочки из резисторов лишь двух номиналов (R-2R). Так строятся обычно применяемые 8-, 12- и 16-битные ЦАП. При этом точность преобразования такого ЦАП зависит от качества резисторов и опорного напряжения. Наибольшее распространение получили ЦАП на резисторах R-2R с коммутацией токов и напряжений.

Схема на рис. 1а реализует суммирование с весами. Используя принцип суперпозиции, вычислим выходное напряжение, суммируя воздействия каждого индивидуального входного напряжения. Предположим, что подано только одно входное напряжение, а все остальные равны 0. Пусть напряжения на генераторах V1–V7 = 0 В, а напряжение на генераторе V8 = 5 В, что соответствует цифровой комбинации 00000001 на входе.

Цифро-аналоговый преобразователь на резисторах R-2R
Рис. 1. Цифро-аналоговый преобразователь на резисторах R-2R: а) лестница резисторов; б) эквивалентные сопротивления левой и правой частей схемы относительно узла Pi; в) эквивалентный делитель напряжения

Рассмотрим воздействие на выход напряжения, соответствующего биту ai. Генератор напряжения V8 подключен к резистору R34 с сопротивлением R. Обозначим точку на противоположном конце этого резистора через Pi. Сопротивление левой части схемы между точкой Pi и «землей» будет равно R.

Пусть на крайнем левом генераторе V1 напряжение равно нулю. Крайний левый резистор R18 с сопротивлением R (рис. 1а) включен параллельно с резистором R27 с сопротивлением R (200 Ом), идущим к генератору V1 (поскольку на генераторе нулевое напряжение, подключенный к нему резистор можно считать заземленным).

Параллельно включенные резисторы обладают общим сопротивлением R/2 (при параллельном соединении проводников имеем

при равных сопротивлениях имеем R/2), которое последовательно с расположенным правее резистором R19 с сопротивлением R/2 дает сопротивление на «землю», равное R. Повторяя этот процесс, мы дойдем до узла Pi. Точно так же легко видеть, что сопротивление правой части схемы от узла Pi на «землю» равно R. Таким образом, можно получить эквивалентную схему на рис. 1б.

Сопротивления правой и левой частей схемы включены в параллель и дают общее сопротивление R/2 (рис. 1в). Это сопротивление и сопротивление R резистора, подключенного к генератору ai, образуют делитель напряжения. К точке Pi оказывается приложенным часть напряжения ai:

Напряжение в узле вычисляется по формуле:

Таким образом, напряжение уменьшается вдвое при каждом шаге влево от узла к узлу. Выходное напряжение в узле Р7 задается формулой:

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

Сумма в полученном выражении представляет собой полином, определяющий значение N. Таким образом, Vвых пропорционально N. Коэффициент пропорциональности равен

или в общем случае

Для 8-разрядной лестницы имеем [5]:

Рассмотрим пример схемотехнического аналогового моделирования резистивной лестницы. Цифровая комбинация на входе: 00000001 (1 в старшем разряде), VDC = 5 В. Аналоговый выход (напряжения в узлах лестницы): 13,2 мВ; 26,04 мВ; 52,08 мВ; 104,2 мВ; 203,3 мВ; 416,7 мВ; 833,3 мВ; 1,667 В. На рис. 2 показаны напряжения в узлах лестницы.

Напряжения в узлах резистивной лестницы R-2R
Рис. 2. Напряжения в узлах резистивной лестницы R-2R

Вместо лестницы резисторов для суммирования с весами в соответствии с представлением двоичного числа в виде полинома можно использовать операционный усилитель. На рис. 3 показана схема в САПР OrCAD, в которой операционный усилитель запрограммирован для выполнения цифро-аналогового преобразования. Сигналы Vi — это входные напряжения, соответствующие значениям битов ai в преобразуемом двоичном числе. Нумерация резисторов Ri в лестнице: R0, R1, R2, R3, R4, R5, R6, R7.

Цифро-аналоговый преобразователь на операционном усилителе AD706 с матрицей взвешенных резисторов
Рис. 3. Цифро-аналоговый преобразователь на операционном усилителе AD706 с матрицей взвешенных резисторов

Просуммируем токи, проходящие через показанную общую точку схемы. Обозначим в ней напряжение через V. Каждый входной источник напряжения соединен с общей точкой через резистор, который принят как Ri. По закону Ома ток через каждый из этих резисторов равен (ViV)/Ri. Выходная линия, подключенная к общей точке через резистор ROC (R15), вносит свою долю тока, равную (VвыхV)/R. Сумма этих токов должна равняться 0, то есть:

Поскольку напряжение V подано на инвертирующий вход операционного усилителя, его выходное напряжение равно Vвых = –A×V, где A — коэффициент усиления, тогда [5]:

Проведя аппроксимацию данного уравнения и предполагая, что член A/ROC больше всех остальных членов, входящих в сумму, так как значение коэффициента усиления операционного усилителя бывает не менее 50 000, получаем правую часть равной

Выходное напряжение Vвых определяется выражением:

Подставив значения Ri , равные RОС = R, R0 = R, R1 = R/2, R2 = R/4 и т. д. (рис. 3), получим:

На рис. 3 показана тестовая схема ЦАП с использованием аналоговой модели операционного усилителя AD706 фирмы Analog Devices (библиотека opamp.olb). На вход ЦАП поступает цифровая комбинация: 00000001 (1 в старшем разряде). Сопротивления резистивной матрицы (табл. 1) выбираются из ряда (в кОм).

Таблица 1. Сопротивления резистивной матрицы
Сопротивления резистивной матрицы

Сопротивление резистора обратной связи RОС выбирается равным 20 кОм. Если за логическую единицу принять 0,1 В, то на входах ЦАП получим комбинацию:

Подставив значения в формулу, получим:

Промоделировав работу схемы, получим в точке V напряжение 23,32 мкВ, а на аналоговом выходе напряжение –12,82 В.

Реальные схемы ЦАП достаточно сложные и требуют ключи коммутации с дополнительными схемами управления [6]. На рис. 4 показана обобщенная структура системы цифровой обработки сигналов [7], которая демонстрирует использование аналого-цифровых интерфейсов. В счетном ядре PSpice существуют три типа узлов: аналоговые, цифровые и интерфейсные. Для аналоговых узлов PSpice рассчитывает напряжения, для цифровых — логические состояния. Интерфейсные узлы являются подсхемами I/O (input/output)-модели, которая переводит логическое состояние в напряжение и наоборот.

Структура системы цифровой обработки сигналов для изучения АЦП–ЦАП
Рис. 4. Структура системы цифровой обработки сигналов для изучения АЦП–ЦАП

Структура системы цифровой обработки сигналов состоит из 8-разрядного ЦАП при совместном использовании с 8-разрядным АЦП. Для моделирования необходимо из библиотеки Breakout.olb выбрать макромодель 8-разрядного ЦАП под именем DAC8break и макромодель 8-разрядного параллельного АЦП под именем ADC8break, задать аналоговый сигнал на вход АЦП и напряжение на опорном источнике. Модели DAC8break и ADC8break имеют описание в Spice-формате, поэтому могут быть использованы для смешанного аналого-цифрового моделирования. В качестве примера рассмотрим описание многобитных ЦАП в Spice-формате:

Форма идентификации ЦАП:

Пример описания четырехбитного ЦАП в Spice-формате:

Согласно этой макромодели, когда все входные биты, принимают значение логической 1 или логического 0, выходное напряжение ЦАП принимает значение величины опорного напряжения или «земли».

Формула, по которой определяется напряжение на выходе ЦАП (макромодель DAC8break), имеет следующий вид [8]:

где Vref — опорное напряжение ЦАП; D — эквивалент кода на входах ЦАП. Пусть число разрядов n = 8 и Vref = 10 В, тогда VЦАП = (5/256)×D для цифрового кода 00000001 имеет величину 5 В (табл. 2):

Таблица 2. Схема работы 8-разрядного ЦАП
Схема работы 8-разрядного ЦАП

Результаты моделирования представлены на рис. 5. На вход АЦП IN поступает аналоговый гармонический синусоидальный сигнал Vin с параметрами offset value (смещение) 5 В, amplitude (амплитуда) 5 В, Frequency (частота) 1 Гц. Его временная дискретизация и квантование по уровню производится в АЦП. На вход CNVRT (сигнал запуска преобразования) АЦП подается однобитный источник цифрового сигнала DSTIM1 с частотой 50 Гц. Сигналы Over и Stat являются выходными. На рис. 6 показан принцип формирования сигналов Over и Stat. Выходным сигналом АЦП (шина adb [7..0]) является последовательность чисел, поступающая в ЦАП. Аналоговый выходной сигнал OUT восстанавливается по этой последовательности с помощью ЦАП.

Временные диаграммы работы АЦП–ЦАП
Рис. 5. Временные диаграммы работы АЦП–ЦАП
Временные диаграммы работы АЦП–ЦАП, поясняющие принцип формирования сигналов Over и Stat
Рис. 6. Временные диаграммы работы АЦП–ЦАП, поясняющие принцип формирования сигналов Over и Stat

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

Каждый раз с приходом импульса CNVRT (перепад из 0 в 1), разрешающего преобразование, на выходе Stat АЦП возникает единичный импульс (рис. 6). Если входной аналоговый сигнал перестает изменяться, то при очередном импульсе CNVRT на выходе Over появляется единичный импульс и происходит фиксация выходного сигнала АЦП.

В процессе преобразования входной n-разрядный цифровой сигнал превращается в аналоговый выходной сигнал (ступенчатую кривую) с 2n дискретными уровнями или ступенями, равными 1 МЗР (единица младшего значащего разряда). Например, 10-разрядный ЦАП имеет диапазон (полную шкалу) преобразования, равный 210, то есть выходное напряжение может принимать 1024 различных выходных уровней — от нуля до максимального. 1 МЗР=1/2n.

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

Разрешающая способность определяется как отношение значения полной шкалы преобразования к значению 2n. Единицей измерения является единица самого младшего значащего разряда (1 МЗР). Она может выражаться в процентах от полной шкалы или миллионных частях (ppm). Например, для 10-разрядного ЦАП с Vвых = 10 В: 1 МЗР = 10 В×1/1024 = 9,76 мВ или 0,1% полной шкалы; для 16-разрядного ЦАП: 1 МЗР = 150 мкВ или 0,0015% полной шкалы.

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

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

Погрешность (точность) преобразования δFS выражается в процентах от диапазона изменения аналогового выходного сигнала VШК в виде числа разрядов (например, n разрядов точности — это погрешность VШК/2n) или в долях МЗР. Типичная точность, требуемая от ЦАП, равна 1/2 МЗР, то есть значение погрешности равно 1/2×(VШК/2n) = VШК/2n+1. Так, 12-разрядный ЦАП не может иметь точность преобразования меньше ±1/2 МЗР или ±2–(12+1), или ±0,0122% от полной шкалы. Фактически погрешность ±0,0122% представляет собой отклонение от 100%-ной точности, поэтому последняя составляет 99,9878%. Например, 12-разрядный ЦАП с диапазоном шкалы от 0 до 10 В при максимальном значении цифрового кода 1111 1111 1111 имеет максимальное напряжение, равное 10×(1–2–12) = 9,99756 В.

Дифференциальная нелинейность ЦАП связана с изменением единичных перепадов (размеров ступеней) и определяется как разность отклонений уровней выходного сигнала при переходе входного цифрового сигнала от какого-либо значения к смежному, или различие между фактической высотой шага и идеальным значением 1 МЗР. Заданная величина для дифференциальной нелинейности (≤1 МЗР) гарантирует, что ЦАП является монотонным. Это означает, что никакие данные не потеряны, поскольку выходной сигнал всегда изменяется в соответствии с цифровым кодом на входе.

Рассмотрим применение ЦАП на матрице резисторов R-2R в составе АЦП. На рис. 7 приведена схема АЦП последовательного приближения с использованием ЦАП на матрице резисторов R-2R, компаратора и регистров в САПР OrCad. В схеме используются как аналоговые, так и цифровые компоненты. Цифровые компоненты определены как подсхемы в библиотеке ТТЛ-вентилей 7400.olb. Операционный усилитель/компаратор также определяется как подсхема в библиотеке maxim. olb. В реальных же схемах АЦП последовательного приближения используют тактируемый фронтом синхроимпульса компаратор.

Четырехразрядный АЦП последовательного приближения с ЦАП на матрице R-2R
Рис. 7. Четырехразрядный АЦП последовательного приближения с ЦАП на матрице R-2R

Пусть число разрядов n АЦП равно 4. Рассмотрим, как работает регистр сдвига. Он состоит из основных 4 разрядов на триггерах dffe_4-dffe_7 и двух вспомогательных, на триггерах dffe_8 и dffep_15 (рис. 8). Триггеры со входом разрешения dffe построены с использованием мультиплексора и функциональной макромодели 7474. Прямые выходы q0–q3 регистра сдвига подключены ко входам разрешения e (ee0–ee3) регистра результата (рис. 9), инверсные выходы qb0–qb3 — ко входам s0–s3.

Шестиразрядный регистр сдвига
Рис. 8. Шестиразрядный регистр сдвига
Параллельный четырехразрядный регистр (регистр результата)
Рис. 9. Параллельный четырехразрядный регистр (регистр результата)

В начальный момент времени по низкому уровню асинхронного сигнала очистки clr в старший разряд шестиразрядного регистра сдвига c асинхронным входом установки Pr (триггер dffep_15) записывается логическая «1», а прямые выходы 5 триггеров dffe_4–dffe_8 сбрасываются в «0» (рис. 8). На выходах регистра сдвига появляется код 100000(bin) с «1» в старшем разряде. C приходом единичного импульса на вход start, переводом сигнала очистки clr в «1» (с последующем его удержанием) по первому переднему фронту синхроимпульса clk на выходе datamark регистра сдвига сформируется флаг метки данных (рис. 10). При этом низкий уровень (активным является высокий уровень сигнала e) на входе разрешения e триггерров dffe_4–dffe_8 будет удерживать триггеры от переключений по переднему фронту тактового сигнала clk. По второму переднему фронту синхроимпульса логическая «1» с выхода q5 триггера dffep_15 попадет на выход триггера dffe_4, так как триггером U18a будет сформирована логическая единица, разрешающая запись в триггер dffe_4, которая будет удерживаться до появления сигнала loadreg, то есть до окончания преобразования. По третьему такту синхроимпульса логическая единица с выхода триггера dffe_4 будет записана в триггер dffe_5 и т. д., пока логическая единица не появится на прямом выходе триггера dffe_8. Инверсный выход триггера dffe_8 и логический ноль на выходе триггера U9A сформируют сигнал loadreg, равный логической «1» и сигнализирующий о завершении выполнения операции сдвига.

Временные диаграммы работы проектируемого четырехразрядного АЦП
Рис. 10. Временные диаграммы работы проектируемого четырехразрядного АЦП

Регистр результата представляет собой параллельный четырехразрядный регистр и схему обрамления на элементах 2И-НЕ. Для формирования результата на выходах b3–b0 инверсные выходы qb и инверсные выходы регистра сдвига s0–s3 (которые в начальный момент времени по низкому уровню сигнала clr переводятся в «1») логически перемножаются, а результат инвертируется. Таким образом, на выходах регистра результата по низкому уровню сигнала clr имеем код 0000(bin). Результат сравнения компаратором поступает одновременно на все информационные входы d четырехразрядного регистра. Первоначально на выходе компаратора при опорном напряжении 5,12 В присутствует напряжение 5,152 В. Сигналами разрешения триггеров dffe-dffe_3 регистра результата управляют прямые выходы регистра сдвига. В конкретный момент времени результат сравнения компаратором может быть записан только в один из триггеров dffe-dffe_3.

Рассмотрим принцип работы АЦП с 3-го по 6-й такт синхроимпульса. По третьему такту синхроимпульса регистры сдвига и результата сформируют код 8(hex) или 1000(bin) с единицей в старшем разряде b3 независимо от сигнала на выходе компаратора. При входном коде 1000(bin) ЦАП (рис. 11) при опорном напряжении, равном 5 В, сформирует аналоговое напряжение на выходе 2,191 В, то есть примерно половины шкалы опорного напряжения. Предположим, что входное напряжение Vвх , которое требуется оцифровать, составляет 2,85 В. Аналоговый компаратор, построенный с использованием макромодели фирмы MAX954, сравнивает входные напряжения, и если VЦАП (2,191 В)≤Vвх (2,85 В), то на выходе компаратора сохраняется аналоговое напряжение 5,152 В, которое с помощью двух инверторов (макромодель 7404) преобразовывается в цифровой сигнал, в данном случае — в сигнал логической единицы. Тогда единица в старшем разряде регистра результата b3 сохраняется. Это происходит потому, что в триггер dffe по третьему такту синхроимпульса записывается логическая «1», а на его инверсном выходе формируется логический ноль, который (будучи логически перемножен с сигналом s0, равным логической «1», и проинвертирован) установит и будет удерживать старший разряд b3 в единице. Если бы оказалось, что VЦАП > Vвх, то на выходе компаратора установился бы низкий уровень сигнала, и по третьему такту синхроимпульса в триггере dffe появился бы логический ноль, а на инверсном выходе триггера dffe — логическая «1». По четвертому такту синхроимпульса единица в старшем разряде оказалась бы сброшена, так как высокий уровень сигнала s0 удерживается триггером dffe_4.

Четырехразрядный ЦАП на матрице R–2R и разряд ЦАП
Рис. 11. Четырехразрядный ЦАП на матрице R–2R и разряд ЦАП

По четвертому такту синхроимпульса сигнал s1 находится в «0», а на инверсном выходе dffe_1 присутствует «1», поэтому в разряд b2 запишется «1» и на выходах схемы обрамления регистра результата установится код 1100(bin) или С (hex), на выходе ЦАП будет сформировано напряжение 3,034 В. В этом случае VЦАП (3,034 В)>Vвх (2,85 В), и на выходе компаратора установится низкий уровень сигнала. Это приведет к сохранению на инверсном выходе триггера dffe_1 логической единицы. По пятому такту синхроимпульса логическая «1» на выходе триггера dffe_1, будучи перемножена с сигналом s1, равным «1», и проинвертирована, даст в разряде b2 логический ноль. По этому же такту синхроимпульса в разряде b1 установится единица и в результате — код 1010(bin) или A (hex). По шестому такту синхроимпульса установится код 1011(bin) или B (hex).

Из описанного принципа работы последовательного АЦП следует, что регистр сдвига инверсными выходами s0–s3 устанавливает на выходах b3–b0 регистра результата единицу в старшем разряде, а компаратор принимает решение оставлять ее в следующем такте, если VЦАП < Vвх, или сбросить в ноль, если VЦАП > Vвх. Принцип работы последовательного АЦП показан в табл. 3.

Таблица 3. Принцип работы последовательного АЦП
Принцип работы последовательного АЦП

Литература

  1. Шалагинов А. Знакомство с пакетом DesignLab 8. Урок 1–5 // Компоненты и технологии. 2001. № 2–6.
  2. Шалагинов А. Знакомство с пакетом OrCAD9.1 // Компоненты и технологии. 2002. № 1.
  3. Златин И. Моделирование на функциональном уровне в OrCAD 9.2 // Компоненты и технологии. 2003. № 3, 4.
  4. Златин И. OrCAD 10.5 для начинающих пользователей // Компоненты и технологии. 2006. № 3,4.
  5. Микропроцессоры и микрокомпьютеры: Вводный курс / Пер. с англ. М.: Мир, 1983.
  6. Применение интегральных схем: практическое руководство. В 2 кн. Кн. 1/Пер. с англ. под ред. А. Уильямса. М.: Мир, 1987.
  7. Сергиенко А. Б. Цифровая обработка сигналов. СПб.: Питер, 2003.
  8. Прянишников В. А. Электроника: Полный курс лекций. 3-е изд., испр. и доп. СПб.: Учитель и ученик: Корона принт, 2003.

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

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