Найти в Дзене
Разумный мир

Нескучная метрология. Как аналоговое становится цифровым

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

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

Нескучная метрология. Через импульсы к цифрам
Разумный мир10 декабря 2022

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

Почему АЦП это виртуальная шкала

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

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

Давайте возьмем некоторый диапазон напряжений, ограниченный снизу 0 и сверху Umax. Мы уже говорили, что в электронных измерительных приборах измеряемые физические величины преобразуются в электрические. Будем считать, что электрическим эквивалентом измеряемой величины является напряжение. Нам нужно наш диапазон напряжений превратить в числовой вид. Что дальше будет с числами, выводятся они на дисплей, печатаются на бумаге, передаются по каналам связи, поступают в ЭВМ для обработки, нас сегодня не интересует.

Для преобразования в числовой вид нам нужно разделить полный диапазон (от 0 до Umax) разбить на несколько частей N. Точно так же мы делали при измерении расстояний с помощью линейки. Каким может быть N? Это зависит от требуемой нам разрешающей способности измерения. Предположим, что результат будет восприниматься человеком, поэтому будет хорошо, если N кратно 10. Давайте, для примера, выберем N равным 1000. Что мы получим? Мы получим 1000 виртуальных делений электронной шкалы. Или ровно 3 цифры в числовом результате измерения. Причем независимо от того, чему равняется Umax. Другими словами, положение десятичной точки (запятой) не влияет на количество цифр. Это естественно, так как N задает именно количество делений.

Предположим, что Umax=1 В. Одно деление нашей виртуальной шкалы получится равным 0.001 В, или 1 мВ. Если же Umax=100 В, то цена деления изменится, так как количество делений не изменится. Теперь одно деление будет равняться 0.1 В.

Как мы можем на практике реализовать такую шкалу? На первый взгляд, достаточно просто. Используем делитель напряжения и компараторы

Функциональная схема параллельного АЦП. Иллюстрация моя
Функциональная схема параллельного АЦП. Иллюстрация моя

Делитель напряжения создает те самые "деления шкалы". Компараторы позволяют определить, какому "количеству делений" соответствует уровень измеряемого напряжения Uизм на входе. Хорошо видно, что количество резисторов делителя и количество компараторов определяется требуемым количеством делений N и будет большим. Шифратор (CD), установленный после компараторов, преобразует "количество делений", соответствующее измеряемому напряжению, в цифровой код. Нас сегодня не интересует формат этого кода и используемая система счисления.

Такой АЦП называется параллельным. Это наиболее быстродействующий тип АЦП. Такие АЦП реально выпускались, например, К1107ПВ1 и К1107ПВ2. Они устроены немного по другому, но сам принцип именно такой. Мы сегодня не будем рассматривать различные варианты построения АЦП, это тема отдельных статей. Но приведенная выше иллюстрация позволит нам рассмотреть некоторые связанные с АЦП особенности и погрешности.

Погрешности аналогово-цифрового преобразователя. Первый взгляд

Мы уже рассматривали погрешности шкал ранее. Давайте посмотрим, насколько эти знания применимы к виртуальной шкале, которую создает АЦП. И начнем мы с Umax, которое делится делителем на N частей.

Фактически, Umax задает значение максимально возможного деления шкалы. Можно сказать, что оно определяет "длину" виртуальной шкалы. Оно является аналогом длины обычной линейки. Точность и стабильность этого напряжения напрямую сказывается на погрешности измерений (преобразования). Не случайно это напряжение обычно называют опорным. В реальных АЦП опорное напряжение формируется специальными прецизионными источниками, которые могут как располагаться внутри АЦП, так и быть внешними, по отношению к АЦП. Опорное напряжение и определяет диапазон измеряемых входных напряжений.

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

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

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

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

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

И где тут цифра, где аналог?

Интересный вопрос, правда? Большая часть нашего параллельного АЦП является именно аналоговой! И именно эта аналоговая часть и определяет во многом погрешность преобразования. И это верно для любых АЦП, не только для параллельных. АЦП любого типа имеет много аналоговых узлов. Поэтому говорить, что "цифра всегда точнее" неверно. Цифра, числовое значение результата преобразования, появляется только после шифратора. При этом на входе шифратора у нас сигналы дискретные, которые формируются на выходах компараторов.

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

