Аналого-цифровой преобразователь АЦП, Analog-to-digital converter, ADC

 

 

Аналого-цифровой преобразователь АЦП

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

Разрешение АЦП - минимальное изменение величины аналогового сигнала, которое может быть преобразовано данным АЦП - связано с его разрядностью. В случае единичного измерения без учёта шумов разрешение напрямую определяется разрядностью АЦП.

Разрядность АЦП характеризует количество дискретных значений, которые преобразователь может выдать на выходе. В двоичных АЦП измеряется в битах, в троичных АЦП измеряется в тритах. Например, двоичный 8-разрядный АЦП способен выдать 256 дискретных значений (0…255), поскольку 2^8 = 256, троичный 8-разрядный АЦП способен выдать 6561 дискретное значение, поскольку 3^8=6561.  Разрешение по напряжению равно разности напряжений, соответствующих максимальному и минимальному выходному коду, делённой на количество выходных дискретных значений. На практике разрешение АЦП ограничено отношением сигнал/шум входного сигнала. При большой интенсивности шумов на входе АЦП различение соседних уровней входного сигнала становится невозможным, то есть ухудшается разрешение. При этом реально достижимое разрешение описывается эффективной разрядностью (effective number of bits, ENOB), которая меньше, чем реальная разрядность АЦП. При преобразовании сильно зашумлённого сигнала младшие разряды выходного кода практически бесполезны, так как содержат шум. Для достижения заявленной разрядности отношение сигнал/шум входного сигнала должно быть примерно 6 дБ на каждый бит разрядности (6 дБ соответствует двукратному изменению уровня сигнала).

По способу применяемых алгоритмов АЦП делят на:

  •     Последовательные прямого перебора
  •     Последовательного приближения
  •     Последовательные с сигма-дельта-модуляцией
  •     Параллельные одноступенчатые
  •     Параллельные двух- и более ступенчатые (конвейерные)

Передаточная характеристика АЦП - зависимость числового эквивалента выходного двоичного кода от величины входного аналогового сигнала. Говорят о линейных и нелинейных АЦП. Такое деление условное. Обе передаточные характеристики — ступенчатые. Но для «линейных» АЦП всегда возможно провести такую прямую линию, чтобы все точки передаточной характеристики, соответствующие входным значениям \delta\cdot2^k (где \delta - шаг дискретизации, k лежит в диапазоне 0..N, где N — разрядность АЦП), были от неё равноудалены.

Линейные АЦП  Большинство АЦП считаются линейными, хотя аналого-цифровое преобразование, по сути, является нелинейным процессом (поскольку операция отображения непрерывного пространства в дискретное - операция нелинейная). Термин линейный применительно к АЦП означает, что диапазон входных значений, отображаемый на выходное цифровое значение, связан по линейному закону с этим выходным значением, то есть выходное значение k достигается при диапазоне входных значений от     m(k + b) до     m(k + 1 + b), где m и b - некоторые константы. Константа b, как правило, имеет значение 0 или −0.5. Если b = 0, АЦП называют квантователь с ненулевой ступенью (mid-rise), если же b = −0,5, то АЦП называют квантователь с нулём в центре шага квантования (mid-tread).

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

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

Точность  Имеется несколько источников погрешности АЦП. Ошибки квантования и (считая, что АЦП должен быть линейным) нелинейности присущи любому аналого-цифровому преобразованию. Кроме того, существуют так называемые апертурные ошибки, которые являются следствием джиттера (англ. jitter) тактового генератора, они проявляются при преобразовании сигнала в целом (а не одного отсчёта).  Эти ошибки измеряются в единицах, называемых МЗР — младший значащий разряд (англ.). В приведённом выше примере 8-битного двоичного АЦП ошибка в 1 МЗР составляет 1/256 от полного диапазона сигнала, то есть 0,4 %, в 5-тритном троичном АЦП ошибка в 1 МЗР составляет 1/243 от полного диапазона сигнала, то есть 0,412 %, в 8-тритном троичном АЦП ошибка в 1 МЗР составляет 1/6561, то есть 0,015 %.

