Аналого-цифровые преобразователи предназначены для преобразования аналогового сигнала (обычно напряжения) в цифровую форму (последовательность цифровых значений напряжения, измеренных с равными промежутками времени). Одним из важнейших параметров аналого-цифровых преобразователей является разрядность его выходных данных. Именно этот параметр обеспечивает отношение сигнал/шум преобразования и в конечном итоге динамический диапазон цифрового сигнала. Разрядность АЦП стараются увеличивать для увеличения отношения сигнал/шум. Отношение сигнал/шум аналого-цифрового преобразователя можно определить по следующей формуле:
SN = N × 6 + 3,5 (дБ)где N — количество двоичных разрядов на выходе АЦП.
Не менее важным параметром АЦП является время получения на его выходе следующего отсчета цифрового сигнала. Получить одновременно высокую скорость преобразования и большую разрядность является очень сложной задачей, для решения которой было разработано большое количество видов аналого-цифровых преобразователей. Рассмотрим их основные характеристики и области применения.
Наиболее скоростным видом АЦП являются . В этих видах АЦП требуется передавать большие потоки данных, поэтому они передаются в параллельном виде. Это приводит к тому, что параллельные АЦП обладают большим количеством внешних выводов. В результате габариты микросхем параллельных АЦП достаточно велики. Еще одной особенностью параллельных АЦП является значительный ток потребления. Перечисленные недостатки данного вида АЦП являются платой за высокую скорость преобразования аналогового сигнала в цифровую форму его представления. Скорость преобразования в параллельных АЦП достигает 500 миллионов отсчетов в секунду (500 MSPS). По теореме Котельникова максимальная частота входного сигнала может достигать 250 МГц. В качестве примера можно назвать микросхему AD6641-500 фирмы Analog Devices или микросхему ISLA214P50 фирмы Intersil.
Для достижения еще более высоких скоростей преобразования используют параллельное соединение несколько параллельных АЦП, работающих по очереди. При этом для того, чтобы обеспечить передачу данных к обрабатывающей микросхеме приходится использовать несколько параллельных шин (по одной на каждый АЦП). В качестве примера подобного вида аналого-цифровых преобразователей можно назвать микросхему АЦП MAX109 фирмы Maxim, обеспечивающую скорость преобразования до 2,2 GSPS.
Немного более экономичным видом АЦП являются . В этих видах АЦП в процессе аналого-цифрового преобразования участвуют цифро-аналоговые преобразователи. Высокая скорость подачи на выход отсчетов аналогового сигнала реализуется за счет конвейерной обработки. В результате для последовательно-параллельных FWG скорость преобразования и скорость выдачи на выход очередного цифрового отсчета не совпадают. В качестве примера можно назвать микросхемы AD6645 и AD9430 фирмы Analog Devices.
Самым распространенным видом АЦП в настоящее время являются . Несмотря на то, что в данных видах аналого-цифровых преобразователей невозможна конвейерная обработка данных, а значит время преобразования и период выдачи данных на выходе АЦП совпадают, данный вид АЦП обладает достаточным быстродействием для работы в широком диапазоне задач.
В настоящее время дискретизация сигнала в устройствах выборки и хранения (УВХ) и преобразование напряжения в двоичные числа (цифровые отсчеты сигнала) производятся в одной микросхеме. Типовая схема включения АЦП с параллельным выходом приведена на рисунке 1.
В этой схеме для начала аналого-цифрового преобразования микропроцессор или программируемая логическая схема должны подать сигнал начала преобразования (в данной схеме это сигнал WR). После завершения преобразования микросхема АЦП выдает сигнал готовности данных INTR и микропроцессор может считать двоичный код, соответствующий входному напряжению. При преобразовании сигнала по теореме Котельникова частота дискретизации f д поступает на вход WR и ее стабильность обеспечивается микропроцессором.
Следует отметить, что при обработке низкочастотных сигналов часто требуется выполнять одновременно и аналого-цифровое преобразование и цифро-аналоговое преобразование. В ряде случаев требуется в одной микросхеме объединять несколько аналоговых каналов, например, стереообработка звука. Кроме того, в данных видах микросхем в их состав включаются низкочастотные или полосовые фильтры, операционные усилители, что позволяет подавать на их вход сигнал непосредственно с выхода микрофона, а с выхода — на телефон. Подобный вид микросхем АЦП/ЦАП получил особое название — кодеки.
Литература:
Вместе со статьей "Виды аналого-цифровых преобразователей (АЦП)" читают:
– электронная схема, принимающая на свои входы два аналоговых сигнала и выдающая логический «0» или «1», в зависимости от того, какой из сигналов больше.
Два входа для подачи аналоговых сигналов носят названия неинвертирующий
(+) и инвертирующий
(-). Если на неинвертирующем входе напряжение больше, чем на инвертирующем, выходной сигнал равен логической «1», иначе – логическому «0».
Будучи включенным, компаратор позволяет сравнивать значения напряжений, присутствующих на соответствующих входах микроконтроллера.
Результатом сравнения является логическое значение, которое может быть прочитано внутри программы. По результату сравнения может быть сгенерировано прерывание, а также осуществлен захват состояния таймера-счетчика.
Чтобы выводы микроконтроллера, обладающие соответствующей альтернативной функцией, можно было использовать аналоговым компаратором, они должны быть сконфигурированы как аналоговые входы.
Аналого-цифровой преобразователь
(АЦП) – это устройство, преобразующее входной аналоговый сигнал в дискретный код (цифровой сигнал), чаще всего – двоичный. Обратное преобразование осуществляется при помощи цифро-аналогового преобразователя
(ЦАП).
В качестве аналогового сигнала может выступать любая физическая непрерывно меняющаяся величина либо ее эквивалент. Чаще всего в качестве входного сигнала используется эквивалентный сигнал напряжения для получения цифровой информации о температуре, токе, влажности и т.д.
Большинство аналого-цифровых преобразователей являются линейными, то есть диапазон входных значений, отображаемый на выходное цифровое значение, связан по линейному закону с этим выходным значением. Основой построения АЦП является аналоговый компаратор.
Разрешение АЦП
– минимальное изменение величины аналогового сигнала, которое может быть преобразовано данным АЦП. Обычно измеряется в вольтах.
Разрядность АЦП
характеризует количество дискретных значений, которые преобразователь может выдать на выходе. Измеряется в битах. Например, АЦП, способный выдать 2 8 =256
дискретных значений (0..255), имеет разрядность 8 бит.
равно разности напряжений, соответствующих максимальному и минимальному выходному коду, делённой на количество выходных дискретных значений.
где N
– разрядность АЦП.
При этом напряжение на входе преобразователя можно оценить, зная полученное цифровое значение аналого-цифрового преобразования Value
На практике разрешение АЦП ограничено отношением сигнал-шум входного сигнала. При большой интенсивности шумов на входе АЦП различение соседних уровней входного сигнала становится невозможным, то есть ухудшается разрешение. При этом реально достижимое разрешение описывается эффективной разрядностью
(effective number of bits - ENOB), которая меньше, чем реальная разрядность АЦП. При преобразовании сильно зашумленного сигнала младшие биты выходного кода практически бесполезны, так как содержат шум.
Дискретизацией сигнала
называется измерительное преобразование непрерывного сигнала x(t)
в последовательность мгновенных значений этого сигнала X(k i T)
, соответствующих определенным моментам времени k i T
(T
– шаг дискретизации).
Дискретизацию сигнала по времени можно проводить с постоянным шагом T
= const или с переменным шагом T
= var.
Частота дискретизации
– частота, с которой производится аналого-цифровое преобразование сигнала.
Время преобразования
– время от начала преобразования до появления на выходе АЦП соответствующего кода.
Опорное напряжение
– напряжение, соответствующее максимальному выходному коду.
Поскольку реальные АЦП не могут произвести аналого-цифровое преобразование мгновенно, входное аналоговое значение должно удерживаться постоянным, по крайней мере, от начала до конца процесса преобразования (этот интервал времени называют время преобразования ). Эта задача может решаться путем использования специальной схемы на входе АЦП – устройства выборки-хранения (УВХ). УВХ, как правило, хранит входное напряжение в конденсаторе, который соединен с входом через аналоговый ключ: при замыкании ключа происходит выборка входного сигнала (конденсатор заряжается до входного напряжения), при размыкании – хранение. Как правило, модули АЦП содержат встроенное УВХ.
Разрешение АЦП - минимальное изменение величины аналогового сигнала, которое может быть преобразовано данным АЦП - связано с его разрядностью. В случае единичного измерения без учёта шумов разрешение напрямую определяется разрядностью АЦП.
Разрядность АЦП характеризует количество дискретных значений, которые преобразователь может выдать на выходе. В двоичных АЦП измеряется в битах , в троичных АЦП измеряется в тритах . Например, двоичный 8-разрядный АЦП способен выдать 256 дискретных значений (0…255), поскольку 2 8 = 256 {\displaystyle 2^{8}=256} , троичный 8-разрядный АЦП способен выдать 6561 дискретное значение, поскольку 3 8 = 6561 {\displaystyle 3^{8}=6561} .
Разрешение по напряжению равно разности напряжений, соответствующих максимальному и минимальному выходному коду, делённой на количество выходных дискретных значений. Например:
На практике разрешение АЦП ограничено отношением сигнал/шум входного сигнала. При большой интенсивности шумов на входе АЦП различение соседних уровней входного сигнала становится невозможным, то есть ухудшается разрешение. При этом реально достижимое разрешение описывается эффективной разрядностью (англ. effective number of bits, ENOB ), которая меньше, чем реальная разрядность АЦП. При преобразовании сильно зашумлённого сигнала младшие разряды выходного кода практически бесполезны, так как содержат шум. Для достижения заявленной разрядности отношение сигнал/шум входного сигнала должно быть примерно 6 дБ на каждый бит разрядности (6 дБ соответствует двукратному изменению уровня сигнала).
По способу применяемых алгоритмов АЦП делят на:
АЦП первых двух типов подразумевают обязательное применение в своем составе устройства выборки и хранения (УВХ). Это устройство служит для запоминания аналогового значения сигнала на время, необходимое для выполнения преобразования. Без него результат преобразования АЦП последовательного типа будет недостоверным. Выпускаются интегральные АЦП последовательного приближения, как содержащие в своем составе УВХ, так и требующие внешнее УВХ [ ] .
Большинство АЦП считаются линейными, хотя аналого-цифровое преобразование, по сути, является нелинейным процессом (поскольку операция отображения непрерывного пространства в дискретное - операция нелинейная).
Термин линейный применительно к АЦП означает, что диапазон входных значений, отображаемый на выходное цифровое значение, связан по линейному закону с этим выходным значением, то есть выходное значение k достигается при диапазоне входных значений от
m (k + b ) m (k + 1 + b ),где m и b - некоторые константы. Константа b , как правило, имеет значение 0 или −0.5. Если b = 0, АЦП называют квантователь с ненулевой ступенью (mid-rise ), если же b = −0,5, то АЦП называют квантователь с нулём в центре шага квантования (mid-tread ).
Важным параметром, описывающим нелинейность, является интегральная нелинейность (INL) и дифференциальная нелинейность (DNL).
Пусть мы оцифровываем синусоидальный сигнал x (t) = A sin 2 π f 0 t {\displaystyle x(t)=A\sin 2\pi f_{0}t} . В идеальном случае отсчёты берутся через равные промежутки времени. Однако в реальности время момента взятия отсчёта подвержено флуктуациям из-за дрожания фронта синхросигнала (clock jitter ). Полагая, что неопределённость момента времени взятия отсчёта порядка Δ t {\displaystyle \Delta t} , получаем, что ошибка, обусловленная этим явлением, может быть оценена как
E a p ≤ | x ′ (t) Δ t | ≤ 2 A π f 0 Δ t {\displaystyle E_{ap}\leq |x"(t)\Delta t|\leq 2A\pi f_{0}\Delta t} .Легко видеть, что ошибка относительно невелика на низких частотах, однако на больших частотах она может существенно возрасти.
Эффект апертурной погрешности может быть проигнорирован, если её величина сравнительно невелика по сравнению с ошибкой квантования. Таким образом, можно установить следующие требования к дрожанию фронта сигнала синхронизации:
Δ t < 1 2 q π f 0 {\displaystyle \Delta t<{\frac {1}{2^{q}\pi f_{0}}}} ,где q {\displaystyle q} - разрядность АЦП.
Разрядность АЦП | Максимальная частота входного сигнала | ||||
---|---|---|---|---|---|
44,1 кГц | 192 кГц | 1 МГц | 10 МГц | 100 МГц | |
8 | 28,2 нс | 6,48 нс | 1,24 нс | 124 пс | 12,4 пс |
10 | 7,05 нс | 1,62 нс | 311 пс | 31,1 пс | 3,11 пс |
12 | 1,76 нс | 405 пс | 77,7 пс | 7,77 пс | 777 фс |
14 | 441 пс | 101 пс | 19,4 пс | 1,94 пс | 194 фс |
16 | 110 пс | 25,3 пс | 4,86 пс | 486 фс | 48,6 фс |
18 | 27,5 пс | 6,32 пс | 1,21 пс | 121 фс | 12,1 фс |
24 | 430 фс | 98,8 фс | 19,0 фс | 1,9 фс | 190 ас |
Из этой таблицы можно сделать вывод о целесообразности применения АЦП определённой разрядности с учётом ограничений, накладываемых дрожанием фронта синхронизации (clock jitter ). Например, бессмысленно использовать прецизионный 24-битный АЦП для записи звука, если система распределения синхросигнала не в состоянии обеспечить ультрамалой неопределённости.
Вообще качество тактового сигнала чрезвычайно важно не только по этой причине. Например, из описания микросхемы AD9218 (Analog Devices):
Any high speed ADC is extremely sensitive to the quality of the sampling clock provided by the user. A track-and-hold circuit is essentially a mixer. Any noise, distortion, or timing jitter on the clock is combined with the desired signal at the analog-to-digital output.
То есть любой высокоскоростной АЦП крайне чувствителен к качеству оцифровывающей тактовой частоты, подаваемой пользователем. Схема выборки и хранения , по сути, является смесителем (перемножителем). Любой шум, искажения, или дрожание фазы тактовой частоты смешиваются с полезным сигналом и поступают на цифровой выход.
Аналоговый сигнал является непрерывной функцией времени , в АЦП он преобразуется в последовательность цифровых значений. Следовательно, необходимо определить частоту выборки цифровых значений из аналогового сигнала. Частота, с которой производятся цифровые значения, получила название частота дискретизации АЦП.
Непрерывно меняющийся сигнал с ограниченной спектральной полосой подвергается оцифровке (то есть значения сигнала измеряются через интервал времени T - период дискретизации), и исходный сигнал может быть точно восстановлен из дискретных во времени значений путём интерполяции . Точность восстановления ограничена ошибкой квантования. Однако в соответствии с теоремой Котельникова - Шеннона точное восстановление возможно, только если частота дискретизации выше, чем удвоенная максимальная частота в спектре сигнала.
Поскольку реальные АЦП не могут произвести аналого-цифровое преобразование мгновенно, входное аналоговое значение должно удерживаться постоянным, по крайней мере, от начала до конца процесса преобразования (этот интервал времени называют время преобразования ). Эта задача решается путём использования специальной схемы на входе АЦП - устройства выборки-хранения (УВХ). УВХ, как правило, хранит входное напряжение на конденсаторе , который соединён со входом через аналоговый ключ: при замыкании ключа происходит выборка входного сигнала (конденсатор заряжается до входного напряжения), при размыкании - хранение. Многие АЦП, выполненные в виде интегральных микросхем , содержат встроенное УВХ.
Все АЦП работают путём выборки входных значений через фиксированные интервалы времени. Следовательно, выходные значения являются неполной картиной того, что подаётся на вход. Глядя на выходные значения, нет никакой возможности установить, как вёл себя входной сигнал между выборками. Если известно, что входной сигнал меняется достаточно медленно относительно частоты дискретизации, то можно предположить, что промежуточные значения между выборками находятся где-то между значениями этих выборок. Если же входной сигнал меняется быстро, то никаких предположений о промежуточных значениях входного сигнала сделать нельзя, а следовательно, невозможно однозначно восстановить форму исходного сигнала.
Если последовательность цифровых значений, выдаваемая АЦП, где-либо преобразуется обратно в аналоговую форму цифро-аналоговым преобразователем , желательно, чтобы полученный аналоговый сигнал был максимально точной копией исходного сигнала. Если входной сигнал меняется быстрее, чем делаются его отсчёты, то точное восстановление сигнала невозможно, и на выходе ЦАП будет присутствовать ложный сигнал. Ложные частотные компоненты сигнала (отсутствующие в спектре исходного сигнала) получили название alias (ложная частота, побочная низкочастотная составляющая). Частота ложных компонент зависит от разницы между частотой сигнала и частотой дискретизации. Например, синусоидальный сигнал с частотой 2 кГц, дискретизованный с частотой 1.5 кГц, был бы воспроизведён как синусоида с частотой 500 Гц. Эта проблема получила название наложение частот (aliasing ).
Для предотвращения наложения спектров сигнал, подаваемый на вход АЦП, должен быть пропущен через фильтр нижних частот для подавления спектральных компонент, частота которых превышает половину частоты дискретизации. Этот фильтр получил название anti-aliasing (антиалиасинговый) фильтр, его применение чрезвычайно важно при построении реальных АЦП.
Вообще, применение аналогового входного фильтра интересно не только по этой причине. Казалось бы, цифровой фильтр, который обычно применяется после оцифровки, имеет несравненно лучшие параметры. Но, если в сигнале присутствуют компоненты, значительно более мощные, чем полезный сигнал, и достаточно далеко отстоящие от него по частоте, чтобы быть эффективно подавленными аналоговым фильтром, такое решение позволяет сохранить динамический диапазон АЦП: если помеха на 10 дБ сильнее сигнала, на неё впустую будет тратиться, в среднем, три бита разрядности.
Хотя наложение спектров в большинстве случаев является нежелательным эффектом, его можно использовать во благо. Например, благодаря этому эффекту можно обойтись без преобразования частоты вниз при оцифровке узкополосного высокочастотного сигнала (смотри смеситель). Для этого, однако, входные аналоговые каскады АЦП должны иметь значительно более высокие параметры, чем это требуется для стандартного использования АЦП на основной (видео или низшей) гармонике. Также для этого необходимо обеспечить эффективную фильтрацию внеполосных частот до АЦП, так как после оцифровки нет никакой возможности идентифицировать и/или отфильтровать большинство из них.
Некоторые характеристики АЦП могут быть улучшены путём использования методики подмешивания псевдослучайного сигнала (англ. dither ). Она заключается в добавлении к входному аналоговому сигналу случайного шума (белый шум) небольшой амплитуды. Амплитуда шума, как правило, выбирается на уровне половины МЗР. Эффект от такого добавления заключается в том, что состояние МЗР случайным образом переходит между состояниями 0 и 1 при очень малом входном сигнале (без добавления шума МЗР был бы в состоянии 0 или 1 долговременно). Для сигнала с подмешанным шумом вместо простого округления сигнала до ближайшего разряда происходит случайное округление вверх или вниз, причём среднее время, в течение которого сигнал округлён к тому или иному уровню, зависит от того, насколько сигнал близок к этому уровню. Таким образом, оцифрованный сигнал содержит информацию об амплитуде сигнала с разрешающей способностью лучше, чем МЗР, то есть происходит увеличение эффективной разрядности АЦП. Негативной стороной методики является увеличение шума в выходном сигнале. Фактически ошибка квантования размазывается по нескольким соседним отсчётам. Такой подход является более желательным, чем простое округление до ближайшего дискретного уровня. В результате использования методики подмешивания псевдослучайного сигнала мы имеем более точное воспроизведение сигнала во времени. Малые изменения сигнала могут быть восстановлены из псевдослучайных скачков МЗР путём фильтрации. Кроме того, если шум детерминирован (амплитуда добавляемого шума точно известна в любой момент времени), то его можно вычесть из оцифрованного сигнала, предварительно увеличив его разрядность, тем самым почти полностью избавиться от добавленного шума.
Звуковые сигналы очень малых амплитуд, оцифрованные без псевдослучайного сигнала, воспринимаются на слух очень искажёнными и неприятными. При подмешивании псевдослучайного сигнала истинный уровень сигнала представлен средним значением нескольких последовательных отсчётов.
Ниже перечислены основные способы построения электронных АЦП:
Неэлектронные АЦП обычно строятся на тех же принципах.
Существуют оптические методы [ ] преобразования электрического сигнала в код. Они основаны на способности некоторых веществ изменять показатель преломления под действием электрического поля. При этом проходящий через вещество луч света изменяет свою скорость или угол отклонения на границе этого вещества в соответствии с изменением показателя преломления. Существует несколько способов регистрации этих изменений. Например, линейка фотоприемников регистрирует отклонение луча, переводя его в дискретный код. Различные интерференционные схемы с участием задержанного луча позволяют оценивать изменения сигнала или строить компараторы электрических величин.
Оптические АЦП могут иметь очень высокое быстродействие.
Для большинства АЦП разрядность составляет от 6 до 24 бит , частота дискретизации до 1 МГц. Мега- и гигагерцовые АЦП также доступны (12-битный 2-канальный 1 GSPS АЦП AD9234 по состоянию на декабрь 2015 г. стоил $238). Мегагерцовые АЦП требуются в цифровых видеокамерах , устройствах видеозахвата и цифровых ТВ-тюнерах для оцифровки полного видеосигнала. Коммерческие АЦП обычно имеют выходную ошибку от ±0,5 до ±1,5 МЗР.
Один из факторов, увеличивающих стоимость микросхем , - это количество выводов, поскольку они вынуждают делать корпус микросхемы больше, и каждый вывод должен быть присоединён к кристаллу. Для уменьшения количества выводов часто АЦП, работающие на низких частотах дискретизации, имеют последовательный интерфейс . Применение АЦП с последовательным интерфейсом зачастую позволяет увеличить плотность монтажа и создать плату с меньшей площадью.
Часто микросхемы АЦП имеют несколько аналоговых входов, подключённых внутри микросхемы к единственному АЦП через аналоговый мультиплексор . Различные модели АЦП могут включать в себя устройства выборки-хранения, инструментальные усилители или высоковольтный дифференциальный вход и другие подобные цепи.
АЦП встроены в большую часть современной звукозаписывающей аппаратуры, поскольку обработка звука делается, как правило, на компьютерах; даже при использовании аналоговой записи АЦП необходим для перевода сигнала в PCM -поток, который будет записан на информационный носитель.
Современные АЦП, используемые в звукозаписи, могут работать на частотах дискретизации до 192 кГц , и даже до 384 кГц при 32 bit. Это оправдано, так как новейшие исследования показали что человек слышит до 60 кГц, а не до 20 кГц как считалось ранее,и чтобы записать без искажений сигналы до 60 кГц, нужна повышенная частота дискретизации. К тому же известно, что спектральный состав звука "трубы с сурдинкой" идет выше 20 кГц, уровень не падает ниже уровня шумов вплоть до 100 кГц, подобный результат получается и для инструментов из других музыкальных семейств, например, скрипка и гобой показывают наличие энергии выше 40 кГц, ударные генерируют самое большое количество ультразвука. Удар в тарелки показал 40 % энергии выше 20 кГц, а треугольник, как оказалось, довольно сильно звучит на 100 кГц. Для Hi-Fi -аудиотехники в настоящее время используется частота дискретизации 44,1 кГц (стандартная для компакт-дисков) или 48 кГц (типична для представления звука в компьютерах). Однако широкая полоса упрощает и удешевляет реализацию антиалиасинговых фильтров, позволяя делать их с меньшим числом звеньев или с меньшей крутизной в полосе заграждения, что положительно сказывается на фазовой характеристике фильтра в полосе пропускания. Японские исследователи во главе с Т. Оохаши провели эксперименты с широкополосными записями с частотами до 60 кГц, причем супертвитер (ВЧ-излучатель с расширенным в сторону высоких диапазоном) можно было включать и отключать. Отслеживая активность деятельности мозга испытуемых и анализируя субъективные оценки при прослушивании вслепую, они пришли к выводу, что слушатели действительно реагировали на ультразвуковые составляющие музыки. В свободной продаже появились широкополосные акустические системы с верхней частотой до 80 кГц.
Также избыточная полоса пропускания АЦП позволяет соответственно снизить амплитудные искажения, неизбежно возникающие из-за наличия схемы выборки и хранения. Такие искажения (нелинейность АЧХ) имеют вид sin(x)/x [ ] и относятся ко всей полосе пропускания, поэтому чем меньшая часть полосы пропускания (по частоте) используется (занята полезным сигналом), тем меньше данные искажения.
Аналого-цифровые преобразователи для звукозаписи имеют широкий диапазон цен - от 5 до 10 тыс. долл. и выше за двухканальный АЦП.
АЦП для звукозаписи, используемые в компьютерах, бывают внутренние и внешние. Также существует свободный программный ЦОС в качестве демодулятора .
Аналогово-цифровой преобразователь (АЦП) - один из самых важных электронных компонентов в измерительном и тестовом оборудовании. АЦП преобразует напряжение (аналоговый сигнал) в код, над которым микропроцессор и программное обеспечение выполняют определенные действия. Даже если Вы работаете только с цифровыми сигналами, скорее всего Вы используете АЦП в составе осциллографа, чтобы узнать их аналоговые характеристики.
Существует несколько основных типов архитектуры АЦП, хотя в пределах каждого типа существует также множество вариаций. Различные типы измерительного оборудования используют различные типы АЦП. Например, в цифровом осциллографе используется высокая частота дискретизации, но не требуется высокое разрешение. В цифровых мультиметрах нужно большее разрешение, но можно пожертвовать скоростью измерения. Системы сбора данных общего назначения по скорости дискретизации и разрешающей способности обычно занимают место между осциллографами и цифровыми мультиметрами. В оборудовании такого типа используются АЦП последовательного приближения либо сигма-дельта АЦП. Существуют также параллельные АЦП для приложений, требующих скоростной обработки аналоговых сигналов, и интегрирующие АЦП с высокими разрешением и помехоподавлением.
АЦП двухтактного интегрирования имеют высокую точность и высокую разрешающую способность, а также имеют сравнительно простую структуру. Это дает возможность выполнять их в виде интегральных микросхем. Основной недостаток таких АЦП - большое время преобразования, обусловленное привязкой периода интегрирования к длительности периода питающей сети. Например, для 50 Гц - оборудования частота дискретизации АЦП двухтактного интегрирования не превышает 25 отсчетов/сек. Конечно, такие АЦП могут работать и с большей частотой дискретизации, но при увеличении последней помехозащищенность падает.
Существуют общие определения, которые принято использовать в отношении аналого-цифровых преобразователей. Тем не менее, характеристики, приводимые в технической документации производителей АЦП, могут показаться довольно путаными. Правильный же выбор оптимального по сочетанию своих характеристик АЦП для конкретного приложения требует точной интерпретации данных, приводимых в технической документации.
Наиболее часто путаемыми параметрами являются разрешающая способность и точность, хотя эти две характеристики реального АЦП крайне слабо связаны между собой. Разрешение не идентично точности, 12-разрядный АЦП может иметь меньшую точность, чем 8-разрядный. Для АЦП разрешение представляет собой меру того, на какое количество сегментов может быть поделен входной диапазон измеряемого аналогового сигнала (например, для 8-разрядного АЦП это 2 8 =256 сегментов). Точность же характеризует суммарное отклонение результата преобразования от своего идеального значения для данного входного напряжения. То есть, разрешающая способность характеризует потенциальные возможности АЦП, а совокупность точностных параметров определяет реализуемость такой потенциальной возможности.
АЦП преобразует входной аналоговый сигнал в выходной цифровой код. Для реальных преобразователей, изготавливаемых в виде интегральных микросхем, процесс преобразования не является идеальным: на него оказывают влияние как технологический разброс параметров при производстве, так и различные внешние помехи. Поэтому цифровой код на выходе АЦП определяется с погрешностью. В спецификации на АЦП указываются погрешности, которые дает сам преобразователь. Их обычно делят на статические и динамические. При этом именно конечное приложение определяет, какие характеристики АЦП будут считаться определяющими, самыми важными в каждом конкретном случае.
В большинстве применений АЦП используют для измерения медленно изменяющегося, низкочастотного сигнала (например, от датчика температуры, давления, от тензодатчика и т.п.), когда входное напряжение пропорционально относительно постоянной физической величине. Здесь основную роль играет статическая погрешность измерения. В спецификации АЦП этот тип погрешности определяют аддитивная погрешность (Offset), мультипликативная погрешность (Full-Scale), дифференциальная нелинейность (DNL), интегральная нелинейность (INL) и погрешность квантования. Эти пять характеристик позволяют полностью описать статическую погрешность АЦП.
Передаточная характеристика АЦП - это функция зависимости кода на выходе АЦП от напряжения на его входе. Такой график представляет собой кусочно-линейную функцию из 2 N "ступеней", где N - разрядность АЦП. Каждый горизонтальный отрезок этой функции соответствует одному из значений выходного кода АЦП (см. рис. 7). Если соединить линиями начала этих горизонтальных отрезков (на границах перехода от одного значения кода к другому), то идеальная передаточная характеристика будет представлять собой прямую линию, проходящую через начало координат.
У идеальной передаточной характеристики АЦП ширина каждой "ступеньки" должна быть одинакова. Разница в длине горизонтальных отрезков этой кусочно-линейной функции из 2 N "ступеней" представляет собой дифференциальную нелинейность (DNL).
Величина наименьшего значащего разряда у АЦП составляет V ref /2 N , где V ref - опорное напряжение, N - разрешение АЦП. Разность напряжений между каждым кодовым переходом должна быть равна величине LSB. Отклонение этой разности от LSB определяются как дифференциальная нелинейность. На рисунке это показано как неравные промежутки между "шагами" кода или как "размытость" границ переходов на передаточной характеристике АЦП.
Интегральная нелинейность (INL) - это погрешность, которая вызывается отклонением линейной функции передаточной характеристики АЦП от прямой линии, как показано на рис. 12 . Обычно передаточная функция с интегральной нелинейностью аппроксимируется прямой линией по методу наименьших квадратов. Часто аппроксимирующей прямой просто соединяют наименьшее и наибольшее значения. Интегральную нелинейность определяют путем сравнения напряжений, при которых происходят кодовые переходы. Для идеального АЦП эти переходы будут происходить при значениях входного напряжения, точно кратных LSB. А для реального преобразователя такое условие может выполняться с погрешностью. Разность между "идеальными" уровнями напряжения, при которых происходит кодовый переход, и их реальными значениями выражается в единицах LSB и называется интегральной нелинейностью.
Одна из наиболее существенных составляющих ошибки при измерениях с помощью АЦП - погрешность квантования -является результатом самого процесса преобразования. Погрешность квантования - это погрешность, вызванная значением шага квантования и определяемая как ½ величины наименьшего значащего разряда (LSB). Она не может быть исключена в аналого-цифровых преобразованиях, так как является неотъемлемой частью процесса преобразования, определяется разрешающей способностью АЦП и не меняется от АЦП к АЦП с равным разрешением.
Динамические характеристики АЦП обычно определяют с помощью спектрального анализа, по результатам выполнения быстрого преобразования Фурье (БПФ) над массивом выходных значений АЦП, соответствующих некоторому тестовому входному сигналу.
Эти искажения определяют как общие гармонические искажения (THD). Они определяются как:
Величина гармонических искажений уменьшается на высоких частотах до точки, в которой амплитуда гармоник становится меньше, чем уровень шума. Таким образом, если мы анализируем вклад гармонических искажений в результаты преобразования, это можно делать либо во всем спектре частот, ограничивая при этом амплитуду гармоник уровнем шума, либо ограничивая полосу частот для анализа. Например, если в нашей системе стоит ФНЧ, то высокие частоты нам просто неинтересны и высокочастотные гармоники не подлежат учету.
Отношение "сигнал/шум и искажения" (SiNAD) более полно описывает шумовые характеристики АЦП. SiNAD учитывает величину как шума, так и гармонических искажений по отношению к полезному сигналу. SiNAD рассчитывается по следующей формуле:
Спецификация АЦП, приводимая в технической документации на микросхемы, помогает обоснованно выбрать преобразователь для конкретного применения. В качестве примера рассмотрим спецификацию АЦП, интегрированного в новый микроконтроллер C8051F064 производства фирмы Silicon Laboratories.
Кристалл C8051F064 представляет собой скоростной 8-разрядный микроконтроллер для совместной обработки аналоговых и цифровых сигналов с двумя интегрированными 16-разрядными АЦП последовательных приближений. Встроенные АЦП могут работать в однопроводном и дифференциальном режимах при максимальной производительности до 1М отсчетов/сек. На рис. 17 приведены основные характеристики АЦП микроконтроллера C8051F064. Для самостоятельной оценки возможностей C8051F064 по цифровой и аналоговой обработке данных можно воспользоваться недорогим оценочным комплектом C8051F064EK (рис. 18). Комплект содержит оценочную плату на базе C8051F064, USB-кабель, документацию, а также программное обеспечение для тестирования аналоговых динамических и статических характеристик интегрированного высокоточного 16-разрядного АЦП.
Параметры | Условия | Мин. | Типичное | Макс. | Единицы измерения |
Характеристики на постоянном токе | |||||
Разрядность | 16 | бит | |||
Интегральная нелинейность | Однопроводный | ±0.75 | ±2 | LSB | |
Однопроводный | ±0.5 | ±1 | LSB | ||
Дифференциальная нелинейность | Гарантированная монотонность | ±+0.5 | LSB | ||
Аддитивная погрешность (смещение) | 0.1 | мВ | |||
Мультипликативная погрешность | 0.008 | % F.S. | |||
Температурный коэффициент усиления | 0.5 | ppm/°C | |||
Динамические характеристики (Частота дискретизации 1 Msps, AVDD, AV+ = 3.3 В) | |||||
Сигнал/шум и искажения | 86 | дБ | |||
84 | дБ | ||||
89 | дБ | ||||
88 | дБ | ||||
Общие гармонические искажения | Fin = 10 кГц, однопроводный | 96 | дБ | ||
Fin = 100 кГц, однопроводный | 84 | дБ | |||
Fin = 10 кГц, дифференциальный | 103 | дБ | |||
Fin = 100 кГц, дифференциальный | 93 | дБ | |||
Динамический диапазон, свободный от гармоник | Fin = 10 кГц, однопроводный | 97 | дБ | ||
Fin = 100 кГц, однопроводный | 88 | дБ | |||
Fin = 10 кГц, дифференциальный | 104 | дБ | |||
Fin = 100 кГц, дифференциальный | 99 | дБ |
Cписок литературы.
АПЦ - это А налого-Ц ифровой П реобразователь. По английски ADC (A nalog-to-D igital C onverter). То есть специальное устройство, которое преобразует в цифровой.
АЦП применяется в цифровой технике. В частности, почти все современные имеют встроенный АЦП.
Как вы уже наверняка знаете, микропроцессоры (как и компьютерные процессоры) не понимают ничего, кроме двоичных чисел. Из этого следует, что микропроцессор (который является основой любого микроконтроллера) не может напрямую обработать аналоговый сигнал.
АЦП микроконтроллера обычно измеряет только напряжение в диапазоне от 0 до напряжения питания микроконтроллера.
АЦП бывают разные, с разными характеристиками. Основная характеристика - это разрядность. Однако есть и другие. Например, вид аналогового сигнала, который можно подключать к входу АЦП.
Все эти характеристики описаны в документации на АЦП (если он выполнен в виде отдельной микросхемы) или в документации на микроконтроллер (если АЦП встроен в микроконтроллер).
Кроме разрядности, о которой мы уже говорили, можно назвать ещё несколько основных характеристик.
Least significant bit (LSB) - младший значащий разряд (МЗР) . Это наименьшее входное напряжение, которое может быть измерено АЦП. Определяется по формуле:
1 LSB = Uоп / 2 Р
Где Uоп - это опорное напряжение (указывается в характеристиках АЦП). Например, при опорном напряжении 1 В и разрядности 8 бит, получим:
1 LSB = 1 / 2 8 = 1 / 256 = 0,004 В
Integral Non-linearity - интегральная нелинейность выходного кода АЦП . Понятно, что любое преобразование вносит искажения. И эта характеристика определяет нелинейность выходного значения, то есть отклонение выходного значения АЦП от идеального линейного значения. Измеряется эта характеристика в LSB.
Иными словами, эта характеристика определяет, насколько “кривой” может быть линия на графике выходного сигнала, которая в идеале должна быть прямой (см. рис.).
Абсолютная точность . Также измеряется в LSB. Иными словами, это погрешность измерения. Например, если эта характеристика равна +/- 2 LSB, а LSB = 0,05 В, то это означает, что погрешность измерений может достигать +/- 2*0,05 = +/- 0,1В.
Есть у АЦП и другие характеристики. Но для начала и этого более чем достаточно.
Напомню, что , в основном, бывают двух видов: токовые и напряжения. Кроме того, сигналы могут иметь стандартный диапазон значений, и нестандартный. Стандартные диапазоны значений аналоговых сигналов описаны в ГОСТах (например, ГОСТ 26.011-80 и ГОСТ Р 51841-2001). Но, если в вашем устройстве используется какой-то самодельный датчик, то сигнал может и отличаться от стандартного (хотя я советую в любых случаях выбирать какой-нибудь стандартный сигнал - для совместимости со стандартными датчиками и другими устройствами).
АЦП в основном измеряют напряжение.
Попробую рассказать о том (в общих чертах), как подключить аналоговый датчик к АЦП и как потом разобраться с теми значениями, которые будет выдавать АЦП.
Итак, допустим, что мы хотим измерять температуру в диапазоне -40…+50 градусов с помощью специального датчика со стандартным выходом 0...1В. Допустим, что у нас есть датчик, который может измерять температуру в диапазоне -50…+150 градусов.
Если температурный датчик имеет стандартный выход, то, как правило, напряжение (или ток) на выходе датчика изменяется по линейному закону. То есть мы можем легко определить, какое напряжение будет на выходе датчика при заданной температуре.
Что такое линейный закон? Это когда диапазон значений на графике выглядит как прямая линия (см. рис.). Зная, что температура от -50 до +150 даёт на выходе датчика напряжение, изменяемое по линейному закону, мы, как я уже сказал, можем вычислить это напряжение для любого значения температуры на заданном диапазоне.
В общем, чтобы в нашем случае диапазон температур преобразовать в диапазон напряжений, нам надо каким-то образом сопоставить две шкалы, одна из которых является диапазоном температур, а другая - диапазоном напряжений.
Определить напряжение по температуре визуально можно по графику (см. рис. выше). Но микроконтроллер глаз не имеет (хотя, конечно, можно поразвлекаться и создать устройство на микроконтроллере, способное распознавать образы и определять значение температуры по напряжению на графике, но оставим эти развлечения фанатам робототехники)))
Первым делом определяем диапазон температур. Он у нас от -50 до 150, то есть 201 градус (не забываем про ноль).
А диапазон измеряемых напряжений - от 0 до 1 В.
То есть в шкалу от 0 до 1 нам надо впихнуть диапазон от 0 до 200 (всего 201).
Находим коэффициент преобразования:
К = U / Tд = 1 / 200 = 0,005 (1)
То есть при изменении температуры на 1 градус напряжение на выходе датчика будет меняться на 0,005 В. Здесь Тд - это температурный диапазон. Не значения температуры, а количество единиц измерения (в нашем случае градусов) на температурной шкале, сопоставляемой со шкалой напряжения (ноль не учитываем для упрощения, так как в диапазоне напряжений тоже есть ноль).
Проверяем характеристики АЦП микроконтроллера, который мы планируем использовать. Значение LSB не должно быть более К (более 0,005 в нашем случае, точнее, это допустимо, если вас устроит погрешность более 1 единицы измерения - более 1 градуса в нашем случае).
По сути К - это вольт на градус, то есть так мы узнали, на какое значение изменяется напряжение при изменении температуры на 1 градус.
Теперь у нас есть все необходимые данные, чтобы в программе микроконтроллера преобразовать значение на выходе АЦП в значение температуры.
Мы помним, что мы сместили диапазон температур на 50 градусов. Это надо учитывать при преобразовании значения на выходе АЦП в температуру.
А формула будет такая:
Т = (U / К) - 50 (2)
Например, если на выходе АЦП 0,5 В, то
Т = (U / К) - 50 = (0,5 / 0,005) - 50 = 100 - 50 = 50 градусов
Теперь нам надо определить дискретность, то есть желаемую точность измерений.
Как вы помните, абсолютная погрешность может составлять несколько LSB. К тому же ещё существуют нелинейные искажения, которые обычно равны 0,5 LSB. То есть общая погрешность АЦП может доходить до 2-3 LSB.
В нашем случае это:
Uп = 3 LSB * 0,005 = 0,015 В
Или 3 градуса.
Если в вашем случае не так всё гладко, то снова используем формулу, выведенную из (1):
Тд = Uп / K = 0,015 / 0,005 = 3
Если погрешность в 3 градуса вас устраивает, то можно ничего не менять. Ну а если нет, то придётся подобрать АЦП с большей разрядностью либо подыскать другой датчик (с другим температурным диапазоном или с другим выходным напряжением).
Например, если вам удастся найти датчик с диапазоном -40…+50, как мы и хотели, и с таким же выходом 0...1В, то
К = 1 / 90 = 0,01
Тогда абсолютная погрешность будет:
Тд = Uп / K = 0,015 / 0,01 = 1,5 градуса.
Это уже более-менее приемлемо. Ну а если у вас будет датчик с выходом 0...5В (это тоже стандартный сигнал), то
К = 5 / 90 = 0,05
А абсолютная погрешность будет:
Тд = Uп / K = 0,015 / 0,05 = 0,3 градуса.
Это уже вообще ништяк.
Но! Не забывайте, что здесь мы рассматриваем только погрешность АЦП. Но и у самого датчика тоже есть погрешность, которую также надо учитывать.
Но всё это уже из области электроники и метрологии, поэтому данную статью я здесь и закончу.
А в конце на всякий случай приведу формулу обратного преобразования температуры в напряжение:
U = K * (Tв + 50) = 0,005 * (150 + 50) = 1
P.S. Писал эту статью после тяжёлого рабочего дня, так что если что где напутал - прошу прощения)))