Ацп при измерении напряжений

Точные измерения аналоговых сигналов в системах сбора данных

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

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

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

Типичную цепь измерения аналоговых сигналов в системе с резистивными датчиками можно представить так, как показано на рисунке 1. Хотя на уровне структурной схемы все сигнальные цепи выглядят одинаково, параметры каждого блока зависят от многих факторов. Наиболее важными из них являются: изменение сопротивления (и, следовательно, напряжения) датчиков при изменении их физического количества; расстояние датчика от измерительной системы (т.е. погрешность измерения из-за влияния сопротивления проводов); требуемая точность системы и виды помех.

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

Измерения сигналов с резистивных датчиков температуры

Резистивные датчики температуры (RTD) построены на базе термисторов, которые являются нелинейными элементами в рабочем диапазоне температур. Изменение сопротивления термисторов при изменении температуры подчиняется сложной нелинейной функции:

1/T = A + B ln(R) + C (ln(R))3,

где T — температура, R — сопротивление, A, B и C — константы, характерные для данного термистора.

Обычно для вычисления используют таблицу соответствия сопротивления и температуры. Затем температура вычисляется с помощью кусочно-линейной аппроксимации. Несмотря на то, что могут возникнуть погрешности измерений из-за отклонений коэффициента усиления и смещений, эти ошибки слишком малы по сравнению с требованиями по точности измерения температурного датчика на базе термистора. Существует несколько прямых способов измерения сопротивления, как показано на рисунке 2.

Рис. 2. Схемы измерения сопротивлений

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

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

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

Резистивные датчики температуры (RTD) имеют сопротивление порядка 100 Ом при температуре 0°C, и при изменении температуры на один градус сопротивление изменяется примерно на 0,385 Ом. Поскольку RTD имеет низкий номинал, сопротивление проводов оказывает основное влияние на их точность.

RTD возбуждаются источником постоянного тока. Напряжение на RTD можно измерить с помощью 3-проводного или 4-проводного метода в зависимости от числа проводов, идущих от измерительной системы к RTD. Поскольку RTD расположены в удалении от измерительной системы, 3-проводный метод более предпочтителен с точки зрения стоимости проводов. На рисунке 3 показана схема включения RTD при 3-проводном методе измерения.

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

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

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

Как было сказано выше, в системе возникает смещение напряжения, которое меняется с температурой. Температурный дрейф смещения и низкочастотный шум можно исключить, используя метод двойной коррелированной выборки (correlated double sampling — CDS). В этом случае вначале измеряется смещение относительно нуля (для того чтобы его измерить, оба входа замыкают накоротко), а затем измеряют напряжение на датчике.

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

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

Чтобы избежать влияния ошибки коэффициента усиления, лучше всего использовать для измерений высокоточный эталонный резистор, например, резистор с разбросом 0,1%. На рисунке 5 показана схема, в которую включен калибровочный резистор.

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

Измерения сигналов с тензодатчиков

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

Типовой тензодатчик представляет собой четыре резистора, включенные по схеме моста Уитстона (см. рис. 6).

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

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

Рассмотрим пример тензодатчика чувствительностью 2 мВ/В, измеряющего максимальный вес 10 кг. При питающем напряжении 5 В выходное напряжение находится в диапазоне всего 10 мВ. Это означает, что даже если к тензодатчику приложена сила в 10 кг, выходное напряжение будет 10 мВ. Чтобы обеспечить 16-разрядную точность измерения в 10-мВ диапазоне, нужно соответствующим образом уменьшить диапазон АЦП.

Наиболее распространенным методом является реализация каскада усиления на входе, чтобы входной диапазон соответствовал входному диапазону АЦП. Например, чтобы обеспечить 10-мВ диапазон измерений с помощью АЦП, который имеет входной диапазон 0±1 В, можно использовать каскад усиления с коэффициентом усиления, равным примерно 100.

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

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

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

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

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

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

Обычная методология измерения сигналов с тензодатчиков

В обычном методе измерения тензодатчики, включенные по мостовой схеме, возбуждаются от источника напряжения, а на выходных терминалах измеряется напряжение (см. рис. 6). Когда на мост воздействует механическая сила, то в зависимости от положения датчиков проявляется сила растяжения или сжатия. Амплитуда изменения сопротивления прямо пропорциональна величине давления на датчик. В зависимости от напряжения возбуждения сигнал, который может быть измерен на выходе, будет равен:

VOUT = [R4/(R2 + R4) — R3/(R1 + R3)] VDRIVE.

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

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