Частота дискретизации  Аналоговый сигнал является непрерывной функцией времени, в АЦП он преобразуется в последовательность цифровых значений. Следовательно, необходимо определить частоту выборки цифровых значений из аналогового сигнала. Частота, с которой производятся цифровые значения, получила название частота дискретизации АЦП.  Непрерывно меняющийся сигнал с ограниченной спектральной полосой подвергается оцифровке (то есть значения сигнала измеряются через интервал времени T - период дискретизации), и исходный сигнал может быть точно восстановлен из дискретных во времени значений путём интерполяции. Точность восстановления ограничена ошибкой квантования. Однако в соответствии с теоремой Котельникова — Шеннона точное восстановление возможно, только если частота дискретизации выше, чем удвоенная максимальная частота в спектре сигнала.  Поскольку реальные АЦП не могут произвести аналого-цифровое преобразование мгновенно, входное аналоговое значение должно удерживаться постоянным, по крайней мере, от начала до конца процесса преобразования (этот интервал времени называют время преобразования). Эта задача решается путём использования специальной схемы на входе АЦП -устройства выборки-хранения (УВХ). УВХ, как правило, хранит входное напряжение на конденсаторе, который соединён со входом через аналоговый ключ: при замыкании ключа происходит выборка входного сигнала (конденсатор заряжается до входного напряжения), при размыкании — хранение. Многие АЦП, выполненные в виде интегральных микросхем, содержат встроенное УВХ.

Наложение спектров  Все АЦП работают путём выборки входных значений через фиксированные интервалы времени. Следовательно, выходные значения являются неполной картиной того, что подаётся на вход. Глядя на выходные значения, нет никакой возможности установить, как вёл себя входной сигнал между выборками. Если известно, что входной сигнал меняется достаточно медленно относительно частоты дискретизации, то можно предположить, что промежуточные значения между выборками находятся где-то между значениями этих выборок. Если же входной сигнал меняется быстро, то никаких предположений о промежуточных значениях входного сигнала сделать нельзя, а следовательно, невозможно однозначно восстановить форму исходного сигнала.  Если последовательность цифровых значений, выдаваемая АЦП, где-либо преобразуется обратно в аналоговую форму цифро-аналоговым преобразователем, желательно, чтобы полученный аналоговый сигнал был максимально точной копией исходного сигнала. Если входной сигнал меняется быстрее, чем делаются его отсчёты, то точное восстановление сигнала невозможно, и на выходе ЦАП будет присутствовать ложный сигнал. Ложные частотные компоненты сигнала (отсутствующие в спектре исходного сигнала) получили название alias (ложная частота, побочная низкочастотная составляющая). Частота ложных компонент зависит от разницы между частотой сигнала и частотой дискретизации. Например, синусоидальный сигнал с частотой 2 кГц, дискретизованный с частотой 1.5 кГц, был бы воспроизведён как синусоида с частотой 500 Гц. Эта проблема получила название наложение частот (aliasing).  Для предотвращения наложения спектров сигнал, подаваемый на вход АЦП, должен быть пропущен через фильтр нижних частот для подавления спектральных компонент, частота которых превышает половину частоты дискретизации. Этот фильтр получил название anti-aliasing (антиалиасинговый) фильтр, его применение чрезвычайно важно при построении реальных АЦП.  Вообще, применение аналогового входного фильтра интересно не только по этой причине. Казалось бы, цифровой фильтр, который обычно применяется после оцифровки, имеет несравненно лучшие параметры. Но, если в сигнале присутствуют компоненты, значительно более мощные, чем полезный сигнал, и достаточно далеко отстоящие от него по частоте, чтобы быть эффективно подавленными аналоговым фильтром, такое решение позволяет сохранить динамический диапазон АЦП: если помеха на 10 дБ сильнее сигнала, на неё впустую будет тратиться, в среднем, три бита разрядности.  Хотя наложение спектров в большинстве случаев является нежелательным эффектом, его можно использовать во благо. Например, благодаря этому эффекту можно обойтись без преобразования частоты вниз при оцифровке узкополосного высокочастотного сигнала (смотри смеситель). Для этого, однако, входные аналоговые каскады АЦП должны иметь значительно более высокие параметры, чем это требуется для стандартного использования АЦП на основной (видео или низшей) гармонике. Также для этого необходимо обеспечить эффективную фильтрацию внеполосных частот до АЦП, так как после оцифровки нет никакой возможности идентифицировать и/или отфильтровать большинство из них.

