Глава 9. Цифра и аналог: сопряжение, АЦП, ЦАП, ФАПЧ
9.3. Аналог в цифру и обратно: ЦАП и АЦП
Как кодируют знак и в чём ошибаются преобразователи; ЦАП на взвешенных резисторах, лестнице R-2R и переключаемых токах; ЦАП с усреднением во времени и умножающие ЦАП; АЦП от мгновенного параллельного до интегрирующих и дельта-сигма; по каким вопросам их выбирать.
9.3.1Число вместо напряжения: коды и погрешности
- АЦП ставит в соответствие напряжению число, ЦАПЦАП — цифроаналоговый преобразователь: превращает двоичный код в пропорциональный ток или напряжение (раздел 9.3). делает обратное; самый мелкий шаг — 1 МЗР .
- Знак кодируют смещённым двоичным или дополнительным кодомДополнение до двух: получают инверсией всех битов и прибавлением 1. Стандарт целочисленной арифметики: сложение и вычитание — обычным двоичным сумматором.; они различаются лишь старшим разрядом.
- Ошибки бывают четырёх видов: сдвиг нуля, неверная шкала, нелинейность, немонотонностьНемонотонность: при увеличении кода выход ЦАП где-то уменьшается. В петлях обратной связи (АЦП, регуляторы) это опасно.. Первые две убираются подстройкой, вторые две — только выбором микросхемы.
Возьмите обычный электронный термометр для духовки. Термопара даёт милливольты, а на индикаторе — цифры: где-то внутри напряжение превратилось в число. Обратная задача возникает в том же приборе, если он сам регулирует нагрев: число «сколько греть» должно снова стать током или напряжением. Первое делает аналого-цифровой преобразователь (АЦП), второе — цифро-аналоговый (ЦАП). Без этой пары не обходится ни одна система, где компьютер наблюдает за опытом или ведёт технологический процесс.
Список применений длинный, и он только растёт:
- звук: цифровая запись и импульсно-кодовая модуляцияИКМ: сигнал заменяют последовательностью чисел — отсчётов амплитуды через равные промежутки времени — и передают эти числа двоичными уровнями. — сигнал на время передачи превращают в последовательность чисел, и шум линии связи ему больше не страшен;
- измерения: цифровые мультиметры и осциллографы, накопители (усреднители) повторяющихся переходных процессов;
- генерация: синтезаторы сигналов произвольной формы, аппаратура шифрования;
- изображение: цифровая система выводит стрелочные показания, графики и двухкоординатные картинки на экран — через ЦАП.
Как записать знак
Пока сигнал однополярный, всё просто: ноль вольт — код 000…0, полная шкала — 111…1. Но сигналы со знаком (звук, ошибка регулятора, ток в обе стороны) встречаются не реже. Чаще всего для них применяют два кода. В смещённом двоичном к числу заранее прибавлена половина шкалы, так что ноль — это 1000…0, а самое отрицательное значение — 000…0. Дополнительный код получается из смещённого инверсией одного только старшего разряда; ноль в нём — 000…0, и именно его понимает арифметика процессора. Реже попадаются знак плюс модуль и код ГреяКод, в котором соседние числа отличаются ровно одним разрядом: 000, 001, 011, 010, 110… Исключает ложные промежуточные коды в датчиках угла и счётчиках. (все двоичные коды подробно разобраны в разделе 8.1). Сравним оба основных кода на 8 разрядах:
| Значение | Смещённый двоичный | Дополнительный |
|---|---|---|
| + полная шкала | 1111 1111 | 0111 1111 |
| + полная шкала − 1 МЗРМЗР — младший значащий разряд: самый мелкий шаг преобразователя, . Погрешности ЦАП и АЦП меряют в долях МЗР. | 1111 1110 | 0111 1110 |
| 0 + 1 МЗР | 1000 0001 | 0000 0001 |
| 0 | 1000 0000 | 0000 0000 |
| 0 − 1 МЗР | 0111 1111 | 1111 1111 |
| − полная шкала + 1 МЗР | 0000 0001 | 1000 0001 |
| − полная шкала | 0000 0000 | 1000 0000 |
Присмотритесь к краям таблицы: код «−полная шкала» существует, а настоящего «+полная шкала» нет — самое большое положительное число на 1 МЗР не дотягивает. Это общая черта любого n-разрядного двуполярного кода. А раз один код превращается в другой инверсией единственного разряда, многие преобразователи выдают оба, по выбору.
Чем реальный преобразователь отличается от идеального
Тот, кто долго работал с прецизионными системами, знает: паспорт описывает поведение преобразователя лишь до тех пор, пока вы не начали проверять его всерьёз. Видов погрешностей много, но почти все сводятся к четырём основным (на графиках ниже — трёхразрядный преобразователь, пунктир — идеальная прямая):
- Сдвиг нуля. Вся характеристика уехала вбок. Заметьте, что у идеального АЦП первый переход 000→001 происходит не на 1 МЗР, а на ½ МЗР: тогда ошибка квантования распределена симметрично, ±½ МЗР.
- Ошибка шкалы (усиления). Ноль на месте, но наклон не тот, и к концу шкалы набегает ошибка в несколько МЗР.
- Нелинейность двух сортов. Интегральная — наибольшее расхождение характеристики с прямой, проведённой через её конечные точки. Дифференциальная — отклонение высоты каждой отдельной ступеньки от 1 МЗР. Когда дифференциальная нелинейностьДифференциальная нелинейность — отклонение отдельной ступеньки характеристики от идеальной высоты 1 МЗР. хуже −1 МЗР, ступенька исчезает совсем, и у АЦП появляются пропущенные кодыПропущенные коды — числа, которые АЦП никогда не выдаёт: соседняя ступенька «съела» их ширину (дифференциальная нелинейность хуже −1 МЗР). — числа, которые он не выдаст никогда.
- Немонотонность. Код растёт, а выход ЦАП в каком-то месте уменьшается. Такое возможно, только если нелинейность превышает ±½ МЗР. Хуже всего это для систем с обратной связью — АЦП последовательного приближенияАЦП последовательного приближения делает двоичный поиск: пробует разряды от старшего к младшему, n тактов на n разрядов., цифровых регуляторов: петля может застрять или начать метаться между двумя соседними кодами.
Четыре типичных вида погрешностей на примере трёхразрядного преобразователя; пунктир — идеальная характеристика
| Как выглядит | Можно подстроить? | |
|---|---|---|
| Сдвиг нуля | лесенка целиком смещена вбок | да — подстройкой нуляУстановка (подстройка) нуля — внешний потенциометр на выводах ОУ, которым компенсируют напряжение сдвига при одной температуре. |
| Шкала (усиление) | не тот наклон, ошибка растёт к концу шкалы | да — подстройкой шкалы |
| Нелинейность | ступеньки разной высоты, характеристика изогнута | нет — только выбор по паспорту |
| Немонотонность | при росте кода выход где-то падает | нет — только выбор по паспорту |
Регистратор вибраций использует 10-разрядный АЦП с входом ±5 В и смещённым двоичным выходным кодом. Каков вес младшего разряда и какое десятичное число выдаст АЦП при входе −1,25 В? Считайте, что переходы кода стоят точно на целых МЗР, отсчитанных от −5 В, т. е. код = ⌊(U + 5 В)/МЗР⌋.
Решение
Шкала 10 В делится на шага: МЗР мВ. Смещённый кодКод со знаком, в котором к числу прибавлена половина диапазона (для 4 бит — 8); числа от самого отрицательного до самого положительного идут подряд. Применяется в АЦП и ЦАП. считается от нижнего края: . В двоичной записи это (шестнадцатеричное 180). Тот же вход в дополнительном коде — : старший разряд инвертирован, и единица в нём говорит, что число отрицательное.
В паспорте 10-разрядного ЦАП для управления лазерным модулем указано: в одной точке шкалы дифференциальная нелинейность достигает −1,6 МЗР. Что из этого следует?
Решение
Дифференциальная нелинейность — это отличие высоты ступеньки от 1 МЗР. Ступенька высотой МЗР отрицательна: код увеличился, а выход упал. ЦАП немонотонен, и никакая подстройка нуля или усиления этого не исправит. Если на таком ЦАП построить АЦП последовательного приближения, в этом месте у него окажутся пропущенные коды.
9.3.2ЦАП: складываем токи разрядов
- Любой ЦАП так или иначе суммирует токи разрядов с весами 1, ½, ¼… — обычно в суммирующей точкеСуммирующая точка — инвертирующий вход ОУ в инвертирующей схеме: в ней складываются входные токи и ток обратной связи; потенциал — виртуальная земля. ОУ.
- Взвешенные резисторы — самый простой способ, но нужен разброс номиналов и точность резистора СЗРСЗР — старший значащий разряд: его вес — половина шкалы преобразователя. лучше ; годится лишь для быстрых грубых ЦАП.
- Лестнице R-2RЛестница R-2R — делитель из резисторов только двух номиналов, R и 2R; в каждом узле ток делится пополам, и токи разрядов образуют ряд I/2, I/4, I/8… хватает двух номиналов; ЦАП на переключаемых токах самые быстрые — источники работают непрерывно.
- До ½ МЗР выход устанавливается за постоянных времениПостоянная времени (или ) — за неё экспонента проходит 63% пути к новому значению; за — 99%..
ЦАП получает число — двоичное или двоично-десятичное, в несколько тетрад — и должен выдать пропорциональное ему напряжение или ток. Удобно думать так: каждый разряд «знает» свой ток, вдвое меньший, чем у соседа слева, а схема лишь складывает токи тех разрядов, где стоит единица. Различаются способы тем, как эти токи получены и чем переключены.
К суммирующей точке ОУ подходят резисторы R, 2R, 4R…; ключ разряда соединяет свой резистор с эталоном или с землёй. Разброс номиналов — .
Номиналов только два, R и 2R, и в каждом узле ток делится ровно пополам. Важна точность согласования, а не абсолютное значение сопротивлений.
Транзисторные источники с двоичными токами включены всегда; ключи только направляют ток либо на выход, либо в землю. Это самый быстрый вариант.
Взвешенные резисторы в суммирующей точке
Вспомним инвертирующий сумматорСумматор — инвертирующий усилитель с несколькими входными резисторами в одну мнимую землю: . (раздел 4.2): выход ОУ пропорционален взвешенной сумме напряжений, поданных через резисторы на его инвертирующий вход. Сделаем веса двоичными — резисторы R, 2R, 4R, 8R… — и будем подключать каждый либо к эталону (в разряде 1), либо к земле (в разряде 0). Это уже ЦАП:
Масштаб обычно выбирают так, чтобы полной шкале соответствовало число , хотя на самом деле наибольший код — , все единицы. Значит, «полная шкала» никогда не достигается: 6-разрядный ЦАП со шкалой 10 В выдаёт в лучшем случае В.
Дальше — простор для подгонки. Другим можно сделать выход «круглым», например −0,1 В на единицу кода. Инвертор на выходе или ток смещенияСмещение — постоянный режим транзистора (ток покоя, напряжения на выводах), при котором он работает в активном режиме в течение всего периода сигнала. в суммирующую точку дадут положительный или двуполярный выход. А подобрав веса иначе, получим ЦАП для двоично-десятичного или любого другого взвешенного кода.
Что здесь что (7)
- Эталон +2,5 В. от его точности прямо зависит точность всей шкалы
- Ключ СЗР. соединяет резистор 5 кОм с эталоном (1) или с землёй (0); сопротивление ключа складывается с резистором
- Резистор СЗР, 5 кОм. самый ответственный: его ошибка весит полшкалы, допуск — лучше
- Резистор МЗР, 80 кОм. вклад в 16 раз меньше, и допуск может быть в 16 раз хуже
- Суммирующая точка. держится под потенциалом земли; здесь складываются токи разрядов
- R_ос. превращает суммарный ток в напряжение и задаёт масштаб
- ОУ. удерживает суммирующую точку на нуле; выход
Схема выглядит безобидно, но требования к деталям у неё жёсткие:
- эталон должен быть точным — ошибка эталона целиком переходит в ошибку шкалы;
- точнее всего должен быть самый маленький резистор: ошибка в цепи старшего разряда весит половину шкалы, поэтому его допуск должен быть лучше ; каждый следующий разряд вдвое «легче», и допуск можно вдвое ослабить — скажем, 0,5 %, 1 %, 2 %, 4 % от старшего разряда к младшему у грубого ЦАП;
- ключи — транзисторы или МОП-ключи — стоят последовательно с резисторами, поэтому их сопротивление должно быть меньше от наименьшего резистора.
Для стенда, на котором проверяют регулятор температуры, нужен двухдекадный двоично-десятичный ЦАП на одном ОУ: он превращает уставку 00…99 в напряжение от 0 до −4,95 В — −0,5 В на единицу десятков и −0,05 В на единицу единиц. Логические входы — 0 и +2,5 В, их формирует буферБуфер — повторитель с : огромное входное и малое выходное сопротивление, развязывает источник и нагрузку. точного эталона. Обратная связь ОУ кОм. Рассчитайте резисторы и оцените допустимое сопротивление ключей.
Решение
Это инвертирующий сумматор: разряд с напряжением 2,5 В и резистором даёт вклад . Разряд «8 десятков» должен дать −4 В: кОм. Каждый следующий вес вдвое меньше — резистор вдвое больше:
- десятки: 8 → 12,5 кОм; 4 → 25 кОм; 2 → 50 кОм; 1 → 100 кОм;
- единицы (вес в 10 раз меньше): 8 → 125 кОм; 4 → 250 кОм; 2 → 500 кОм; 1 → 1 МОм.
Проверка: уставка 99 (1001 1001) даёт В. Номиналы 12,5 и 125 кОм нестандартны — их набирают из прецизионных резисторов ряда E96 (12,4 кОм + 100 Ом) или подстраивают.
Самый маленький резистор должен быть точнее, чем полшага относительно полной шкалы: ½·0,05 В / 4 В ≈ 0,6 %. Сопротивление ключа складывается с ним, значит, оно должно быть мало по сравнению с кОм ≈ 78 Ом — на практике единицы ом. Если ключи хуже, весь набор резисторов поднимают в 10 раз (вместе с ). И помните: если входы — это выходы КМОПКМОП — комплементарные МОП-транзисторы: n- и p-канальные приборы на одном кристалле. Основа почти всей цифровой логики и аналоговых ключей.-логики, питать её нужно от того же точного эталона 2,5 В, а не от общей шины питания, иначе её шум и дрейф окажутся в выходном напряжении.
Лестница R-2R
Сосчитаем, во что обходятся взвешенные резисторы на 12 разрядах: номиналы различаются в 2000 раз, а самый маленький должен быть точен лучше 0,01 %. Это и дорого, и неудобно. Лестница R-2R решает задачу всего двумя номиналами, которые надо точно согласовать между собой, а их абсолютное значение роли не играет.
Секрет в одном свойстве: если из любого узла лестницы посмотреть вправо, увидишь сопротивление ровно R. Убедиться легко, начав с правого конца: концевой 2R параллельно 2R последнего разряда — это R, плюс последовательный R — 2R, параллельно следующему 2R — снова R, и так до самого входа. Поэтому в каждом узле ток делится пополам: половина уходит вниз, в резистор 2R, половина идёт дальше по лестнице.
Нижние концы резисторов 2R ключи переключают между землёй и суммирующей точкой ОУ. Обе точки находятся под нулевым потенциалом, и токи ветвей от положения ключей не зависят — меняется лишь то, куда каждый ток уходит. Для двоично-десятичных кодовBCD: каждая десятичная цифра кодируется отдельно четырьмя битами; . существуют видоизменённые лестницы.
Что здесь что (6)
- Вход эталона. лестница нагружает эталон ровно сопротивлением R
- Продольный R. вместе со всем, что правее (тоже R), даёт 2R
- 2R старшего разряда. через него идёт — половина тока эталона
- Концевой 2R. замыкает лестницу: правее последнего узла тоже R
- Ключ разряда. отправляет ток ветви в суммирующую точку (1) или в землю (0); обе под нулём, токи не меняются
- ОУ с R_ос. превращает сумму токов в напряжение
Четырёхразрядный ЦАП R-2R собран из резисторов кОм и кОм для генератора тестовых ступенек; В, кОм. Покажите, что ток старшего разряда равен , а каждого следующего — вдвое меньше, и найдите для кода 0110 (положение ключей — на схеме выше).
Решение
Сопротивление лестницы. Идём справа налево: концевой 2R параллельно 2R младшего разряда (оба к нулевому потенциалу) — это R; с последовательным R — 2R; параллельно 2R следующего разряда — опять R. И так до входа: из любого узла вправо видно R, вся лестница нагружает эталон сопротивлением R.
Токи. От эталона течёт мА. В узле СЗР он делится поровну между 2R вниз и «2R вправо»: по 0,25 мА, т. е. . Следующий узел снова делит пополам: токи разрядов 0,25; 0,125; 0,0625; 0,03125 мА.
Выход. Код 0110 включает разряды с весами 4 и 2: мА, В. Общая формула даёт то же: В.
Переключаемые источники тока
В лестнице R-2R операционный усилитель нужен лишь затем, чтобы превратить сумму двоичных токов в напряжение. Напряжение удобно, но ОУ, как правило, — самое медленное звено всей схемы. Если отказаться от него и выдать наружу сам ток, ЦАП получается быстрее и дешевле. Так устроены ЦАП с токовым выходом:
- двоичные токи создают транзисторные источники с эмиттерными резисторами (в микросхемах эмиттеры обычно снова сидят на лестнице R-2R), а опорный ОУ с транзистором задаёт масштаб всех токов сразу;
- источники не выключаются никогда — переключается только путь тока: на выход или в землю. Нет переходных процессов включения самих источников, и потому ЦАП быстр.
Что здесь что (7)
- R_оп. ток задаёт масштаб всех источников
- Опорный ОУ. держит коллектор на нуле, подстраивая общее напряжение баз
- T_оп. опорный транзистор: по нему равняются все источники
- Источник СЗР. эмиттерный резистор 2R — ток вдвое меньше опорного
- Источник СЗР−3. резистор 16R — ток в 16 раз меньше
- Ключ разряда. переключает лишь путь тока: на выход или в землю
- Токовый выход. сумма токов разрядов, где стоит 1
Как получить напряжение из тока
Три типичных варианта показаны на рисунке ниже. Самый простой — резистор на землю. Он хорош, когда нагрузка почти не имеет ёмкости и большой размах не нужен: ток полной шкалы 1 мА на 250 Ом даёт 250 мВ, а выходное сопротивление — те же 250 Ом. Быстродействие задаёт постоянная времени: при ёмкости выхода и монтажа 40 пФ нс. Однако одной τ мало — до точности ½ МЗР экспонента должна затухнуть во много раз:
Если нужен размах в вольты, низкоомная или ёмкостная нагрузкаЁмкостная нагрузка добавляет в петлю ОС ОУ лишний фазовый сдвиг; многие ОУ на ней звенят или генерируют., ставят преобразователь ток → напряжение: ОУ с резистором в обратной связи (вариант «б»). Здесь параллельно резистору обязателен небольшой конденсатор. Выходная ёмкость ЦАП вместе с резистором обратной связи вносит запаздывание по фазе, и без коррекции усилитель может возбудиться; к сожалению, тот же конденсатор замедляет схему. Получается парадокс: дешёвому быстрому ЦАП нередко нужен дорогой ОУ с малым временем установления.
Часто удобнее третий вариант: тот же резистор на землю, а за ним — неинвертирующий усилитель. Ёмкость ЦАП нагружена только резистором, и компенсирующий конденсатор не нужен.
Три способа превратить выходной ток ЦАП в напряжение
| а) резистор на землю | б) ток → напряжение на ОУ | в) резистор + неинв. усилитель | |
|---|---|---|---|
| Размах | ≈ 250 мВ | до ±10 В | до 10 В |
| Скорость | очень высокая () | ограничена ОУ и конденсатором коррекции | ограничена ОУ |
| Подводные камни | малый размах, выход 250 Ом | нужна коррекция и быстрый (дорогой) ОУ | сдвиг ОУ усиливается в 40 раз |
14-разрядный ЦАП с токовым выходом формирует развёртку для лабораторного характериографа; выход нагружен резистором 150 Ом, ёмкость выхода и кабеля — 40 пФ. Через какое время после скачка кода на всю шкалу выход войдёт в полосу ½ МЗР? Сам ЦАП считайте мгновенным.
Решение
нс. Остаток экспоненты должен стать меньше полной шкалы: , откуда нс. Для сравнения, 8-разрядному ЦАП хватило бы , т. е. 37 нс.
Источник опорного напряженияОпорное напряжение — точное и стабильное напряжение, с которым схема сравнивает выход (стабилизатор, АЦП, ЦАП, вольтметр). Его стабильность ограничивает точность всего прибора. для поверки собран по варианту «в»: ЦАП 12-разрядный, шкала выхода 0…+10 В, усиление каскада 40, у ОУ напряжение сдвига 0,8 мВ. Сколько МЗР составит ошибка нуля на выходе?
Решение
Сдвиг на выходе мВ. МЗР мВ, ошибка МЗР. Нужна подстройка нуля или прецизионный ОУ: чтобы уложиться в ½ МЗР, сдвиг должен быть не больше мкВ.
Ассортимент готовых ЦАП покрывает разрядности 6…18 бит, а установление выхода у них длится где 20 нс, где 100 мкс; закономерность простая — чем точнее, тем медленнее. Цены различаются от единиц до сотен долларов. Удобный «середняк» — 12-разрядный ЦАП со входным регистром-защёлкой, встроенным эталоном и выходом по напряжению, устанавливающийся за несколько микросекунд (например, AD7248).
9.3.3ЦАП с усреднением во времени
- Частоту импульсов или их ширину можно превратить в напряжение, просто усреднив — RC-фильтром или самой инерционной нагрузкой.
- Расплата — пульсацииПульсации — периодические колебания выпрямленного напряжения на конденсаторе фильтра; у мостового выпрямителя частота пульсаций — удвоенная частота сети (100 Гц).: для ½ МЗР нужна , и время установленияВремя установления — время, после которого выход входит в заданную окрестность конечного значения (±1 %, ±0,1 %) и больше её не покидает. с разрядностью растёт очень быстро.
- ШИМШиротно-импульсная модуляция: частота постоянна, а сигнал ошибки меняет длительность импульса (коэффициент заполнения). и пакеты периодов сети идеальны для нагревателей, двигателей и электромагнитов.
- Резисторные и токовые ЦАП мгновенны; ЦАП с усреднением выдают среднее за интервал.
Бывает, что «цифра» приходит не параллельным кодом, а последовательностью импульсов — скажем, частотой с датчика расхода или тахометра. Считать её в двоичное число, чтобы потом снова превратить в напряжение, незачем: частоту можно усреднить сразу.
У всех таких ЦАП одна и та же беда — пульсации. Чтобы они уложились в ½ МЗР, фильтр должен быть медленным, и выход после смены кода тоже устанавливается медленно. Посчитаем для простой RC-цепочки. Пусть на неё приходят импульсы с периодом и заполнением . Если , размах пульсаций составляет от амплитуды импульсов; хуже всего при :
Перемножив, видим: время установления растёт примерно как , т. е. с каждым разрядом вдвое. Для 10 разрядов и импульсов 100 кГц простая RC-цепочка при честном расчёте пульсаций даёт мс и установление около 39 мс. Фильтр высокого порядка с крутым срезом справляется в разы быстрее — именно его и ставят, если нужно чистое постоянное напряжение.
Широтно-импульсная модуляция
Здесь код задаёт не частоту, а длительность импульсов неизменной частоты. Реализация напрашивается сама: счётчик быстрых тактов и цифровой компараторКомпаратор — схема, которая сравнивает два напряжения и выдаёт логический ответ, какое больше.; выход держится в «1», пока содержимое счётчика меньше входного числа (подробности — в задаче ниже). После фильтра получается напряжение, пропорциональное доле времени в «1», а значит, коду.
Лучше всего ШИМ работает там, где нагрузка сама инерционна и усредняет порции энергии без всякого фильтра:
- ёмкостная — дроссель с конденсатором импульсного стабилизатора (раздел 6.6);
- тепловая — паяльник, термостат, подогрев стола 3D-принтера;
- механическая — двигатель вентилятора или привода, регулятор скорости;
- электромагнитная — мощное реле, клапан, электромагнит.
Драйверу двигателя робота нужен ШИМ-сигнал частотой 4 кГц, скважностьСкважность — отношение периода импульсов к их длительности ; обратна коэффициенту заполнения. которого задаёт 12-разрядный двоичный код. Соберите формирователь из синхронных счётчиков и каскадируемых цифровых компараторов. Какая потребуется тактовая частота и на что обратить внимание?
Решение
Такт. Период 250 мкс надо разбить на дискретов: МГц — стандартный кварц этой частоты существует.
Счётчик. Три 4-разрядных синхронных счётчика 74HC163 в каскаде дают ровно 12 разрядов и считают по модулю 4096; сигнал переноса последнего отмечает начало каждого периода 4 кГц.
Сравнение. Три 4-разрядных компаратора 74HC85 соединяют каскадно: выходы «A>B», «A=B», «A<B» младшей ступени — на входы наращивания следующей. Они сравнивают состояние счётчика с кодом . Выход «A<B» старшей ступени равен 1, пока , — это и есть ШИМ с длительностью периода.
Тонкости. Выход компаратора комбинационныйКомбинационная схема: выход в каждый момент определяется только текущими входами — памяти нет. Строится из одних вентилей.: в моменты, когда переключаются сразу несколько разрядов счётчика, на нём бывают иголки. Пропустите его через D-триггер, тактируемый тем же генератором, — импульс сдвинется на один такт, что безразлично. Код переписывайте во входной регистр-защёлку по переносу счётчика, в начале периода, иначе смена кода посреди периода даст один импульс неверной длины (двигатель дёрнется). Код 0 даёт постоянный ноль, а наибольший код 4095 — «1» в течение 4095 тактов из 4096: 100 % недостижимы, как и полная шкала любого ЦАП.
Двоичный умножитель частоты и усреднение
Ещё один путь — двоичный умножитель частоты (раздел 8.6). Он превращает параллельный двоичный или двоично-десятичный код в последовательность импульсов, средняя частота которой пропорциональна коду. Усредним её — получим ЦАП. Подвох в том, что импульсы умножителя распределены неравномерно, и постоянная времени усреднения должна превышать самый длинный период его выходной последовательности; она может оказаться неприемлемо большой. Зато если усредняет сама нагрузка, метод раскрывается полностью.
Классический пример — цифровое управление температурой. Каждый импульс умножителя включает нагреватель на целый период (или полупериод) сетевого напряжения. Умножитель настраивают так, чтобы его наименьшая частота укладывалась целое число раз в удвоенную частоту сети, а ток коммутирует твердотельное релеТвердотельное реле — оптрон со светодиодом на входе и симистором или МОП-ключами на выходе: коммутирует сетевую нагрузку без контактов, с развязкой. или симистор в момент перехода сетевого напряжения через ноль.
| Мгновенные | Усредняющие во времени | |
|---|---|---|
| ЦАП | взвешенные резисторы, R-2R, переключаемые токи | частота → напряжение, ШИМ, умножитель частоты |
| АЦП (о них дальше) | параллельный, последовательного приближения | интегрирующие, дельта-сигмаДельта-сигма-преобразователь уравновешивает средний входной ток порциями эталонного заряда; число порций за цикл — результат., напряжение → частота |
| Что важно | момент взятия отсчёта, апертура | длительность усреднения, подавление помех |
Обратите внимание на водораздел. Резисторные и токовые ЦАП по сути мгновенны: какой код — такой и выход прямо сейчас. Три последних способа усредняют во времени. Ровно так же делятся и АЦП: одни берут мгновенный отсчёт, другие выдают среднее за интервал. Какой из двух вариантов нужен — вопрос принципиальный, и мы ещё не раз к нему вернёмся.
Подогрев стола 3D-принтера (600 Вт от сети 50 Гц) включают через симисторСимистор (триак) — двунаправленный тиристор: открывается импульсом управляющего тока и проводит переменный ток до перехода тока через ноль. целыми периодами сети, начиная с перехода через ноль. Мощность задаёт 6-разрядный код: в цикле из 64 периодов стол включён на N из них. Найдите длительность цикла и среднюю мощность при N = 45.
Решение
Период сети 20 мс, цикл с — для алюминиевой плиты с тепловой постоянной в минуты это мгновенно. Средняя мощность Вт, шаг регулирования Вт. Включение в нуле убирает помехи и броски тока, а коммутация целыми периодами (а не полупериодами) не создаёт в сети постоянной составляющей.
9.3.4Умножающие ЦАП и логометрия
- Умножающий ЦАПУмножающий ЦАП: выход равен произведению аналогового опорного входа на цифровой код, . выдаёт произведение аналогового опорного входа на код: .
- Если датчик и преобразователь питаются от одного напряжения, оно сокращается — измеряется отношение (логометрияЛогометрическое измерение — измерение отношения: датчик и преобразователь питаются от одного напряжения, и его колебания на результат не влияют.).
- Логометрия даёт точность выше стабильности эталона и питания: так работают мост, таймер 555, термисторТермистор — резистор, сопротивление которого сильно зависит от температуры (обычно падает при нагреве). в делителе.
Посмотрим на формулы ЦАП ещё раз: опорное напряжение входит в них множителем. Значит, если подать на вход эталона не постоянное напряжение, а сигнал, ЦАП станет перемножителем аналоговой величины на число. Почти все рассмотренные схемы это умеют: у ЦАП на источниках токаИсточник тока — устройство, ток которого почти не зависит от напряжения на нагрузке (бесконечное дифференциальное сопротивление); идеал — ., например, масштаб всех токов можно задавать внешним программирующим током, а у ЦАП без встроенного эталона достаточно подать сигнал на вывод опорного напряжения. Такой прибор называют умножающим ЦАП.
Самое интересное следствие — логометрические измерения. Пусть термистор стоит в делителе, который питается от той же шины, что служит опорной для АЦП. Шина «просела» — уменьшились и напряжение на датчике, и шкала АЦП, в одной пропорции; код не изменился. Измеряется, по сути, отношение двух сопротивлений. Так можно мерить и регулировать точнее, чем стабилен эталон или источник питания, — или, наоборот, обойтись дешёвым эталоном.
Что здесь что (5)
- Общая шина U_п. питает и датчик, и вход опорного напряжения АЦП
- Точный резистор 10 кОм. верхнее плечо делителя
- Термистор R_t. нижнее плечо: его сопротивление и измеряем
- АЦП. код — от не зависит
- Вход опорного напряжения. та же шина: при её падении шкала АЦП сжимается в той же пропорции
Идея старая. Классический мост — логометрический прибор: добиваясь нуля между выходами двух делителей, мы приравниваем два отношения сопротивлений, и напряжение питания моста в результат не входит. Таймер 555 (раздел 5.3) держит частоту при изменении питания по той же причине: конденсатор заряжается от питания, а пороги — ⅓ и ⅔ того же питания, и частота зависит только от RC. Вернёмся к этой идее, когда дойдём до АЦП.
В сетевом аудиоплеере громкость регулирует 10-разрядный умножающий ЦАП: . Какой код даёт ослабление 12 дБ и какова фактическая ошибка ослабления (в дБ) из-за округления кода?
Решение
−12 дБ — это множитель : , округляем до 257. Фактически дБ, ошибка ≈ 0,007 дБ — на слух незаметно. А вот внизу шкалы точность падает: при −48 дБ , ошибка дБ, и шаги регулировки становятся грубыми. Поэтому для регуляторов громкости делают ЦАП с логарифмической шкалой или ставят перед ЦАП ступенчатый аттенюаторАттенюатор — точный регулируемый ослабитель сигнала (обычно резистивный делитель), часто проградуированный в децибелах..
Датчик температуры воды в электрическом бойлере — NTC-термистор в нижнем плече делителя с точным резистором 4,70 кОм; делитель питается от шины 3,3 В микроконтроллера, и от неё же берётся опорное напряжение его 12-разрядного АЦП. АЦП показывает код 2900. Найдите . Изменится ли код, если шина просядет до 3,0 В?
Решение
Код от не зависит — это логометрия. Из находим кОм. При просадке шины до 3,0 В напряжение на термисторе и шкала АЦП уменьшатся в одной пропорции — код останется 2900.
9.3.5Как выбрать ЦАП
- Конкретные типы ЦАП меняются, а вопросы при выборе остаются: точность, скорость, подстройка, входная часть, эталон, выход, питание, корпус, цена.
- Разрядность берите с запасом: точность 0,1 % — это 10–11 разрядов, т. е. на деле 12-разрядный ЦАП.
- Для многих медленных уставок удобны многоканальные ЦАП с защёлками и выходом по напряжению.
Ассортимент огромен, и он постоянно обновляется, поэтому полезнее помнить классы ЦАП, а не номера. Дешёвые 8-разрядные ЦАП бывают с двойной буферизацией входа и по четыре в корпусе (AD7524, DAC0830, DAC8408, AD7225). Видео-ЦАП работают с выходом на нагрузку 75 Ом и частотами в десятки и сотни мегагерц (HDG0807, Bt-110, а самые быстрые — на арсениде галлия). 12-разрядные универсальные ЦАП часто рассчитаны на 8-разрядную шину (AD7248, DAC1230, AD7548). На вершине — 16–18-разрядные звуковые (PCM54, AD1860) и промышленные (DAC71/72, DAC729).
Каким бы ни был ассортимент на сегодня, проверять у кандидата приходится одно и то же:
- Точностьразрядность, линейность, монотонность
- Скоростьвремя установления, выбросы при смене кода
- Сопряжениезащёлки, логические уровни, ток или напряжение на выходе
- Обвязкаэталон, подстройки, питание, корпус — и цена
| Что проверить | Вопросы |
|---|---|
| а) точность | разрядность, интегральная и дифференциальная нелинейность, монотонность |
| б) быстродействие | время установления до ½ МЗР, выбросы при смене кода (glitch) |
| в) установка | нужна ли внешняя подстройка нуля и шкалы |
| г) входная часть | есть ли регистр-защёлка (двойная буферизация), совместимость с КМОП/ТТЛТранзисторно-транзисторная логика: биполярное семейство, питание +5 В, порог ≈1,3 В, заметный ток покоя. Серии LS, ALS, AS, F./ЭСЛ |
| д) опорный источник | внутренний или внешний; можно ли умножать |
| е) выход | ток или напряжение, допустимый размах на токовом выходе, диапазон, полярность |
| ж) питание | какие напряжения нужны, потребляемая мощность |
| з) корпус | лучше меньше выводов: узкий корпус, а для поверхностного монтажа — маленький SOIC |
| и) цена | с учётом всей обвязки, а не только самой микросхемы |
На стенде для испытания лазерных диодов микроконтроллер должен задавать четыре независимых напряжения смещения 0…5 В с точностью 0,05 % и обновлять их десять раз в секунду по SPI. Какое решение разумнее?
Решение
0,05 % — это 1/2000, т. е. не меньше 11 разрядов; 12 разрядов дают шаг 0,024 %, а 14 — с запасом. Скорость не нужна, зато важно, чтобы каждый канал держал своё значение (защёлки) и выдавал напряжение без внешних усилителей. Счетверённый ЦАП с SPI — ровно то, что требуется. 8-разрядный ШИМ не даёт точности (шаг 0,4 %), видео-ЦАП — дорогое излишество, а мультиплексорМультиплексор — набор ключей с дешифратором: по двоичному адресу соединяет с выходом один из нескольких входов. без выборки-хранения не удержит четыре выхода между обновлениями.
9.3.6АЦП: от мгновенных к интегрирующим
- Параллельный АЦП — компараторов и наибольшая скорость; полупараллельный экономит компараторы ценой второго шага.
- Последовательное приближение — двоичный поиск за n тактов ЦАП: быстро и точно, но выброс на входе губит результат.
- Преобразование в частоту и одностадийное интегрирование усредняют вход; одностадийный прост, но точен лишь настолько, насколько стабильны C, ток и такт.
Принципиально разных способов превратить напряжение в число — около шести, и у каждого своя ниша. Разберём их по порядку, от самого быстрого к самому точному, — ровно настолько подробно, чтобы уверенно выбирать. Те же методы работают и в АЦП, подключаемых прямо к шине микропроцессора; устроены они так же.
Параллельный («мгновенный») АЦП
Представьте линейку из компараторов. На один вход каждого подано измеряемое напряжение, на другой — свой порог от резисторной цепочки, пороги идут через равные интервалы. Все компараторы ниже входного уровня срабатывают, все выше — нет, и остаётся только шифратору приоритета назвать номер самого верхнего сработавшего. Крайние резисторы цепочки берут половинного номинала, R/2, — тогда пороги стоят на ½, 1½, 2½… МЗР, и ошибка квантования симметрична.
Что здесь что (6)
- Верхний R/2. сдвигает все пороги на полшага — квантование симметрично, ±½ МЗР
- Резисторная цепочка. делит на равные ступени — пороги компараторов
- Верхний компаратор. срабатывает, когда вход выше самого высокого порога
- Вход. подан сразу на все компараторы — отсчёт берётся мгновенно
- Шифратор приоритетаШифратор приоритета выдаёт номер самого старшего из активных входов; в параллельном АЦП — номер верхнего сработавшего компаратора.. выдаёт номер самого верхнего сработавшего компаратора
- Выход D_2…D_0. трёхразрядный код
Быстрее не бывает: время преобразования — задержка компаратора плюс задержка шифратора. Промышленные параллельные АЦП различают от 16 до 1024 уровней (4–10 разрядов) и делают от 15 до 300 млн отсчётов в секунду. Но каждый лишний разряд удваивает число компараторов, так что с ростом разрядности такие АЦП быстро становятся громоздкими, горячими и дорогими. Типичный представитель — 8-разрядный АЦП на 20 млн отсчётов/с (биполярный TDC1048 или КМОП-вариант IDT75C48).
Если столько компараторов не по карману, делают полупараллельный (двухступенчатый) АЦП. Сначала параллельный преобразователь половинной разрядности грубо оцифровывает вход. Внутренний ЦАП восстанавливает это грубое значение, его вычитают из входа, а остаток оцифровывает второй параллельный преобразователь — получаются младшие разряды. На 8 разрядах это 2×15 компараторов вместо 255. Полупараллельные АЦП (ADC0820, AD7820/4/8) недороги и уступают в скорости только полностью параллельным.
Что здесь что (5)
- Грубый АЦП. 4 старших разряда — первый параллельный шаг
- ЦАП. восстанавливает грубое значение; точен он должен быть на уровне полной разрядности
- Вычитатель. остаток = вход − восстановленное значение
- Точный АЦП. оцифровывает остаток — 4 младших разряда
- Регистр. собирает все 8 разрядов
У параллельного АЦП есть достоинство, полезное даже при невысокой частоте отсчётов, — очень малое апертурное времяАпертурное время — интервал, за который преобразователь «берёт отсчёт» входа; чем оно короче, тем быстрее сигнал можно оцифровать без искажений.: выходы компараторов фиксируются за наносекунды, и вход просто не успевает измениться. Поэтому для оцифровки быстрых колебаний он хорош и тогда, когда отсчёты нужны редко.
Последовательное приближение
Вспомните игру «угадай число от 1 до 100»: спрашиваешь «больше 50?», потом «больше 75?» — и за семь вопросов число найдено. Самый распространённый АЦП играет ровно в эту игру. Он подаёт пробные коды на внутренний ЦАП, а компаратор отвечает, выше или ниже входа оказалось пробное напряжение. Для n разрядов нужно n вопросов — двоичный поиск, начинающийся с середины шкалы.
- Все разряды в «0»регистр очищен по сигналу «пуск»
- Старший разряд → «1»ЦАП выдаёт половину шкалы
- Сравнениеесли выход ЦАП не превышает входа — разряд остаётся «1», иначе возвращается в «0»
- Следующий разрядто же для каждого разряда, от старшего к младшему
- «Готово»через n тактов в регистре — код входа
Снаружи такой АЦП выглядит просто: вход «пуск», выход «готово», код — параллельно, n линиями, а иногда ещё и последовательно, по одной линии старшим разрядом вперёд. Внутри — ЦАП, компаратор и регистр последовательного приближения с логикой; всё это вполне по силам собрать и на отдельных микросхемах в учебной лаборатории.
Что здесь что (5)
- Компаратор. решает судьбу пробного разряда: выход ЦАП ≤ входа?
- ЦАП. превращает пробный код в напряжение для сравнения
- РПП. регистр последовательного приближения: ставит разряды по очереди
- Логика управления. «пуск» начинает цикл, «готово» сообщает о конце
- Тактовый генератор. один такт — один разряд
Если медленно провести вход через весь диапазон и смотреть на выход внутреннего ЦАП осциллографом, на экране вырастет полное «дерево» двоичного поиска: каждая ветвь — решение по очередному разряду. АЦП последовательного приближения одновременно точны и быстры: им нужно всего n установлений ЦАП, и при 8–12 разрядах преобразование занимает 1–50 мкс.
Отсчёт здесь короткий, но не мгновенный. Если вход за время преобразования меняется плавно, ошибка не превысит величины этого изменения. С резкими скачками хуже.
И ещё одна особенность: при хорошей общей точности у таких АЦП встречаются странные локальные нелинейности и пропущенные коды. Причина — внутренний ЦАП R-2R: переход вроде 0111…1 → 1000…0 требует идеального согласования старшего разряда со всеми остальными.
Остроумный выход нашли в серии ADC0800 фирмы National Semiconductor: вместо лестницы R-2R — цепочка из одинаковых резисторов и дерево аналоговых ключейАналоговый ключ — электронный выключатель сигнала: замкнутый пропускает напряжение любого уровня в обе стороны (малое ), разомкнутый — почти разрыв цепи., которое выбирает нужный отвод. Каждый отвод по определению выше предыдущего, поэтому такой ЦАП монотонен по построению, и пропущенных кодов нет.
Что здесь что (3)
- Цепочка одинаковых R. равных резисторов: каждый отвод выше предыдущего — монотонность гарантирована
- Дерево ключей. код регистра выбирает ровно один отвод
- К компаратору. напряжение выбранного отвода — пробный уровень
Родственник — следящий АЦПСледящий АЦП: реверсивный счётчик шагает на 1 МЗР вверх или вниз по решению компаратора и «ползёт» за входом.: пробный код в нём хранит реверсивный счётчикРеверсивный счётчик — считает и вверх, и вниз: направление задаёт вход U/D ('191) или раздельные тактовые входы ('193)., который по решению компаратора делает шаг на 1 МЗР вверх или вниз. После скачка входа он мучительно медленен — до шагов, — зато плавно меняющийся сигнал отслеживает быстрее, чем АЦП последовательного приближения: каждый новый отсчёт стоит ему одного шага.
В зарядном устройстве напряжение аккумулятора (после делителя) измеряет 8-разрядный АЦП последовательного приближения со шкалой 0…5 В: код соответствует пробному напряжению В. Вход — 3,1 В. Какой будет код (в десятичной записи) и какое пробное напряжение выдаст внутренний ЦАП на третьем такте?
Решение
МЗР = 19,53 мВ. Такт 1: пробуем 1000 0000 = 2,5 В ≤ 3,1 — разряд остаётся. Такт 2: 1100 0000 = 3,75 В > 3,1 — сбрасываем. Такт 3: 1010 0000 = 3,125 В > 3,1 — тоже сбрасываем (промах всего на 25 мВ!). Такт 4: 1001 0000 = 2,8125 — оставляем. Такт 5: 1001 1000 = 2,969 — оставляем. Такт 6: 1001 1100 = 3,047 — оставляем. Такт 7: 1001 1110 = 3,086 — оставляем. Такт 8: 1001 1111 = 3,105 > 3,1 — сбрасываем. Итог .
Для цифрового осциллографа рассматривают 12-разрядный параллельный АЦП. Сколько ему нужно компараторов и во сколько раз меньше обойдётся двухступенчатый полупараллельный АЦП той же разрядности (по 6 разрядов на ступень)?
Решение
Параллельный: компараторов. Полупараллельный: две ступени по , всего 126. Отношение . Платить приходится временем двух преобразований и точностью: ЦАП и вычитатель между ступенями должны ошибаться меньше чем на ½ МЗР полной 12-разрядной шкалы.
Напряжение → частота
Можно пойти обходным путём: превратить вход в импульсы с частотой, пропорциональной напряжению, а частоту уже сосчитать. В простейшем варианте конденсатор заряжают током, пропорциональным входу, и сбрасывают при достижении порога. Точнее работают схемы с обратной связью: скажем, выход преобразователя частота → напряжение сравнивают с входом и подбирают частоту импульсов так, чтобы входы компаратора сравнялись. Но чаще всего применяют уравновешивание зарядаУравновешивание заряда: интегратор держат около нуля, добавляя эталонные порции заряда; их число пропорционально интегралу входа. — о нём чуть ниже.
Метод удобен, когда результат проще передать по длинному кабелю частотой или когда нужна именно частота. Если скорость не важна, импульсы считают за фиксированное время и получают число, пропорциональное среднему входу, — на этом построены многие приборы средней точности, на три знака.
Одностадийное интегрирование
По команде «пуск» одновременно запускаются генератор линейно нарастающего напряжения (пилы) и счётчик тактов от стабильного генератора. Как только пила догоняет вход, компаратор останавливает счёт: число в счётчике пропорционально входному напряжению. Потом конденсатор разряжается, счётчик сбрасывается, и всё начинается заново.
И всё же одностадийный метод жив — там, где нужна не абсолютная точность, а высокое разрешение и одинаковая ширина всех ступенек, т. е. малая дифференциальная нелинейность. Пример — амплитудный анализатор импульсов в ядерной спектрометрии: пиковый детекторПиковый детектор — запоминает на конденсаторе наибольшее значение входного сигнала. запоминает амплитуду каждого импульса, АЦП превращает её в номер канала, и важно, чтобы все каналы были одной ширины. АЦП последовательного приближения с его неравными ступеньками тут проигрывает. Тот же приём служит для превращения интервалов времени в амплитуду и обратно.
Самодельный одностадийный АЦП для измерителя ёмкости: пила нарастает со скоростью 5 В/мс, тактовая частота 10 МГц, вход 0…2 В. Найдите вес МЗР, наибольший счёт и время преобразования на полной шкале. На сколько процентов и в какую сторону изменится показание, если тактовая частота уйдёт вниз на 2 % (остальное неизменно)?
Решение
За один такт (0,1 мкс) пила поднимается на мВ — это и есть МЗР. На полной шкале 2 В: отсчётов за 0,4 мс.
Время до сравнения от такта не зависит, а число тактов пропорционально частоте. Частота ниже на 2 % — показание на 2 % меньше, изменение −2 %. Точно так же целиком переходят в результат ошибки ёмкости, тока заряда и сдвиг компаратора — в этом и слабость одностадийного метода.
9.3.7Интегрирующие АЦП: уравновешивание заряда
- Интегрирующий АЦП сравнивает вход с эталоном с помощью одного и того же конденсатора — поэтому точность самого конденсатора не нужна.
- Результат — среднее за время ; помехи с частотами (сеть 50 Гц при мс) подавляются полностью.
- Двухстадийный: — R, C и такт сокращаются; дельта-сигма уравновешивает ток порциями заряда.
- Расплата за точность — скорость: миллисекунды и десятки миллисекунд на отсчёт.
Следующая группа методов похожа на взвешивание на рычажных весах: неизвестную величину сравнивают с эталоном на одном и том же «коромысле» — конденсаторе, и важно лишь отношение сигнала к эталону. Все эти АЦП интегрируют, т. е. усредняют вход на фиксированном интервале. Отсюда два важных преимущества:
- Детали можно взять попроще. Конденсатор работает и для сигнала, и для эталона, поэтому к его точности и стабильности почти нет требований; к компаратору — умеренные. С теми же деталями получаем выше точность, или ту же точность — дешевле.
- Помехи подавляются сами. Результат пропорционален среднему входу за время интегрирования. Если это время кратно периоду сети, помеха частоты сети и всех её гармоник исчезает полностью. В общем случае помеха частоты при интегрировании за время ослабляется так:
Характеристика обращается в ноль на всех частотах и в среднем спадает как (график ниже). Для сети 50 Гц выбирают мс или кратное ему, например 100 мс; в странах с сетью 60 Гц — 1/60 с и кратные.
Общий недостаток всех интегрирующих методов по сравнению с последовательным приближением — скорость: отсчёт занимает миллисекунды, а то и десятые доли секунды.
Щитовой вольтметр интегрирует вход ровно 100 мс. Рядом работает дизель-генератор с частотой 62 Гц, и его наводка попадает на вход. Во сколько децибелДецибел — логарифмическая мера отношения: по напряжению, по мощности. +6 дБ — напряжение вдвое, +20 дБ — в 10 раз. она ослабляется? А помеха сети 50 Гц, если тактовый генератор прибора ушёл на 0,2 % (время интегрирования стало 100,2 мс)?
Решение
; ; , т. е. ослабление 30,4 дБ.
Для 50 Гц при мс: , , — ослабление 54 дБ вместо бесконечного. Вот почему тактовую частоту делают кварцевой или подстраивают по сети.
Двухстадийное интегрирование
Этот метод устраняет почти все слабости одностадийного и поэтому встречается повсюду — от карманного мультиметра до лабораторного вольтметра. Цикл состоит из двух половин (график ниже):
- Заряд: фиксированное время тактов; конденсатор интегратораИнтегратор — схема, выход которой пропорционален интегралу входа по времени: . заряжается током, точно пропорциональным входу
- Разряд постоянным эталонным токомдо нуля; время разряда пропорционально входу
- Счётна время открывается счётчик тактов; его конечное состояние — результат
Заряд, накопленный за первую стадию, равен заряду, снятому за вторую. Запишем это:
В ответе нет ни , ни , ни частоты тактов. Ёмкость может «гулять» как угодно: и заряд, и разряд идут со скоростью, обратно пропорциональной . Сдвиг и дрейф компаратора тоже компенсируются — каждый цикл начинается и кончается на одном и том же напряжении (а в хороших схемах — и с одинаковым наклоном).
Лучшие приборы перед каждым измерением делают автокоррекцию нуляАвтокоррекция нуля: перед измерением на вход подают ноль, измеряют собственную ошибку прибора и вычитают её из результата.: подают на вход ноль, тем же интегратором и компаратором измеряют собственную «ошибку нуля» и вычитают её из следующего результата. Ошибку шкалы это не устраняет — строгие требования остаются только к эталонному току разряда. Но сделать точный эталон напряжения или тока сравнительно просто, а масштаб устанавливают подстройкой этого тока.
Советы по постройке
Двухстадийное интегрированиеДвухстадийное интегрирование: заряд интегратора входом фиксированное время, затем разряд эталоном; время разряда пропорционально входу, R, C и такт сокращаются. — сердце цифровых мультиметров и измерительных модулей с разрешением от 10 до 18 разрядов. Если скорость не нужна, оно даёт лучшую точность за свои деньги, отличное подавление сетевой помехи и строго монотонную характеристику.
Проектируем двухстадийный АЦП для лабораторного блока питания: тактов, тактовая частота 10 кГц (время интегрирования — 5 периодов сети), В, наибольший вход 3,000 В. Выход интегратора не должен превышать 10 В, входной резистор кОм. Найдите , наибольший счёт и ёмкость интегратора.
Решение
с — ровно пять периодов сети 50 Гц. . Пик интегратора В, откуда с и мкФ (полипропилен). Цикл длится до с плюс автокоррекция нуля — около двух-трёх измерений в секунду.
Дельта-сигма-преобразователи
Ещё одна идея уравновешивания: средний входной ток нейтрализуют переключаемым внутренним источником тока (или заряда). Вход подают на интегратор, выход интегратора сравнивают с постоянным уровнем, например с нулём (схема ниже).
На каждом такте, смотря по состоянию компаратора, импульс тока фиксированной длительности — то есть фиксированная порция заряда — отправляется либо в суммирующую точку, либо в землю. Порции идут так, чтобы средний ток в суммирующей точке был нулевым. Счётчик подсчитывает, сколько раз порция попала в суммирующую точку за заданное число тактов, скажем за 4096. Результат пропорционален среднему входу за эти 4096 тактов. Похоже на то, как наполняют бак вёдрами: считая вёдра, вылитые за час, узнаёшь средний расход утечки, которую они восполняют.
Что здесь что (7)
- Входной резистор R. превращает входное напряжение в ток суммирующей точки
- Источник I₀. эталонный ток — порции заряда
- Ключ. по решению триггераЭлемент памяти на один бит с двумя устойчивыми состояниями (бистабильный мультивибратор). отправляет порцию в суммирующую точку или нет
- Интегратор (C). копит разность входного и эталонного токов
- Компаратор. следит, выше или ниже нуля выход интегратора
- D-триггер. запоминает решение компаратора на такт — порции кратны такту
- Счётчик. считает «включения» за цикл — результат
Порции можно получать и резистором от стабильного эталона — ведь суммирующая точка находится под потенциалом земли. Тогда сопротивление замкнутого ключа должно быть мало по сравнению с этим резистором, а его изменения не должны вызывать дрейфа.
АЦП с коммутируемым конденсатором
Близкий родственник — метод «перекачки заряда». Небольшой конденсатор раз за разом заряжают от стабильного эталона до известного заряда и сбрасывают этот заряд в суммирующую точку; компаратор на выходе интегратора управляет частотой таких переключений.
Особенно удобен метод при однополярном питании: чтобы порция имела нужный знак, обе обкладки конденсатора переключают КМОП-ключами. Пример — преобразователь напряжение → частота LM331, которому хватает одного источника +5 В (его можно использовать и как ГУНГУН — генератор, управляемый напряжением: частота пропорциональна входному напряжению., раздел 5.3).
Что объединяет интегрирующие АЦП
Все методы уравновешивания заряда усредняют вход на фиксированном интервале и поэтому, как и двухстадийные, умеют не замечать сетевую помеху с её гармониками. Они точны, дёшевы (хороший компаратор не нужен) и строго монотонны, но медленнее последовательного приближения. Масштаб разницы: интегрирующий AD1170 выдаёт 18 разрядов за 66 мс, а 16-разрядный AD76 последовательного приближения — за 15 мкс, в четыре тысячи раз быстрее.
| Двухстадийные | Дельта-сигма, коммутируемые конденсаторы | |
|---|---|---|
| Компаратор | нужен воспроизводимый | допустим и неточный |
| Ключи | нетребовательны (скорость, инжекция зарядаИнжекция заряда — при выключении ключа на ПТ часть заряда затвора перетекает на конденсатор и даёт ступеньку .) | нужна точная коммутация зарядов |
| Подавление сети | да, при кратном периоду | да, при кратном периоду |
| Пример | AD1175K — 22 разряда, 50 мс (многостадийный) | AD1170 — 18 разрядов, 66 мс |
Различие в требованиях к деталям зеркальное. Дельта-сигма и коммутируемые конденсаторыКоммутируемый конденсатор: ёмкость , переключаемая с частотой , переносит заряд как резистор . мирятся с неточным компаратором, но требуют точной коммутации зарядов. Двухстадийным нужен воспроизводимый компаратор, зато ключи могут быть медленными и с заметной инжекцией заряда. Рекордсмен по разрядности — многостадийный 22-разрядный AD1175K, ему нужно 50 мс на преобразование (о нём ещё ниже).
Вход любого интегрирующего АЦП может быть по напряжению (через резистор) или по току — прямо в суммирующую точку. На токовом входе сдвиг ОУ интегратора роли не играет, а на входе по напряжению даёт ошибку, равную самому сдвигу. Поэтому токовый вход хорош для широкого динамического диапазонаДинамический диапазон — отношение наибольшего неискажённого сигнала к уровню шума, в децибелах., особенно с датчиками, которые сами являются источниками тока, — фотодиодами, фотоумножителями.
И наконец, внутри каждого АЦП с уравновешиванием заряда спрятан точный преобразователь напряжения в частоту, и его можно использовать именно так: интегратор, компаратор и одновибраторОдновибратор — схема, выдающая по запуску один импульс заданной длительности., который отмеряет стандартную порцию заряда, — частота порций уравновешивает входной ток.
Люксметр на фотодиодеФотодиод — диод, обратный ток которого пропорционален падающему свету; быстрый (наносекунды), но ток мал. использует дельта-сигма-АЦП с токовым входом: эталонный ток мкА подаётся в суммирующую точку на целый такт, тактовая частота 2 МГц, цикл — 65 536 тактов. Ток фотодиода 12,3 мкА. Какой будет отсчёт, сколько длится преобразование и чему равен МЗР по току?
Решение
Баланс зарядов: , откуда ; счётчик покажет 16 121 или 16 122 — недосчитанный остаток сохранится в интеграторе и перейдёт в следующий цикл, так что в среднем ошибки нет. Время преобразования мс, МЗР по току нА.
9.3.8Что умеют готовые преобразователи
- Готовые изделия умеют многое: АЦП и ЦАП на одном кристалле, 22 разряда в модуле, видео-ЦАП и видео-АЦП со своей синхронизацией.
- При 20–22 разрядах главные враги — дрейф входного каскада и термо-ЭДСТермо-ЭДС — напряжение в цепи из разнородных металлов, спаи которых находятся при разной температуре (эффект Зеебека); единицы мкВ/°C. контактов: МЗР измеряется единицами микровольт.
Прежде чем браться за собственный преобразователь, полезно посмотреть, что уже продаётся готовым. Четыре изделия одного из лидеров отрасли, Analog Devices, хорошо очерчивают возможности.
| Изделие | Что внутри | Чем интересно |
|---|---|---|
| AD7569 — АЦП и ЦАП на одном кристалле | 8-разрядный АЦП последовательного приближения (2 мкс) с выборкой-хранением и ЦАП (установление 1 мкс); встроенные генератор и эталон; общий 8-разрядный порт | одно питание +5 В, ни подстроек, ни внешних деталей; быстрые времена шины — процессору не нужны такты ожидания, без которых не обходятся многие медленные АЦП; узкий 24-выводной корпус, малое потребление, цена — единицы долларов |
| AD1175 — 22-разрядный интегрирующий модуль | многостадийное интегрирование с автокоррекцией нуля, встроенный микропроцессор | 22 разряда (6½ десятичных знака) при 20 преобразованиях в секунду; нуль и усиление грубо устанавливаются командами по той же шине, что и результаты. Настольный прибор того же класса стоил около 4000 долларов и мерил дважды в секунду, а модуль — 800 долларов, 10 кубических дюймов, 3 Вт |
| HDG0807 — видео-ЦАП | 8 разрядов, стандартные уровни видеосигнала, выход на 75 Ом | сам формирует композитные синхроимпульсы и гашение; до 50 МГц (его кристалл AD9700 — до 100 МГц) |
| AD9502 — видео-АЦП | выделитель синхроимпульсов, петля ФАПЧ, 8-разрядный АЦП | ФАПЧ вырабатывает такты элементов изображения, синхронные с развёрткой; оцифровка до 13 МГц (кадр 512 × 512 точек) |
Самое поучительное в этом списке — 22-разрядный модуль. На шкале ±10 В его младший разряд меньше пяти микровольт, и врагами становятся вещи, которые в обычной схеме никто не замечает: температурный дрейф входного усилителя, термо-ЭДС на контактах разных металлов, утечки по плате. Встроенная автокоррекция нуля здесь — не роскошь, а необходимость.
Прецизионный 20-разрядный АЦП для весов имеет диапазон ±5 В. Найдите вес МЗР в микровольтах и допустимый температурный дрейф нуля входного каскада (мкВ/°C), при котором изменение температуры в цехе на 15 °C даст ошибку не больше 1 МЗР.
Решение
мкВ. Дрейф мкВ/°C — это уровень хороших прецизионных ОУ (раздел 7.1), и поэтому такие АЦП снабжают автокоррекцией нуля. Термо-ЭДС контактов разнородных металлов (единицы мкВ/°C) здесь сопоставимы с МЗР — входные цепи разводят симметрично и держат при одной температуре.
9.3.9Как выбрать АЦП
- Метод выбирают по скорости и точности: параллельный — для наносекунд, последовательного приближения — для микросекунд, интегрирующие — когда нужны разряды и подавление сети.
- Требуемый динамический диапазон в децибелах делите на 6: 120 дБ — это 20 разрядов.
- Если нужны высокая точность, мультиплексор и выборка-хранение, разумно взять готовую подсистему сбора данных.
Ориентироваться в методах помогает простая карта: по горизонтали время преобразования, по вертикали разрядность. Каждый метод занимает на ней свою область, и с ростом разрядности все они смещаются в сторону медленных. Абсолютные цифры с годами улучшаются, но взаимное расположение областей остаётся тем же:
| Метод | Разрядность | Скорость | Особенности |
|---|---|---|---|
| параллельный | 4–10 | десятки–сотни млн отсчётов/с | мгновенный, малое апертурное время, дорог и прожорлив |
| полупараллельный | 8–12 | единицы млн/с | дешевле параллельного, почти так же быстр |
| последовательного приближения | 8–16 | 1–50 мкс | нужна выборка-хранение; выбросы на входе опасны; возможны пропущенные коды |
| напряжение → частота | до 12–13 | мс | усредняет; результат легко передать как частоту |
| двухстадийный | 10–22 | 1–20 преобр./с | точен, дёшев, подавляет сеть, строго монотонен |
| дельта-сигма / уравновешивание заряда | 12–22 | мс–десятки мс | грубый компаратор, точная коммутация зарядов |
Выбрав метод, пройдитесь по списку вопросов к конкретной микросхеме:
- точность — разрядность, нелинейность, гарантировано ли отсутствие пропущенных кодов;
- скорость;
- нужна ли подстройка нуля и шкалы;
- питание (иным достаточно одного +5 В) и потребляемая мощность;
- корпус;
- эталон и тактовый генератор — встроенные или внешние; годится ли питание +5 В в качестве внешнего эталона; выведен ли внутренний эталон наружу (для логометрии) и можно ли его нагружать;
- входное сопротивление и диапазон: однополярный, двуполярный, переключаемый;
- входная часть: дифференциальный вход, встроенный мультиплексор, выборка-хранение, смена полярности;
- выход: параллельный, последовательный или оба; можно ли подключить прямо к шине микропроцессора (три состояния, чтение по байтам);
- цена.
Готовые подсистемы сбора данных
Когда нужна высокая точность, да ещё с мультиплексором и выборкой-хранением, имеет смысл купить подсистему целиком — модуль в металлическом корпусе размером примерно 5×10×1 см под панельку или пайку. Такие модули недёшевы, но очень просты в применении: самые трудные задачи высокого разрешения — наводки, развязку цифровой и аналоговой частей, стабильный эталон, сдвиги усилителей — изготовитель уже решил и откалибровал.
Типичный состав — схема ниже: 16 несимметричных или 8 дифференциальных входов, мультиплексор, выборка-хранение, усилитель с программируемым усилением и 16-разрядный АЦП на 20 тысяч преобразований в секунду с выдачей результата двумя байтами для 8-разрядной шины (так устроен, например, DT5716). Выпускались модули на 12–16 разрядов, с мультиплексором и без, одноканальные (DAS1157-9) — на 14–16 разрядов и 18 кГц.
Что здесь что (4)
- Мультиплексор. выбирает один из 16 входов (или из 8 дифференциальных)
- Выборка-хранение. замораживает выбранный сигнал на время преобразования
- Программируемый усилитель. подгоняет сигнал под шкалу АЦП
- 16-разрядный АЦП. 20 тыс. преобразований в секунду, результат двумя байтами
Делаем торговые весы: тензомостТензорезистор — резистор, наклеенный на упругую деталь: при её деформации меняется его сопротивление; четыре таких резистора образуют тензомост. даёт сигнал в единицы милливольт, нужное разрешение — 1/100 000 от наибольшего веса, показания обновляются 5–10 раз в секунду, а в магазине рядом холодильники и сеть 50 Гц с наводками. Какой АЦП естественнее всего?
Решение
1/100 000 — это почти 17 разрядов, а с запасом на шум и тару — 20 и больше. Скорость не нужна, зато нужны высокое разрешение, монотонность и подавление сетевой помехи; всё это дают интегрирующие дельта-сигма-АЦП (их делают специально для тензомостов, с усилителем на входе и логометрическим питанием моста). 12 разрядов — лишь 1/4096; параллельный избыточно быстр и груб; одностадийный не даст стабильности.
Нужно записывать форму одиночных лазерных импульсов длительностью 20 нс с разрешением 8 разрядов, без отдельного устройства выборки-хранения. Что выбрать?
Решение
Только параллельный АЦП берёт отсчёт за единицы наносекунд (малое апертурное время) и успевает сделать несколько отсчётов за время импульса: при 100 МГц — два, лучше 250–500 МГц. Остальные варианты либо слишком медленны, либо усредняют вход.