Дискретизация и квантование

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

Даже параллельные, самые быстродействующие, АЦП работают циклически:

  • Выборка значения входного сигнала
  • Преобразование зафиксированного значения в цифровой код
  • Переход к очередной выборке

Ничего не меняется и в случае, когда цикл в явном виде отсутствует и преобразование выполняется "по запросу". В любом случае мы фиксируем на некоторое время значение входного сигнала, напряжения. Это и называется "выборкой". "Выбранное" значение сохраняется на все время, которое необходимо для преобразования. В общем случае, такое временное хранение осуществляется с помощью УВХ (устройства выборки-хранения). Я рассказывал об этом в статье

Нескучная метрология. Как быть, если оно постоянно меняется?
Разумный мир6 июля 2022

Из этой статьи продублирую одну иллюстрацию

Результат дискретизации произвольно изменяющегося непрерывного сигнала. Иллюстрация моя
Результат дискретизации произвольно изменяющегося непрерывного сигнала. Иллюстрация моя

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

К дискретизации по времени мы еще вернемся, а пока посмотрим на квантование по уровню. Как работает квантователь (условное абстрактное устройство), как непрерывный входной сигнал превращается в выходной дискретный?

Работа квантователя. Иллюстрация моя
Работа квантователя. Иллюстрация моя

Квантователь является функциональным преобразователем, который реализует функцию преобразования входной величины х в выходную величину F. В нашем случае входная величина аналоговая, а выходная является дискретной, причем кодом. Функция преобразования квантователя является ступенчатой. Она показана на иллюстрации вверху слева. Уровни квантования, в нашем случае, задаются делителем. А сравнение с этими уровнями выполняют компараторы.

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

В нижней части иллюстрации показан входной сигнал. Здесь нет ничего интересного, кроме одного момента. Момента формирования выборок. АЦП обладает конечным быстродействием. То есть, его время преобразования больше 0. И время преобразования является минимальным временным интервалом между соседними выборками. Мы можем выполнять выборки реже, но чаще не можем.

Таким образом, АЦП выполняет и квантование по уровню, что от него и требуется, и дискретизацию по времени, что уже является скорее негативным моментом.

Погрешности преобразования. Более пристальный взгляд

Теперь мы можем вернуться к погрешностям преобразования, которые не заметили при первом взгляде. И прежде всего рассмотрим погрешность связанную с квантованием по уровню. Мы уже видели, что "восстановленный" сигнал заметно отличается от входного.

Погрешность квантования по уровню. Иллюстрация моя
Погрешность квантования по уровню. Иллюстрация моя

Выходной код меняется скачком при переходе входным сигналом очередного уровня квантования. Но давайте задумаемся и вспомним классические шкалы. При считывании результата со шкалы мы выполняем округление, если стрелка не находится точно на одном из делений. Округление выполняется по правилам математики. Если стрелка ушла за деление меньше, чем на половину расстояния между делениями, то мы записываем предыдущее деление. Если больше половины, то следующее. То есть, половина расстояния между делениями является пороговой.

Точно такой же подход используется и при преобразовании. Уровни квантования, которые мы ранее называли соответствующими делениям шкалы (для простоты), на самом деле задают положения, расположенные на равном удалении от делений, между ними. Это и показано на иллюстрации. Выходной код (u, u+1, u+2, u+3) в точности соответствуем делениям. А уровни квантования располагаются между ними.

Интервал между смежными уровнями квантования (он равен интервалу между дискретными значениями), который для классической шкалы назывался ценой деления, теперь будет называться шагом квантования. Шаг квантования, как и цена деления классической шкалы, определяет разрешающую способность преобразования. И пресловутая Единца Младшего Разряда (ЕМР), или LSB (англоязычный термин), как уже не раз говорилось в статьях, как раз и равна шагу квантования.