основные способы построения электронных АЦП:

  •     Параллельные АЦП прямого преобразования, полностью параллельные АЦП, содержат по одному компаратору на каждый дискретный уровень входного сигнала. В любой момент времени только компараторы, соответствующие уровням ниже уровня входного сигнала, выдают на своём выходе сигнал превышения. Сигналы со всех компараторов поступают либо прямо в параллельный регистр, тогда обработка кода осуществляется программно, либо на аппаратный логический шифратор, аппаратно генерирующий нужный цифровой код в зависимости от кода на входе шифратора. Данные с шифратора фиксируются в параллельном регистре. Частота дискретизации параллельных АЦП, в общем случае, зависит от аппаратных характеристик аналоговых и логических элементов, а также от требуемой частоты выборки значений. Параллельные АЦП прямого преобразования — самые быстрые, но обычно имеют разрешение не более 8 бит, так как влекут за собой большие аппаратные затраты (2^n-1=2^8-1=255 компараторов). АЦП этого типа имеют очень большой размер кристалла микросхемы, высокую входную ёмкость, и могут выдавать кратковременные ошибки на выходе. Часто используются для видео или других высокочастотных сигналов, а также широко применяются в промышленности для отслеживания быстро изменяющихся процессов в реальном времени.
  •     Параллельно-последовательные АЦП прямого преобразования,[5] частично последовательные АЦП, сохраняя высокое быстродействие позволяют значительно уменьшить количество компараторов (до k\cdot(2^{n/k}-1), где n — число битов выходного кода, а k — число параллельных АЦП прямого преобразования), требующееся для преобразования аналогового сигнала в цифровой (при 8-ми битах и 2-х АЦП требуется 30 компараторов). Используют два или более (k) шага-поддиапазона. Содержат в своем составе k параллельных АЦП прямого преобразования. Второй, третий и т. д. АЦП служат для уменьшения ошибки квантования первого АЦП путем оцифровки этой ошибки. На первом шаге производится грубое преобразование (с низким разрешением). Далее определяется разница между входным сигналом и аналоговым сигналом, соответствующим результату грубого преобразования (со вспомогательного ЦАП, на который подаётся грубый код). На втором шаге найденная разница подвергается преобразованию, и полученный код объединяется с грубым кодом для получения полного выгодного цифрового значения. АЦП этого типа медленнее параллельных АЦП прямого преобразования, имеют высокое разрешение и небольшой размер корпуса. Для увеличения скорости выходного оцифрованного потока данных в параллельно-последовательных АЦП прямого преобразования применяется конвейерная работа параллельных АЦП.
  •     Конвейерная работа АЦП, применяется в параллельно-последовательных АЦП прямого преобразования, в отличие от обычного режима работы параллельно-последовательных АЦП прямого преобразования, в котором данные передаются после полного преобразования, при конвейерной работе данные частичных преобразований передаются по мере готовности до окончания полного преобразования.
  •     Последовательные АЦП прямого преобразования, полностью последовательные АЦП (k=n), медленнее параллельных АЦП прямого преобразования и немного медленнее параллельно-последовательных АЦП прямого преобразования, но ещё больше (до n\cdot(2^{n/n}-1)=n\cdot(2^1-1)=n, где n — число битов выходного кода, а k — число параллельных АЦП прямого преобразования) уменьшают количество компараторов (при 8-ми битах требуется 8 компараторов). Троичные АЦП этого вида приблизительно в 1,5 раза быстрее соизмеримых по числу уровней и аппаратным затратам двоичных АЦП этого же вида[6].
  •     АЦП последовательного приближения или АЦП с поразрядным уравновешиванием содержит компаратор, вспомогательный ЦАП и регистр последовательного приближения. АЦП преобразует аналоговый сигнал в цифровой за N шагов, где N — разрядность АЦП. На каждом шаге определяется по одному биту искомого цифрового значения, начиная от СЗР и заканчивая МЗР. Последовательность действий по определению очередного бита заключается в следующем. На вспомогательном ЦАП выставляется аналоговое значение, образованное из битов, уже определённых на предыдущих шагах; бит, который должен быть определён на этом шаге, выставляется в 1, более младшие биты установлены в 0. Полученное на вспомогательном ЦАП значение сравнивается с входным аналоговым значением. Если значение входного сигнала больше значения на вспомогательном ЦАП, то определяемый бит получает значение 1, в противном случае 0. Таким образом, определение итогового цифрового значения напоминает двоичный поиск. АЦП этого типа обладают одновременно высокой скоростью и хорошим разрешением. Однако при отсутствии устройства выборки хранения погрешность будет значительно больше (представьте, что после оцифровки самого большого разряда сигнал начал меняться).
  •     АЦП дифференциального кодирования (англ. delta-encoded ADC) содержат реверсивный счётчик, код с которого поступает на вспомогательный ЦАП. Входной сигнал и сигнал со вспомогательного ЦАП сравниваются на компараторе. Благодаря отрицательной обратной связи с компаратора на счётчик код на счётчике постоянно меняется так, чтобы сигнал со вспомогательного ЦАП как можно меньше отличался от входного сигнала. По прошествии некоторого времени разница сигналов становится меньше, чем МЗР, при этом код счётчика считывается как выходной цифровой сигнал АЦП. АЦП этого типа имеют очень большой диапазон входного сигнала и высокое разрешение, но время преобразования зависит от входного сигнала, хотя и ограничено сверху. В худшем случае время преобразования равно Tmax=(2q)/fс, где q — разрядность АЦП, fс — частота тактового генератора счётчика. АЦП дифференциального кодирования обычно являются хорошим выбором для оцифровки сигналов реального мира, так как большинство сигналов в физических системах не склонны к скачкообразным изменениям. В некоторых АЦП применяется комбинированный подход: дифференциальное кодирование и последовательное приближение; это особенно хорошо работает в случаях, когда известно, что высокочастотные компоненты в сигнале относительно невелики.
  •     АЦП сравнения с пилообразным сигналом (некоторые АЦП этого типа называют Интегрирующие АЦП, также к ним относятся АЦП последовательного счета) содержат генератор пилообразного напряжения (в АЦП последовательного счета генератор ступенчатого напряжения, состоящий из счетчика и ЦАП), компаратор и счётчик времени. Пилообразный сигнал линейно нарастает от нижнего до верхнего уровня, затем быстро спадает до нижнего уровня. В момент начала нарастания запускается счётчик времени. Когда пилообразный сигнал достигает уровня входного сигнала, компаратор срабатывает и останавливает счётчик; значение считывается со счётчика и подаётся на выход АЦП. Данный тип АЦП является наиболее простым по структуре и содержит минимальное число элементов. Вместе с тем простейшие АЦП этого типа обладают довольно низкой точностью и чувствительны к температуре и другим внешним параметрам. Для увеличения точности генератор пилообразного сигнала может быть построен на основе счётчика и вспомогательного ЦАП, однако такая структура не имеет никаких других преимуществ по сравнению с АЦП последовательного приближения и АЦП дифференциального кодирования.
  •     АЦП с уравновешиванием заряда (к ним относятся АЦП с двухстадийным интегрированием, АЦП с многостадийным интегрированием и некоторые другие) содержат генератор стабильного тока, компаратор, интегратор тока, тактовый генератор и счётчик импульсов. Преобразование происходит в два этапа (двухстадийное интегрирование). На первом этапе значение входного напряжения преобразуется в ток (пропорциональный входному напряжению), который подаётся на интегратор тока, заряд которого изначально равен нулю. Этот процесс длится в течение времени TN, где T — период тактового генератора, N — константа (большое целое число, определяет время накопления заряда). По прошествии этого времени вход интегратора отключается от входа АЦП и подключается к генератору стабильного тока. Полярность генератора такова, что он уменьшает заряд, накопленный в интеграторе. Процесс разряда длится до тех пор, пока заряд в интеграторе не уменьшится до нуля. Время разряда измеряется путём счёта тактовых импульсов от момента начала разряда до достижения нулевого заряда на интеграторе. Посчитанное количество тактовых импульсов и будет выходным кодом АЦП. Можно показать, что количество импульсов n, посчитанное за время разряда, равно: n=UвхN(RI0)−1, где Uвх — входное напряжение АЦП, N — число импульсов этапа накопления (определено выше), R — сопротивление резистора, преобразующего входное напряжение в ток, I0 — значение тока от генератора стабильного тока, разряжающего интегратор на втором этапе. Таким образом, потенциально нестабильные параметры системы (прежде всего, ёмкость конденсатора интегратора) не входят в итоговое выражение. Это является следствием двухстадийности процесса: погрешности, введённые на первом и втором этапах, взаимно вычитаются. Не предъявляются жёсткие требования даже к долговременной стабильности тактового генератора и напряжению смещения компаратора: эти параметры должны быть стабильны лишь кратковременно, то есть в течение каждого преобразования (не более 2TN). Фактически принцип двухстадийного интегрирования позволяет напрямую преобразовывать отношение двух аналоговых величин (входного и образцового тока) в отношение числовых кодов (n и N в терминах, определённых выше) практически без внесения дополнительных ошибок. Типичная разрядность АЦП этого типа составляет от 10 до 18[источник не указан 682 дня] двоичных разрядов. Дополнительным достоинством является возможность построения преобразователей, нечувствительных к периодическим помехам (например, помеха от сетевого питания) благодаря точному интегрированию входного сигнала за фиксированный временной интервал. Недостатком данного типа АЦП является низкая скорость преобразования. АЦП с уравновешиванием заряда используются в измерительных приборах высокой точности.
  •     АЦП с промежуточным преобразованием в частоту следования импульсов. Сигнал с датчика проходит через преобразователь уровня, а затем через преобразователь напряжение-частота. Таким образом на вход непосредственно логической схемы поступает сигнал, характеристикой которого является лишь частота импульсов. Логический счётчик принимает эти импульсы на вход в течение времени выборки, таким образом, выдавая к её окончанию кодовую комбинацию, численно равную количеству импульсов, пришедших на преобразователь за время выборки. Такие АЦП довольно медленны и не очень точны, но тем не менее очень просты в исполнении и поэтому имеют низкую стоимость.
  •     Сигма-дельта-АЦП (называемые также дельта-сигма АЦП) производит аналого-цифровое преобразование с частотой дискретизации, во много раз превышающей требуемую, и путём фильтрации оставляет в сигнале только нужную спектральную полосу.