Стоит отметить и другие проблемы обычного метода измерений.

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

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

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

Усовершенствованные методы

Метод двойной коррелированной выборки (CDS)

Этот метод используется для точного измерения сигналов весьма малого уровня. Он автоматически компенсирует смещение, вызванное усилителем с программируемым усилением, и тепловые шумы, генерируемые системой. На рисунке 7 показана реализация этого метода в системе на кристалле.

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

Одним из недостатков обычных методов, как было показано выше, является погрешность, которая вносится сопротивлением источника и проводов. На рисунке 7 это сопротивление смоделировано резистором RS. Эффективное напряжение управления на входе моста можно представить следующим образом:

VDRIVE = VDAC – IDACRS.

В методе CDS напряжение управления измеряют непосредственно на выводах управления моста. Эту измеренную величину напряжения можно использовать для вычисления изменения сопротивления. Поскольку на эту величину не будет оказывать влияния сопротивление источника, вычисленное значение будет намного более точным.

Другим существенным преимуществом этого метода является автоматическая компенсация смещения. В данной конфигурации мультиплексор (AMux) переключает вход усилителя с программируемым коэффициентом усиления (PGA) между выходом моста и ИОН. Сигнал, полученный при подсоединении PGA к ИОН, будет смещением системы.

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

Другим ограничением при измерении сигналов с высокой точностью является погрешность коэффициента усиления PGA. Однако эту погрешность можно откалибровать, используя алгоритм [2].

Метод источника тока

Это еще один метод, который широко используется при измерениях весьма малых сигналов. В этом случае вместо источника напряжения для питания мостовой схемы используется источник тока. Реализация этого метода показана на рисунке 8.

Самым важным преимуществом этого метода является то, что сопротивление проводов не вносит погрешностей в измерения, т.к. ток в цепи всегда остается постоянным.

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

где K — коэффициент усиления TIA.

Измерив выходное напряжение TIA и разделив эту величину на коэффициент усиления TIA, можно получить величину IDAC, используемую для питания мостовой схемы. Калибровка смещения и коэффициента усиления в этом случае аналогична методу CDS.

Цифровой фильтр

Мы обсудили несколько способов того, как уменьшить шумы и помехи в цепи аналогового сигнала. Одним из способов дополнительного уменьшения помех является микропрограммный математический фильтр для усреднения шума. Простой в реализации тип фильтра — фильтр скользящего среднего (moving average filter), где используется массив данных, в котором новые входные значения последовательно поступают на вход, а наиболее старые значения последовательно появляются на выходе (см. рис. 9). В любой момент времени выход фильтра является средней величиной всех элементов массива.

Часть 3

Предыдущие статьи [1] и [2] были посвящены таким частям (ПНЯ) Периферии Независимой от Ядра микроконтроллеров (МК) Microchip как конфигурируемым логическим ячейкам и портам ввода/вывода с новой полезной функцией ограничения тока.

Сейчас рассмотрим Аналого-Цифровой Преобразователь (АЦП) и в особенности новый АЦП с поствычислителем. Как вы наверное уже привыкли  новые особенности периферии могут помочь в реализации специфических функций и упростить код под PIC микроконтроллеры.

В отличие от предыдущих частей, в этой будет чуть больше теории и чуть меньше примеров.

Обзор возможностей АЦП

АЦП с полной уверенностью можно назвать Периферией Независимой от Ядра, так как АЦП имеет вариант тактирования от встроенного RC-генератора и может выполнять преобразование в режиме сохранения энергии Sleep. Но этим независимость не ограничивается. Многие семейства PIC16F1xxx имеют АЦП с возможностью старта по событиям, а совсем новые семейства PIC16F188xx получили еще и поствычислитель.

Рассмотрим возможности АЦП на примере МК семейства PIC16F18855/75