Предположим, что входной сигнал нарастает. Когда он переходит через очередной уровень квантования, выходной дискретный сигнал изменяется скачком на +1. При этом погрешность квантования, скачком, оказывается равной половине шага квантования. Со знаком плюс. При дальнейшем нарастании сигнала на входе погрешность снижается и становится равной 0 ровно посередине между двумя уровнями квантования. Далее погрешность начинает снова повышаться, но знак погрешности меняется. И непосредственно перед очередным уровнем квантования погрешность снова будет равна половине шага квантования. Но уже со знаком минус. Это и показано на последней иллюстрации на нижнем графике. И здесь нет никаких отличий от классических шкал.

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

-5

Дело в том, что погрешность квантования порождает шум квантования. Этот шум ограничивает соотношение сигнал/шум (SNR, англоязычный термин) в АЦП. Снова опущу математические выкладки и приведу итоговую формулу для гармонического (синусоидального) сигнала

Соотношение сигнал/шум (в дБ) для идеального n-разрядного АЦП
Соотношение сигнал/шум (в дБ) для идеального n-разрядного АЦП

Чем выше разрядность, тем лучше соотношение сигнал/шум. Что вполне объяснимо, так как погрешность квантования снижается.

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

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

Давайте рассмотрим еще один момент, связанный с дискретизацией по времени. В интервал времени между двумя последовательными отсчетами у нас значение входного напряжения оказывается неопределенным. Ранее мы принимали, что между двумя дискретными значениями величина входного сигнала неизменна. Это и давало ту самую ступенчатую форму "восстановленного" сигнала. Можно ли это изменить? Можно, если использовать кусочно-линейную интерполяцию. При этом у нас точки (отсчеты) будут соединяться отрезками прямых и ступеньки исчезнут. Останутся лишь точки изломов.

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

Статические параметры АЦП

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

Прежде всего нужно отметить, что номинальной передаточной характеристикой АЦП является прямая линия проходящая через ноль. Передаточная характеристика реальных АЦП имеет отклонения от номинала (идеала). Максимальное значение выходного кода (значения) соответствует ранее используемому ранее термину "количество делений шкалы".

  • Разрешающая способность. Соответствует уже рассмотренному нами шагу квантования. Разрешающая способность тем выше, чем больше разрядов имеет АЦП. Однако, надо учитывать, что разрешающая способность ограничивается не только разрядностью, но и погрешностями.
  • Погрешность смещения нуля. Полностью соответствует таковой для классической шкалы. Эта погрешность является аддитивной и выражается в количестве шагов квантования. Или в LSB, что одно и тоже.
  • Погрешность полной шкалы. Является аналогом неточной длины линейки. Определяется, как и для обычной шкалы, для последнего деления. То есть, это отклонение выходного дискретного значения от точного при подаче на вход максимального значения входного напряжения (верхней точки диапазона). Эта погрешность является мультипликативной.
  • Нелинейность в данной точке. Отклонение точки на реальной передаточной характеристике от от аппроксимирующей прямой. Обратите внимание, что речь идет не об отклонении реальной переходной характеристики от идеальной, а именно об отклонении реальной характеристики от прямой линии.
  • Интегральная нелинейность. максимальное значение нелинейности во всем диапазоне входных/выходных величин.
  • Дифференциальная нелинейность. Максимальное отклонение действительного шага квантования от номинального значения. Это можно считать и оценкой монотонности. То есть неизменности знака приращения выходной величины при последовательном изменении входной.
  • Температурная нестабильность. Думаю, тут особые пояснения не требуются.

Динамические параметры АЦП

Динамические параметры определяются как реакция на на скачек входного сигнала.

  • Время преобразования. Один из важнейших параметров АЦП. Определяется как интервал времени от начала преобразования до появления на выходе АЦП устойчивого кода. Да, в некоторых АЦП выходной код может меняться в процессе преобразования. И признаком окончания преобразования является или отсутствие изменений выходного значения, или специальный сигнал, который формируется самим АЦП после окончания преобразования.
  • Максимальная частота дискретизации. Обратный, по отношению к времени преобразования, параметр.

Заключение

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

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

До новых встреч!

Наука
7 млн интересуются