Структурные схемы АЦП и ЦАП
Путь сигнала от плавной линии до двоичного слова — и обратно.
Ананко Софья Михайловна · Качур Анна Юрьевна
Одно слово «АЦП» — четыре разные машины
В телефоне, осциллографе, весах и радиоприёмнике «АЦП» — это четыре устройства, у которых общее только назначение: превратить напряжение в число.
Голос с микрофона
оцифровывает
сигма-дельта
Кадр фотоаппарата
тысячи крохотных
SAR по краю сенсора
Полоса радио (SDR)
гигаотсчёты в секунду
конвейерный
Вход мультиметра
медленное напряжение
интегрирующий / ΣΔ
Одна задача — четыре несовместимых по устройству ответа, потому что каждый выжимает своё из общего компромисса.
Компромисс держится на трёх осях
- Скорость — сколько отсчётов в секунду успевает выдать преобразователь.
- Разрешение — на сколько различимых уровней делится шкала.
- Цена — площадь кристалла, потребляемая мощность и деньги.
Цель главы
- Читать паспорт АЦП: разрядность, ENOB, SFDR, DNL и INL — и понимать, где производитель приукрасил.
- Объяснять по схеме, как работают flash, SAR, конвейерный и сигма-дельта АЦП — узел за узлом.
- Понимать обратный путь: как ЦАП превращает код обратно в плавное напряжение.
- Выбирать архитектуру по карте «скорость ↔ разрешение ↔ цена» под конкретную задачу.
Идём за сигналом, узел за узлом
Дальше — четыре схемы АЦП и несколько схем ЦАП. Каждую читаем одинаково: идём по стрелкам вслед за сигналом и на каждом блоке спрашиваем: «что здесь происходит с сигналом?»
Структурная схема — упрощение: она дорисовывает связи, которых не видно на кристалле. Но именно эти «дорисованные ноги» объясняют, как всё стоит и не падает.
Как аналог
становится числом
Путь сигнала через АЦП: дискретизация, квантование, кодирование — и почему порядок именно такой.
Пропасть по двум осям
Микрофон, антенна, датчик выдают аналоговый сигнал: он непрерывен и по времени (определён в любой миг), и по уровню (0,731 В, 0,732 В и бесконечно много значений между ними).
Компьютер хранит только числа: у числа конечно знаков после запятой, и записывать его каждое мгновение нельзя.
Дискретизация → квантование → кодирование
1 · Дискретизация (sampling)
В какие моменты смотреть: вместо непрерывной линии — частокол мгновенных значений через равные промежутки.
2 · Квантование (quantization)
Каким из разрешённых уровней записать: шкалу поделили на ступеньки, отсчёт округляют до ближайшей.
3 · Кодирование (coding)
Каждой ступеньке — номер в двоичной записи. Теперь на выходе стоит число.
Тракт АЦП целиком, слева направо
УВХ «фотографирует» и держит
По команде тактового генератора УВХ мгновенно фиксирует входное напряжение и держит его, пока схема работает.
Без заморозки квантователь мерил бы движущуюся мишень: пока идёт округление, сигнал уполз бы — результат смазан.
Ритм и шкала
Тактовый генератор (clock)
Задаёт моменты выборки — ритм, в котором берутся отсчёты. От стабильности ритма прямо зависит точность на высоких частотах (это тот самый джиттер).
Источник опорного напряжения (ИОН)
Задаёт саму шкалу: какому напряжению отвечает полный размах кода.
Уплывёт опорное — уплывут разом все измерения.
Теперь, зная роли, пройдём каждый шаг подробно.
Дискретизация: когда смотреть
Мгновенные значения берут через равные промежутки Δt. Обратная величина — частота дискретизации:
Телефон
8 000 отсч/с
Компакт-диск
44 100 отсч/с
Быстрый осциллограф
миллиарды отсч/с
Сколько отсчётов достаточно, чтобы по редким точкам восстановить плавную линию без потерь? Ответ даёт теорема Котельникова — на ней держится вся цифровая связь.
Две точки на каждый период
Чтобы понять по точкам, как быстро колеблется волна, нужно поймать хотя бы две точки на период: одну наверху, одну внизу. Одной мало — между отсчётами волна могла сходить вверх и вернуться, а мы бы не заметили.
8 кГц и 44,1 кГц — из теоремы
Телефон
×2 + запас → 8 кГц
ровно поэтому телефонная сеть оцифровывает голос на 8 000 отсч/с
Компакт-диск
×2 + запас на фильтр → 44,1 кГц
частоту выбрали не наугад, а из теоремы Котельникова
Быстрая волна притворится медленной
Колесо разгоняющейся машины в кино сперва крутится вперёд, потом замирает, потом ползёт назад: камера снимает 24 кадра/с, и глаз достраивает ложное медленное движение.
Это наложение спектров (aliasing). Коварство: ложная частота попадает ровно в рабочую полосу — отфильтровать её после оцифровки нельзя.
Почему порог — именно 2·fмакс
В частотной области дискретизация размножает спектр сигнала копиями с шагом fд. Пока fд ≥ 2·fмакс — копии не задевают друг друга, и фильтр вырезает исходную; как только fд < 2·fмакс — соседние копии перекрываются, разделить их уже нельзя.
Оригинал восстанавливается свёрткой отсчётов с функцией sinc. Размерности: fд, fмакс, f, falias — герцы; Δt — секунды.
falias = |f − k·fд| (k — ближайшее целое)
Квантование: необратимая потеря
После дискретизации каждый отсчёт — всё ещё точное вещественное число, которое компьютеру не по зубам. Квантование округляет его до ближайшего из 2N заготовленных уровней.
Число ступенек задаёт потолок точности всего преобразователя — и никакая последующая обработка этот потолок не поднимет.
0,731 В на шкале 0…2 В, 8 бит
ошибка 3 мВ < ½ LSB ✓
7,8 мВ — это и шаг сетки, и предельная разрешающая способность: два входа, отличающиеся меньше чем на 7,8 мВ, восьмиразрядный АЦП, скорее всего, запишет одинаково.
Номер ступеньки → двоичное слово
У выбранной ступеньки есть номер от 0 до 2N−1; кодирование записывает его в двоичном виде. Для 94-й ступеньки восьмиразрядного АЦП:
Прямой код
однополярный сигнал: низ шкалы — нули, верх — единицы
Смещённый код
двуполярный: середина шкалы отвечает нулю
Дополнительный код
знак напряжения виден по старшему биту
В отличие от квантования, кодирование полностью обратимо: по слову однозначно восстанавливается номер уровня.
Код Грея: соседние уровни — один бит
на границе меняются все 4 бита — дрогнул компаратор → грубый сбой
меняется ровно один бит — промах остаётся в пределах ступеньки
Код Грея не уменьшает ошибку квантования, но защищает от грубого сбоя на границе двух уровней.
Когда · каким уровнем · каким словом
Три шага — три источника расхождения
- Слишком редкие отсчёты грозят наложением — лечит антиалиасный фильтр до АЦП.
- Грубые ступеньки добавляют шум квантования — лечат разрядностью.
- Неидеальное железо искажает и то, и другое — это уже свойство конкретной архитектуры.
Чтобы преобразователи можно было сравнивать между собой, расхождения сводят к нескольким числам — с них и начнём.
Чем меряют
преобразователь
Разрядность, ENOB, SFDR, DNL и INL — пять величин, по которым читают паспорт любого АЦП.
Разрядность N — число делений шкалы
N бит режут диапазон на 2N уровней — как линейка с 2N рисками. Шаг между соседними уровнями — младший значащий разряд (LSB, least significant bit):
где Vшк — полный размах шкалы. Но паспортная разрядность обещает точность, которой в реальном сигнале обычно нет, — и разрыв между обещанием и делом надо уметь читать.
Больше бит — мельче ступеньки
8 бит против 16 бит на шкале 2 В
8 бит:
LSB = 2 В / 256 = 7,8 мВ
шаг заметный — «толстые» ступеньки
16 бит:
LSB = 2 В / 65 536 = 30 мкВ
шаг в 256 раз мельче — микровольты
Каждый добавленный бит удваивает число уровней и вдвое уменьшает шаг. Звучит как «чем больше бит, тем лучше» — но за каждый бит платят, и дальше мы увидим чем.
Округление оставляет ошибку ±½ LSB
Квантователь округляет вход к ближайшему уровню — ошибка не превышает половины ступеньки.
На «шевелящемся» сигнале эта ошибка ведёт себя как шум с равномерным распределением и среднеквадратичным значением:
Каждый бит — плюс 6 дБ к чистоте
Из шума квантования следует предельное отношение сигнал/шум идеального N-разрядного АЦП:
12 бит → ≈74 дБ · 16 бит → ≈98 дБ · 24 бита → ≈146 дБ (теоретический потолок)
Вывод формулы — по шагам
Размерности: N — бит; LSB, Vшк — вольты; SNR — децибелы.
SINAD и ENOB: биты по делу
Реальный преобразователь шумит и искажает сильнее идеального. Всю «грязь» суммирует SINAD (signal-to-noise-and-distortion) — отношение сигнала к сумме шума и всех гармоник.
Обратив формулу предыдущего слайда, получают эффективное число разрядов:
ENOB — честная разрядность: сколько бит реально работает на данном сигнале, а не сколько написано на корпусе.
«16 бит» на бумаге — 9 честных на радиочастоте
Одна и та же микросхема, «на бумаге» 16-битная:
радиочастотный вход → 9 ENOB
Чем выше частота входа, тем сильнее апертурный джиттер tдж — дрожание момента отсчёта — размазывает выборку и срезает ENOB. Поэтому скорость и разрешение борются друг с другом даже внутри одной схемы.
Джиттер бьёт по крутому сигналу
Момент выборки дрожит на tдж. Ошибка напряжения — это дрожание, умноженное на крутизну сигнала в точке отсчёта:
Медленному сигналу дрожание почти безразлично; на крутом фронте та же ошибка времени даёт большую ошибку напряжения.
SFDR: расстояние до самой высокой «палки»
Приёмнику часто важнее не общий шум, а одиночная ложная линия в спектре, которую можно принять за сигнал.
SFDR — динамический диапазон, свободный от паразитных составляющих: расстояние по уровню от полезного тона до самой высокой паразитной «палки», в дБ.
Кривая лестница: DNL и INL
DNL — на сколько реальный шаг между соседними кодами отличается от идеального LSB. Если где-то DNL ≤ −1 LSB — код вообще не появляется: пропущенный код.
INL — накопленное отклонение всей характеристики «вход → код» от прямой.
Пять величин — общий язык всех схем
- Разрядность N — сколько делений обещано.
- ENOB — сколько бит работает честно.
- SFDR — насколько чист спектр от ложных линий.
- DNL — насколько ровные ступеньки.
- INL — насколько пряма характеристика в целом.
Дальше — четыре архитектуры. Про каждую спрашиваем одно и то же: чем именно она платит за эти пять величин?
Flash-АЦП:
самый быстрый
Сравнить вход со всеми уровнями разом — и получить код за один такт.
Flash: сравнить вход со всеми уровнями разом
Идея прямолинейна: не искать уровень по очереди, а спросить у всех сразу.
- Резисторный делитель задаёт 2N−1 опорных порогов.
- На каждый порог — свой компаратор, сравнивающий с ним вход.
- Компараторы ниже входного напряжения выдают 1, выше — 0: получается термометрический код (снизу единицы, сверху нули, одна граница).
- Приоритетный шифратор находит границу и переводит её в двоичный код.
Вся работа — за один такт, без циклов и обратных связей.
Flash-АЦП изнутри
Термометрический столбик единиц
Каждый бит удваивает схему
10 бит → 1023 компаратора
Каждый добавленный разряд удваивает число компараторов, площадь кристалла и потребляемую мощность — рост экспоненциальный, тогда как у соседних архитектур он линейный.
Метастабильность и «искровые» коды
Метастабильность
Компаратор, попавший входом ровно на порог, «зависает» между 0 и 1 и не успевает определиться за такт.
Sparkle codes
Одиночные разрывы в термометрическом столбике (…1 1 0 1 0 0…). Шифратор превращает такой разрыв в грубо неверный отсчёт.
Разрешение упирается и в согласование: пороги задаёт делитель, а компараторы должны различать соседние уровни на один LSB — разброс сопротивлений и смещения компараторов эту грань размывают.
Разброс σ против тающего LSB
К 8–9 битам случайный разброс порога и смещения компаратора сравнивается с шагом шкалы — граница термометрического кода перестаёт быть верной.
Дальше помогают только калибровка и подгонка (trimming), которые стоят площади и времени, — поэтому в чистом виде flash выше восьми бит почти не делают.
Размерности: σ, LSB, Vшк — вольты; N — бит.
Там, где полоса важнее разрядности
- Входные каскады быстрых осциллографов — увидеть гигагерцовый фронт.
- Приёмники высокоскоростных последовательных линий (SerDes).
- Быстрее flash уже некуда — он и так выдаёт код за один такт; за каждый лишний бит платят удвоением схемы.
SAR: последовательное
приближение
Угадывать код по битам, как взвешивание гирями по степеням двойки. Рабочая лошадка измерений.
SAR: взвешивание гирями по степеням двойки
Где не нужна предельная скорость, выгоднее не лить кремний на тысячи компараторов, а угадывать код по битам — как на весах с набором гирь 8, 4, 2, 1.
- Устройство выборки-хранения замораживает отсчёт.
- Единственный компаратор сравнивает его с напряжением внутреннего ЦАП.
- Логика SAR ведёт двоичный поиск: ставит старший бит, смотрит — не превысила ли догадка вход, — оставляет или сбрасывает, и переходит к следующему.
Петля SAR изнутри
Каждый шаг вдвое уменьшает неопределённость
Сердце SAR — ёмкостный ЦАП
«Внутренний ЦАП» на схеме — не абстракция, а ёмкостный ЦАП с перераспределением заряда (CDAC): матрица конденсаторов с весами 2k.
Он сам запоминает отсчёт — заменяет отдельное устройство выборки-хранения.
Он сам формирует пробные пороги — переключая конденсаторы между опорным напряжением и землёй.
Нулевая задержка и экономичность
Нулевая задержка
Результат готов сразу после последнего сравнения — отсчёт за отсчётом, без конвейерного «хвоста». Поэтому SAR любят контуры обратной связи и многоканальный сбор данных с опросом каналов по очереди.
Экономичность
Потребление масштабируется с частотой: на низкой скорости микросхема почти ничего не ест. Площадь растёт с разрядностью линейно, не по экспоненте.
Что ставит SAR предел скорости
τ = Rвкл·C
Больше бит — не только лишний такт, но и более жёсткое требование к установлению на каждом такте: чем выше разрядность, тем больше «постоянных времени» нужно уложить в тот же отрезок.
Именно время установления ёмкостного ЦАП, а не логика, ставит предел скорости SAR.
Размерности: Tпр, τ — секунды; C — фарады; Rвкл — омы.
SAR — кирпич самых быстрых преобразователей
Тот же SAR, уменьшенный и размноженный, служит кирпичом для самых быстрых АЦП.
Несколько SAR-каналов, работающих по очереди со сдвигом фазы, складываются в чередующийся АЦП на гигаотсчёты в секунду — к этому приёму вернёмся в конце главы, на правом краю карты.
Конвейерный АЦП:
каскад ступеней
Скорость flash плюс разрядность SAR: каждая ступень доедает остаток предыдущей.
Конвейер = скорость flash + разрядность SAR
Сигнал проходит каскад одинаковых ступеней. Каждая ступень:
- грубо оцифровывает вход — всего несколько бит (тот самый flash на 3–4 бита, которому теперь прощают малую разрядность);
- тут же восстанавливает это значение внутренним ЦАП;
- вычитает его из входа — получается остаток, ошибка грубого преобразования;
- усиливает остаток и передаёт следующей ступени для уточнения.
Биты всех ступеней выравнивают по времени и склеивают в общий код.
Одна ступень — и каскад
Грубое приближение доводится ступень за ступенью
По отсчёту за такт — но с запаздыванием
Ступени работают одновременно над разными отсчётами: пока последняя доводит старый, первая уже хватает новый. Поэтому конвейер выдаёт по отсчёту за такт, как flash.
Но результат конкретного отсчёта выходит с задержкой на глубину конвейера — несколько тактов.
Точность из неточных ступеней
Если бы ступень определяла ровно свои b бит, любая ошибка её компаратора уходила бы в код без права на исправление.
Поэтому ступени берут «с запасом»: разрешают, например, 1,5 бита вместо одного и оставляют диапазоны соседних ступеней перекрывающимися.
Тогда ошибка компаратора не выбрасывает остаток за пределы того, что поймает следующая ступень, а цифровая логика на выходе, суммируя биты со сдвигом и перекрытием, эту ошибку вычитает.
Широкая полоса при среднем разрешении
- Цифровое видео и медицинская визуализация.
- Приёмники и передатчики связи.
- Типично 12–16 бит при десятках и сотнях миллионов отсчётов в секунду.
Сигма-дельта:
точность из 1 бита
Грубейший квантователь на завышенной частоте — и 20+ честных бит после усреднения. Основа всего аудио.
ΣΔ переворачивает обычную логику
Вместо многоразрядного квантователя — грубейший, однобитный. Но работающий на сильно завышенной частоте и формирующий шум.
ΔΣ-модулятор
Интегратор + однобитный компаратор + однобитный ЦАП в обратной связи. Выдаёт быстрый однобитный поток с вытолкнутым наверх шумом.
Цифровой дециматор
Фильтр нижних частот с понижением частоты: усредняет однобитный поток в многоразрядные отсчёты высокой точности и убирает высокочастотный шум.
ΔΣ-модулятор и дециматор изнутри
Плотность единиц повторяет амплитуду
Два числа задают, что схема выжмет
Коэффициент передискретизации — во сколько раз частота дискретизации превышает необходимый минимум:
Порядок модулятора L — сколько интеграторов стоит в петле.
Удвоил OSR — получил (L + ½) бита
+(6·L + 3) дБ = +(L + ½) бита
- L = 1 → 1,5 бита за удвоение частоты
- L = 2 → 2,5 бита за удвоение
- отсюда рекорды: 1 бит + передискретизация + 2–3-й порядок = 20+ эффективных разрядов
Полная формула — и её главный член
Nкв — разрядность квантователя (здесь 1). Главный член — последний: он линеен по логарифму OSR, и каждое удвоение (Δlg = 0,301) прибавляет (20L+10)·0,301 ≈ (6L+3) дБ.
Формирование шума: интеграторы давят шум квантования на низких частотах и выталкивают его вверх, за полосу сигнала, — откуда дециматор его срезает.
Размерности: SNR — дБ; OSR, L — безразмерны; fд, fмакс — герцы.
Там, где важен последний микровольт
- Аудио — 24-разрядные преобразователи с отношением сигнал/шум порядка 130 дБ; на ΣΔ держатся обе стороны тракта: и запись, и воспроизведение.
- Электронные весы и прецизионные датчики.
- Сейсморегистраторы и измерительные приборы.
ЦАП: обратный путь
Из кода — в напряжение: взвесить разряды, удержать отсчёт и сгладить ступеньки. За пайкой — Пин.
ЦАП: из кода — в напряжение
Простейший ЦАП взвешивает разряды по степеням двойки: каждый бит через свой ключ подключает источник тока или напряжения веса 2k, вклады суммируются — получается ступенчатое напряжение, пропорциональное коду.
- Фиксатор нулевого порядка (ZOH) держит каждый отсчёт до следующего.
- Реконструирующий фильтр сглаживает ступеньки в плавный сигнал.
Взвешенные разряды и лесенка R-2R
Ступеньки ZOH и сглаживание фильтром
Ловушка двоичного взвешивания
Веса старших разрядов должны совпадать с суммой всех младших до долей LSB. Иначе на переходе через середину шкалы — когда старший бит включается, а все младшие гаснут:
характеристика даёт скачок и теряет монотонность.
Как строят настоящие ЦАП
Лесенка R-2R
Любые веса из резисторов всего двух номиналов, которые легко согласовать.
Строковый (делитель с отводами)
Код просто выбирает отвод — напряжение не может пойти назад: монотонность по построению.
Сегментированный
Старшие разряды — термометрические (как во flash, но наоборот), младшие — двоичные: нет большого скачка на середине шкалы, DNL мал.
Токовый (current-steering)
Разряды переключают токи, а не заряжают ёмкости — видеовыходы и передатчики, вплоть до прямого цифрового синтеза радиочастоты.
Чем больше разрядность двоичной схемы, тем жёстче требование к старшему весу — именно поэтому старшую часть сегментируют.
ΣΔ-ЦАП: сложность — в дешёвую цифру
Карта выбора
Скорость ↔ разрешение ↔ цена: четыре пятна на плоскости и граница компромисса между ними.
Четыре пятна — почти без пересечений
Лучшей «вообще» — нет
| Архитектура | Скорость | Разрядность | Особенности | Где применяют |
|---|---|---|---|---|
| Flash | предельная (сотни МОтсч/с — ГОтсч/с) | 6–8 бит | один такт, нулевая задержка; площадь и мощность растут как 2N | осциллографы, SerDes, ступень конвейера |
| SAR | до ~5 МОтсч/с | 8–18 бит | нулевая задержка, низкая мощность; площадь растёт линейно | управление, сбор данных, датчики, IoT, фотосенсоры |
| Конвейерный | десятки–сотни МОтсч/с | 12–16 бит | отсчёт за такт, но задержка в несколько тактов | видео, визуализация, цифровая связь |
| Сигма-дельта | низкая (полоса — единицы МГц) | 16–24+ бит | передискретизация и формирование шума; задержка дециматора | аудио, весы, сейсмика, прецизионные измерения |
Есть лучшая — под конкретную полосу и требуемую достоверность.
Запоминаем главу по характерам
- Кар-Карыч — путь сигнала: рассказал всё с самого начала, шаг за шагом.
- Совунья — метрики: доктор меряет честно: ENOB, а не паспорт.
- Крош — flash: самый шустрый, отвечает за один такт.
- Лосяш — SAR: методично взвешивает «гирями», бит за битом, экономно.
- Ёжик — конвейер: всё по ступенькам, дисциплина и порядок.
- Нюша — сигма-дельта: не торопится, зато выдаёт самый чистый звук.
- Пин — ЦАП: спаяет число обратно в плавное напряжение.
Гигаотсчёты — распараллеливанием старых схем
Правый край карты берут не новой архитектурой: несколько одинаковых каналов — обычно SAR или конвейерных — работают по очереди со сдвигом фазы тактов.
Так собирают преобразователи на единицы и десятки ГОтсч/с для приёмников 5G, SDR, широкополосных осциллографов.
Рассогласование каналов и interleaving spurs
Каналы чуть различаются смещением, усилением и, главное, моментом выборки (временной перекос, skew). Различия повторяются с периодом M — и превращаются в спектре в паразитные линии, бьющие по SFDR — той самой характеристике, что критична приёмнику.
Радио — сразу в цифру
Прямая оцифровка радиочастоты (direct RF sampling): полосу радиосигнала подают на быстрый АЦП без переноса на промежуточную частоту — из приёмника выбрасывают смеситель и гетеродин.
Оба приёма — чередование и прямая оцифровка — не отдельные строки на карте, а способ отодвинуть её правую границу, оставаясь в рамках знакомых flash, SAR и конвейера.
Пара «АЦП — ЦАП» замкнулась
- На входе аналог измеряют — сравнением (flash), поиском (SAR), каскадом (конвейер) или передискретизацией (ΣΔ) — превращая в код.
- На выходе код взвешивают обратно в напряжение и сглаживают.
- Выбор архитектуры — чтение карты «скорость ↔ разрешение ↔ цена»; чередование — чтобы отодвинуть границу.
Обозначения, добавленные в главе
| Знак | Смысл и размерность |
|---|---|
| N | разрядность; шкала делится на 2N уровней (бит) |
| LSB | шаг квантования, LSB = Vшк/2N (В) |
| Vшк | полный размах шкалы (В) |
| SNR | сигнал/шум; идеал ≈ 6,02·N + 1,76 (дБ) |
| SINAD | сигнал к сумме шума и искажений (дБ) |
| ENOB | эффективное число разрядов (бит) |
| SFDR | диапазон, свободный от паразитных линий (дБ) |
| Знак | Смысл и размерность |
|---|---|
| DNL | отклонение шага кода от LSB (LSB) |
| INL | отклонение характеристики от прямой (LSB) |
| tдж | апертурный джиттер — дрожание выборки (с) |
| OSR | передискретизация, fд/(2·fмакс) (—) |
| L | порядок ΔΣ — число интеграторов (—) |
| fд, fмакс | частота дискретизации и верхняя частота (Гц) |