АЦП контроллеров этого семейства имеет:

  • 8-и битный таймер предвыборки (Acquisition Timer)
  • Аппаратную поддержку Емкостного делителя напряжения (Capacitive Voltage Divider, CVD):
    • 8-и разрядный таймер предзаряда
    • Массив конденсаторов подстройки емкости УВХ
    • Выходной драйвер защитного кольца (Guard ring)
    • автоматизированное двойное преобразование для CVD
    • Два набора регистров результата (результат и предыдущий результат)
    • Триггер автопреобразования
    • Внутренний «ретриггер» (Internal retrigger)
    • Усреднение и Фильтр Низких Частот
    • Сравнение с опорным значением
    • 2-х уровневое пороговое сравнение
    • Выбираемые прерывания

    АЦП с поствычислителем состоит из нескольких блоков (рис.1):

    Рис. 1. Структура АЦП с вычислителем в семействе PIC16F18855.

    Триггер запуска АЦП

    Прошли те времена, когда для запуска измерения АЦП нужно было «вручную» установить бит. Теперь АЦП может запускаться ещё по следующим событиям:

    • внешний вход;
    • срабатывание таймеров (общего назначения и SMT – 24-х битных таймеров измерения сигналов);
    • выход модуля сравнения и ШИМ;
    • срабатывание компаратора;
    • изменение состояния входов настроенных как прерывание по изменению состояния;
    • выход логических ячеек;
    • чтение результата измерения АЦП;
    • изменение номера канала АЦП.

    УВХ и CVD

    Устройство выборки/хранения (УВХ) получило дополнительные возможности, в основном связанные с упрощением определения емкости подключенной ко входу АЦП. В первую очередь это помогает в создании интерфейсов с емкостными (сенсорными) кнопками.

    Microchip предлагает определять емкость сенсора с помощью емкостного делителя напряжения (Capacitive Voltage Divider, CVD).

    Суть метода сводится к следующему. На первом шаге (см.рис. 2) вход сенсора подключается к «земле» (его емкость разряжается), а канал АЦП к напряжению питания, емкость УВХ заряжается.
    Затем вход сенсора подключается к УВХ АЦП, происходит перераспределения заряда между емкостью сенсора и емкостью УВХ. Затем производится измерение напряжения на емкости УВХ.

    управление входом при CVD форма сигналов CVD

    Рис. 2. Диаграммы поясняющие измерение емкости с помощью емкостного делителя напряжения.

    При касании сенсора будет изменяться его емкость, а значит мы будем фиксировать разные установившиеся значения напряжения на емкости УВХ.
    Для уменьшения влияния наведенных помех на сенсор и/или оператора, применяется дифференциальный CVD, состоящий из двух последовательных измерений с помощью CVD, но на второй стадии инвертируем заряды на сенсоре и УВХ (сенсор заряжаем до напряжения питания, а емкость УВХ разряжаем, см. рис.3).

    Рис.3. Диаграмма сигналов при дифференциальном CVD.

    Подробно про емкостные сенсоры, метод дифференциального CVD и управление защитным проводником можно почитать по ссылке [2].

    Новый АЦП с поствычислителем для поддержки и автоматизации CVD имеет следующие функции:

    • таймер предзаряда (precharge)
    • управление последовательностью заряда (нужной полярности), запуск измерения;
    • подключение дополнительных внутренних емкостей к УВХ;
    • два последовательных измерения;
    • вычисление разницы между двумя измеренными значениями;
    • управление драйвером «защитным кольцом» (guard ring).

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

    Функции поствычислителя

    Поствычислитель осуществляет несколько функций.

    Фильтрация

    Модуль АЦП может работать в одном из пяти режимов:

    Базовый режим. В этом режиме АЦП может производить одно или два измерения, после каждого может выставляться флаг прерывания.

    Накопление. По каждому измерению результат суммируется с аккумулятором и инкрементируется счетчик измерений.

    Усреднение. По каждому измерению результат суммируется с аккумулятором и инкрементируется счетчик измерений. По достижению заданного числа повторений результат делится и попадает в модуль сравнения, а следующее измерение сбросит счетчик в 1 и значение аккумулятора замениться на результат первого измерения.

    Усреднение очередью. По запуску АЦП происходит очистка аккумулятора и счетчика измерений и производится серия измерений заданное число раз, после чего результат делится и поступает в модуль сравнения.

    Фильтр Нижних частот. Каждое измеренное значение проходит через ФНЧ. По завершению заданного числа измерений результат попадает в модуль сравнения.

    Вычисление ошибки

    По завершению каждого вычисления результат фиксируется до окончания следующего измерения. Так же вычисляется разница между:

    • текущим и предыдущим измерением (первая производная от одиночного измерения);
    • двумя результатами в режиме измерения CVD (вычисляется дифференциальный CVD);
    • текущим результатом и константой (setpoint);
    • текущим результатом и фильтрованным значением;
    • текущим и предыдущим фильтрованными значениями (первая производная фильтрованного результата);
    • фильтрованным значением и константой (setpoint).

    Если вычислять разницу не нужно, то можно выбрать вычисление разницы между константой равной нулю.

    Сравнение с пороговыми значениями

    Результат вычисления ошибки сравнивается с верхним и нижним порогом. Дополнительно может формироваться прерывание если:

    • ошибка меньше чем нижний порог;
    • ошибка больше или равна нижнему порогу;
    • ошибка лежит между порогами;
    • ошибка за пределами порогов;
    • ошибка меньше или равна верхнему порогу;
    • ошибка больше верхнего порога;
    • формирование прерывания вне зависимости от результата сравнения с порогами (этот режим может быть полезен для фиксации самого факта сравнения, т.е. когда, например, нужно получить данные фильтрации/усреднения после N-измерений, а не прерывание после каждого измерения).

    Примеры конфигурирования АЦП

    Автозапуск, Фильтрация

    Данный пример показывает конфигурацию АЦП в плагине Mplab Code Configurator (MCC) для выполнения следующих действий:

    • таймер Timer2 настроен на срабатывание раз в 1 мс;
    • АЦП запускается по срабатыванию таймера. АЦП осуществляет предвыборку и измерение, результат попадает в фильтр. После накопления 32-х фильтрованных измерений производится сдвиг на 5 бит (деление на 32) и выставляется запрос на прерывание.
      Программе нужно лишь по прерыванию считать из регистра полученное фильтрованное значение.

    Рис. 4. Настройки АЦП с вычислителем.

    Рис. 5. Считывание «сырых» и фильтрованных данных с АЦП.

    Автозапуск, CVD, усреднение, прерывание по сравнению с порогами

    Выбрана следующая конфигурация:

    • таймер Timer2 настроен на срабатывание раз в 10мс
    • АЦП запускается по срабатыванию таймера Timer 2. АЦП производит измерения методом CVD и вычисляет среднее значение 32-х измерений. После выполнения 32-х измерений и накопления результата выполняется деление на 32 (сдвиг на 5) и если итоговое значение лежит вне пороговых значений, то формируется запрос на прерывание, таким образом сообщается о «касании» и «отпускании» сенсорной кнопки (на самом деле в данном примере прерывание формируется каждый раз, так как кнопка либо нажата, либо нет и не имеет промежуточных состояний))

    Рис. 6. Настройки АЦП для CVD.

    Рис.7. Реакция на касание сенсорной кнопки при одиночном CVD.

    Настройка порога нам может дать прерывание не по каждому измерению/серии измерений с фильтрацией, а по касанию «кнопки».

    Автозапуск, дифференциальный CVD, серия преобразований, усреднение

    В данном примере используется следующая конфигурация периферии:

    • таймер Timer2 настроен на срабатывание раз в 10мс
    • АЦП запускается по срабатыванию таймера (см.рис 8, п.1). АЦП производит последовательные измерения методом дифференциального CVD (п.2) с изменением полярности (п.3), вычисляет производную (разницу между 2-я CVD) (п.4), АЦП настроен на вычисление среднего значения (п.5) 32-х измерений (п.6). После выполнения 32-х пар измерений и накопления результата выполняется деление на 32 (п.7) и запрос на прерывание (п.8), последовательные измерения останавливаются (п.9) до следующего срабатывания триггера запуска (Timer2)

    Рис. 8. Настройки АЦП для варианта дифференциального CVD.

    Рис. 9, Диаграмма на входе сенсора с дифференциальным CVD

    Рис.10. Реакция на касание сенсорной кнопки при дифференциальном CVD

    Из сравнения CVD (рис.7) и дифференциального CVD (рис.10) видно, что второй отличается более «чистым» сигналом с большей амплитудой.

    Вся описанная последовательность действий выполняется полностью автоматически и независимо от ядра – в это время МК может выполнять какие-то другие действия или находиться в режиме микропотребления Sleep. По прерыванию остается считать усредненное значение результата измерений.

    Итоги

    Мы рассмотрели еще одну часть Периферии Независимой от Ядра — АЦП с вычислителем в микроконтроллерах Microchip. Некоторые возможности, например запуск по триггеру, или CVD присутствуют во многих семействах PIC16F1xxx, но новая “фича” – ADCC (АЦП с вычислителем), появилась в семействе PIC16F188xx (PIC16F18855 и др.).

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

    P.S.
    Вопрос к читателям. Стоит ли выкладывать исходники к примерам под какую-то конкретную (дешевую) демо-плату или из описаний и так все понятно и примеры кода не нужны?

    1. Конфигурируемые Логические Ячейки в PIC контроллерах
    2. 50 оттенков ПНЯ. Порты ввода/вывода
    3. Технология mTouch(tm). Создание емкостных клавиатур, сенсоров и экранов.
    4. PIC16(L)F18855/75 Data Sheet. www.microchip.com

    Типы аналого-цифровых преобразователей — полное руководство

    Абрамян Евгений Павлович Васильев Дмитрий Петрович

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

    Системы сбора данных служат для измерения напряжения и силы переменного тока, ударов и вибрации, температуры, деформации, давления и тому подобного. Сигналам и датчикам в диапазоне постоянного тока требуется частота выборки в среднем до 200 тысяч в секунду (200 квыб./с) а иногда и до миллиона (1 Мвыб./с).

    Частота выборки обычно называется осью измерения T (время) или X.

    Почему важна частота выборки?

    Понимание характера сигналов и их максимально возможных частот является важной частью точных измерений. Предположим, мы хотим измерить выходной сигнал акселерометра.

    Читайте также: 10 причин, почему раздаётся стук в стиральной машине при отжиме или стирке

    Если мы ожидаем, что он будет испытывать колебания с максимальной частотой 100 Гц, мы должны установить частоту выборки по крайней мере в два раза больше (принцип Найквиста). На практике же для получения качественного сигнала лучше устанавливать частоту выборки в 10 раз больше. Поэтому в этом случае мы устанавливаем частоту выборки 1000 Гц и выполняем измерение.

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

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

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

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

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

    1. утрата важных компонентов динамического сигнала;
    2. получение ложных («паразитных») сигналов (если в системе не применяется фильтрация-сглаживание).

    Наглядный пример слишком низкой частоты выборки: исходный сигнал и результат (в черном цвете) — ложный сигнал (шум). [Изображение из открытого источника]

    Искажение и опасность недостаточной частоты выборки

    Понимание характера сигналов и их максимально возможных частот является важной частью точных измерений. Предположим, мы хотим измерить выходной сигнал акселерометра.

    Если мы ожидаем, что он будет испытывать колебания с максимальной частотой 100 Гц, мы должны установить частоту выборки по крайней мере в два раза больше (принцип Найквиста). На практике же для получения качественного сигнала лучше устанавливать частоту выборки в 10 раз больше. Поэтому в этом случае мы устанавливаем частоту выборки 1000 Гц и выполняем измерение.

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

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

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

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

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

    1. утрата важных компонентов динамического сигнала;
    2. получение ложных (искаженных) сигналов (если в системе отсутствует фильтрация-сглаживание).

    Наглядный пример слишком низкой частоты выборки: исходный сигнал и результат (в черном цвете) — ложный сигнал (шум).

    Читайте также: Светодиодные лед лампы головного света ElectroKot X10 H7 2 шт

    Предотвращение искажения

    Решения Dewesoft предотвращают искажение благодаря использованию 24-битных АЦП со встроенными фильтрами сглаживания. Эти фильтры работают в несколько этапов. Один из этапов включает автоматическую настройку на частоту Найквиста (обычно около 40%) от выбранной частоты выборки. Таким образом, даже если вы выберете слишком низкую частоту выборки, ложные или «искаженные» сигналы не смогут испортить измерение.

    Фильтрация-сглаживание

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

    В идеале фильтрация-сглаживание даст очень плоскую полосу пропускания и очень резкое снижение частоты Найквиста (около половины частоты выборки).

    Диаграмма частотных границ сглаживающего фильтра

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

    В 24-битных дельта-сигма АЦП систем Dewesoft имеется дополнительный фильтр ЦОС-процессора, который автоматически перенастраивается в зависимости от частоты выборки, заданной пользователем. Такой всесторонний подход обеспечивает самую надежную на данный момент фильтрацию-сглаживание в системах сбора данных.

    Что такое битовое разрешение и почему оно важно?

    Частота выборки, рассмотренная в предыдущем разделе, отображается осью времени (T или X) цифрового потока данных, а битовое разрешение — осью амплитуды (Y).

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

    Поскольку каждый бит разрешения эффективно удваивает разрешение преобразования, системы с 24-битными АЦП обеспечивают 2^24 = 16 777 216. Таким образом входной одновольтный сигнал можно разделить на более чем 16 миллионов шагов по оси Y.

    16 777 216 шагов для 24-битного АЦП значительно лучше, чем максимальные теоретические 65 656 шагов для 16-битного АЦП. Таким образом, чем выше разрешение, тем лучше форма и точность волновых функций. То же самое применимо и к оси времени.

    Сравните 24-битное разрешение (оранжевый) и 16-битное (серый)

    Технология DualCoreADC® и почему она важна

    Одной из давних инженерных проблем с амплитудной осью является динамический диапазон. Например: что делать, если у нас есть сигнал, который обычно составляет менее 5 вольт, но иногда может резко колебаться вверх? Если мы установим разрешение АЦП в расчете на 0–5 В, то система будет полностью перегружена, если сигнал превысит этот уровень.

    Одним из решений было бы задействовать два канала, настроенных на разные коэффициенты усиления; и на один из них направлять данные 0–5 В, а на другой — с более высокой амплитудой. Но это очень неэффективно: мы не можем использовать два канала для каждого входного сигнала — это вдвое снизит производительность системы сбора данных. Также усложнится и затянется анализ данных после каждого измерения.

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

    Благодаря технологии DualCoreADC® системам сбора данных SIRIUS удается достичь соотношения «сигнал-шум» 130 дБ и более 160 дБ в динамическом диапазоне. Это в 20 раз лучше, чем могут обеспечить типичные 24-битные системы.

    Читайте также: Тонкости настройки преобразователя частоты

    Разрядность АЦП

    Разрядность АЦП — это разрядность его выходного сигнала. То есть количество битов в числе, которое получается на выходе АЦП.

    Например, 8-разрядный АЦП может выдать 28 = 256 значений — от 0 до 255 (если речь идёт о положительных числах).

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

    Где Р — это разрядность АЦП, Д — диапазон измеряемых значений, Х — точность (дискретность).

    Например, если вам надо измерять напряжение в диапазоне 0…9В, то Д = 10. А если в диапазоне -5…15В, то Д = 21 (не забываем про ноль).

    Например, если у нас 8-разрядный АЦП, и мы хотим измерять напряжение в диапазоне 0…255В, то точность измерений будет:

    256 / 28 = 256 / 256 = 1 В

    Если же мы хотим измерять напряжение с этим же АЦП в диапазоне 0…15В, то точность измерений будет:

    16 / 28 = 16 / 256 = 0,0625 В

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

    256 / 212 = 256 / 4096 = 0,0625 В

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

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

    АЦП микроконтроллера обычно измеряет только напряжение в диапазоне от 0 до напряжения питания микроконтроллера.

    Мультиплексирование или один АЦП на канал

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

    В мультиплексной системе АЦП один аналого-цифровой преобразователь оцифровывает сразу несколько аналоговых сигналов. Это достигается путем мультиплексирования аналоговых сигналов по одному в АЦП.

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

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

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

    Характеристики АЦП

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

    Пять основных технологий АЦП

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

    Сравнение основных типов АЦП

    Тип АЦП Преимущества Недостатки Макс. разрешение Макс. частота выборки Сферы применения
    Последовательного приближения (РПП) Хорошее соотношение скорости и разрешения Отсутствие внутренней защиты от искажения 18 бит 10 МГц Сбор данных
    Дельта-сигма (ΔΣ) Высокая динамическая производительность, встроенная защита от искажения Отставание на искусственных сигналах 32 бита 1 МГц Сбор данных, шум и вибрация, аудио
    Сдвоенный Точный, недорогой Низкая скорость 20 бит 100 Гц Вольтметры
    Конвейерный Очень быстрый Ограниченное разрешение 16 бит 1 ГГц Осциллоскопы
    Параллельный Самый быстрый Низкое битовое разрешение 12 бит 10 ГГц Осциллоскопы

    Каждый из них имеет свои преимущества и недостатки и, следовательно, пригоден для решения определенных задач. Рассмотрим каждый:

    АЦП последовательного приближения (РПП)

    «Рабочая лошадка» сферы обработки данных — это аналогово-цифровой преобразователь последовательного приближения (РПП). Он обеспечивает превосходный баланс скорости и разрешения и обрабатывает широкий спектр сигналов с отменной точностью.

    Этот преобразователь существует уже давно, поэтому модели РПП стабильны и надежны, а чипы относительно недороги. Они могут быть настроены как для простых АЦП-карт, где один АЦП-чип «совместно используется» несколькими входными каналами (мультиплексные АЦП-платы), так и для моделей, где каждый входной канал имеет свой собственный АЦП для одновременной выборки.

    Читайте также: Колебательный контур — это… принцип действия

    Блок-схема типичного РПП

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

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

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

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

    Преимущества:

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

    Недостатки:

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

    Применение

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

    Дельта-сигма АЦП (ΔΣ)

    Более новая технология — это дельта-сигма АЦП, использующие преимущества технологии ЦОС для повышения разрешения амплитудной оси и уменьшения высокочастотного шума квантования, присущего РПП.

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

    Блок-схема типичного дельта-сигма АЦП

    Фильтр нижних частот, реализованный в процессоре ЦОС, практически исключает шумы квантования, что обеспечивает отношение «сигнал-шум», близкое к идеальному.

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

    Преимущества:

    • высокое разрешение выходных данных (24 бита);
    • превышение частоты выборки уменьшает шум квантования;
    • встроенная фильтрация-сглаживание.

    Недостатки:

    • ограничение до 200 тысяч выборок/с;
    • эффективность обработки искусственных сигналов ниже, чем в РПП.

    Применение

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

    Сдвоенные дельта-сигма АЦП — DualCoreADC®

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

    Диаграмма DualCoreADC от компании Dewesoft

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

    Видео про DualCoreADC от компании Dewesoft

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

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

    Сдвоенные АЦП

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

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

    Типичный интегрирующий усилитель с компаратором, таймером и контроллером

    Преимущества:

    • очень точное измерение.

    Недостатки:

    • долгое время преобразования из-за итераций повышения и понижения.

    Применение

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

    Принцип работы АЦП

    Итак, мы узнали, что АЦП преобразует аналоговый сигнал в цифровой. Но как он это делает?

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

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

    Как вы уже знаете, аналоговый сигнал — это непрерывный сигнал. То есть такой сигнал может принимать бесконечное количество значений, и ни у какого процессора не хватит “мозгов” для обработки всех этих значений.

    Поэтому первая задача АЦП — это разбить измеряемый диапазон на какое-то конечное количество значений.

    Например, мы хотим измерить напряжение в диапазоне от 0 до 9 В. Допустим, нам достаточно точности в 1В. Тогда мы разбиваем этот диапазон на 10 значений и получаем, что каждому значению напряжения соответствует такое же число. То есть 0 — это 0 В, 5 — 5 В и т.п.

    А как же, например, напряжение 4,3 В? Да никак. Оно просто округляется, и АЦП преобразует его в число 4. Этот простой пример отображён на рисунке ниже.

    Принцип работы АЦП (линейный график роста напряжения и дискретное его изменение).

    Возникает вопрос — а как измерять большие напряжения? Или как повысить точность (например, если мы хотим измерять напряжение с точностью до 0,1В)?

    Расскажу и об этом, но сначала о разрядности АЦП.

    Параллельные АЦП

    Параллельные АЦП очень быстрые, поэтому их обычно используют, если требуются максимально высокие частоты выборки. Они преобразуют аналоговые сигналы в цифровые, сравнивая их с эталонными значениями. Больше эталонных значений — выше точность. Например, если используется параллельный АЦП с 10-битным разрешением, придется сравнивать входной аналоговый сигнал с 1024 эталонными значениями. В случае 8-битного разрешения — с 256 и так далее.

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

    «Золотой серединой» в этом случае является 8-битное разрешение. Параллельные АЦП могут оперировать Гвыб./с с сохранением 8-битного разрешения.

    Схема параллельного АЦП

    Преимущества:

    • самые быстрые из АЦП;
    • быстрое преобразование без задержек.

    Недостатки:

    • энергоемкость схемы возрастает с каждым битом;
    • разрешение фактически ограничено 8-битным.

    Применение

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

    Применение ЦАП и АЦП

    Как уже о , цифро-аналоговые преобразователи ( ЦАП, DAC — «Digital-to-Analog Converter») и аналого-цифровые преобразователи ( АЦП, ADC — «Analog-to-Digital Converter») главным образом применяются для сопряжения цифровых устройств и систем с внешними аналоговыми сигналами, с реальным миром. При этом АЦП преобразует аналоговые сигналы во входные цифровые сигналы, поступающие на цифровые устройства для дальнейшей обработки или хранения, а ЦАП преобразует выходные цифровые сигналы цифровых устройств в аналоговые сигналы (см.рис. 2.12).

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

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

    Читайте также: Маркировка транзисторов — какая она бывает? типы, параметры и характеристики транзисторов, маркировка

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

    Применение ЦАП

    В общем случае микросхему ЦАП можно представить в виде блока (рис. 13.1), имеющего несколько цифровых входов и один аналоговый вход, а также аналоговый выход.

    Рис. 13.1.
    Микросхема ЦАП

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

    Кроме информационных сигналов, микросхемы ЦАП требуют также подключения одного или двух источников питания и общего провода. Обычно цифровые входы ЦАП обеспечивают совместимость со стандартными выходами микросхем ТТЛ.

    Чаще всего в случае, если ЦАП имеет токовый выход, его выходной ток преобразуется в выходное напряжение с помощью внешнего операционного усилителя и встроенного в ЦАП резистора RОС, один из выводов которого выведен на внешний вывод микросхемы (рис. 13.2). Поэтому, если не оговорено иное, мы будем в дальнейшем считать, что выходной сигнал ЦАП — напряжение UO.

    Рис. 13.2.
    Преобразование выходного тока ЦАП в выходное напряжение

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

    В качестве примера на рис. 13.3 показано 4-разрядное (n = 4) цифро-аналоговое преобразование на основе резистивной матрицы R–2R и ключей (в реальности используются ключи на основе транзисторов). Правому положению ключа соответствует единица в данном разряде входного кода N (разряды D0 D3). Операционный усилитель может быть как встроенным (в случае ЦАП с выходом по напряжению), так и внешним (в случае ЦАП с выходом по току).

    Рис. 13.3.
    4-разрядное цифро-аналоговое преобразование

    Первым (левым по рисунку) ключом коммутируется ток величиной UREF/2R, вторым ключом — ток UREF/4R, третьим — ток UREF/8R, четвертым — ток UREF/16R. То есть токи, коммутируемые соседними ключами, различаются вдвое, как и веса разрядов двоичного кода. Токи, коммутируемые всеми ключами, суммируются и преобразуются в выходное напряжение с помощью операционного усилителя с сопротивлением RОС=R в цепи отрицательной обратной связи.

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

    Суммарный ток IO от всех ключей создает на выходе операционного усилителя напряжение UO=IO RОС=IOR. То есть вклад первого ключа (старшего разряда кода) в выходное напряжение составляет UREF/2, второго — UREF/4, третьего — UREF/8, четвертого — UREF/16. Таким образом, при входном коде N = 0000 выходное напряжение схемы будет нулевым, а при входном коде N = 1111 оно будет равно –15UREF/16.

    В общем случае выходное напряжение ЦАП при RОС = R будет связано со входным кодом N и опорным напряжением UREF простой формулой

    UВЫХ = –N • UREF 2-n

    где n — количество разрядов входного кода. Знак минус получается из-за инверсии сигнала операционным усилителем. Эту связь можно проиллюстрировать также табл. 13.1.
    Таблица 13.1. Преобразование ЦАП в однополярном режиме

    Входной код N Выходное напряжение UВЫХ
    000 000 0
    000 001 -2-n UREF
    100 000 -2-1 UREF
    111 111 -(1-2-n) UREF

    Некоторые микросхемы ЦАП предусматривают возможность работы в биполярном режиме, при котором выходное напряжение изменяется не от нуля до UREF, а от –UREF до +UREF. При этом выходной сигнал ЦАП UВЫХ умножается на 2 и сдвигается на величину UREF. Связь между входным кодом N и выходным напряжением UВЫХ будет следующей:

    Конвейерные АЦП

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

    В предыдущем разделе о параллельных АЦП пояснялась причина работы без задержек: компараторы фиксируются одновременно. Но для этого требуется много энергии, особенно когда для достижения высокого разрешения используются все больше и больше компараторов. В конвейерном АЦП аналоговый сигнал не фиксируется всеми компараторами одновременно, что распределяет энергию, затрачиваемую на преобразование аналогового значения в цифровое. Таким образом, флэш-компараторы «конвейеризуются» в квазипоследовательный процесс из 2–3 циклов. Преимущество в том, что при низкой энергоемкости достигаются высокие разрешения, но есть два нюанса: а) частота выборки не может быть такой же высокой, как у параллельных АЦП; б) появляется задержка около 3 циклов. Эти нюансы можно смягчить, но невозможно исключить.

    Пример конвейерного АЦП

    Этот вид АЦП часто используется для испытаний с частотой выборки в пределах от 2–3 до 100 Мвыб./с (до 1 Гвыб./с). Если требуются более высокие частоты выборки, обращаются к параллельным АЦП. Разрешение конвейерных АЦП может достигать 16 бит при низких частотах выборки; при максимальных частотах выборки — 8 бит. Всегда присутствует компромисс между скоростью и разрешением.

    Преимущества:

    • скорость сопоставима с параллельным АЦП (и быстрее РПП и дельта-сигма).

    Недостатки:

    • задержка из-за последовательного «конвейерного» преобразования;
    • максимальная частота выборки ограничена битовым разрешением.

    Применение

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

    Аналого-цифровые преобразователи с балансировкой заряда (дельта-сигма)

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