Аналого-цифровые преобразователи (АЦП): назначение, устройство, применение.

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

Характеристика идеального квантования имеет вид, приведенный на рис. 3.92.

Васильев Дмитрий Петрович

Профессор электротехники СПбГПУ

Задать вопрос

Квантование представляет собой округление аналоговой величины до ближайшего уровня квантования, т. е. максимальная погрешность квантования равна ±0,5h (h — шаг квантования).

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

Абрамян Евгений Павлович

Доцент кафедры электротехники СПбГПУ

Задать вопрос

Часто говорят о разрешающей способности АЦП, которую определяют величиной, обратной максимальному числу кодовых комбинаций на выходе АЦП. Так, 10-разрядный АЦП имеет разрешающую способность (210 = 1024)−1, т. е. при шкале АЦП, соответствующей 10В, абсолютное значение шага квантования не превышает 10мВ. Время преобразования tпp — интервал времени от момента заданного изменения сигнала на входе АЦП до появления на его выходе соответствующего устойчивого кода.

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

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

Аналого-цифровые преобразователи (АЦП) являются одним из основных элементов современных систем сбора данных. Такие системы состоят из следующих базовых компонентов:

  • датчиков (см. справочник «Что такое датчики?»);
  • преобразователей сигналов (см. руководство «Что такое преобразование сигналов?»);
  • аналого-цифровых преобразователей (АЦП) (данная статья)
  • и какого-либо компьютера с ПО для сбора данных, позволяющего регистрировать и анализировать сигналы.


АЦП играют большую роль в современных цифровых системах сбора данных

Основные типы аналого-цифровых преобразователей

Хотя на сегодняшний день существует пять основных типов АЦП, в сфере сбора данных все сводится к двум из них:

  • АЦП последовательного приближения и
  • дельта-сигма.

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

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

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

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

Таким образом, специалисты в области сбора данных остановились на АЦП последовательного приближения (РПП) и дельта-сигма (ΔΣ) АЦП. Каждый из них имеет свои преимущества и недостатки и, следовательно, пригоден для решения определенных задач. Рассмотрим принцип работы каждого АЦП и сравним их:

Пример

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

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

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

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

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

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

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

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

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

Дополнительные сведения см. в разделе «Искажение и опасность недостаточной частоты выборки» ниже

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

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

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

  • Максимальный
    (
    Vref
    )
    и минимальный
    (обычно 0)
    уровни входного сигнала
    — устанавливают диапазон шкалы преобразования, относительно которой будет оцениваться входной сигнал (рис. 1). Также этот параметр может обозначаться как
    FS
    — full scale. Для дифференциального АЦП шкала определяется от -Vref до +Vref, однако для упрощения далее будем рассматривать только single-ended шкалы.
  • Разрядность
    (
    N
    ) — разрядность выходного кода, характеризующая количество дискретных значений (), которые преобразователь может выдать на выходе (рис. 1).
  • Ток потребления
    (
    Idd
    ) — сильно зависит от частоты преобразования, поэтому информацию об этом параметре лучше искать на соответствующем графике.
  • МЗР
    (
    LSB
    ) –
    младший значащий разряд (Least Significant Bit)
    — минимальное входное напряжение, разрешаемое АЦП (по сути единичный шаг в шкале преобразования). Определяется формулой: (рис. 1).
  • Ошибка смещения
    (
    offset error
    ) – определяется как отклонение фактической передаточной характеристики АЦП от передаточной характеристики идеального АЦП в начальной точке шкалы. Измеряется в долях LSB. При ошибке смещения переход выходного кода от 0 в 1 происходит при входном напряжении отличном от 0.5LSB (рис. 2).

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

  • Ошибка усиления
    (
    gain error
    ) – определяется как отклонение средней точки последнего шага преобразования (которому соответствует входное напряжение Vref) реального АЦП от средней точки последнего шага преобразования идеального АЦП после компенсации ошибки смещения (рис. 3).

    Рис. 3: Ошибка усиления

  • Дифференциальная нелинейность
    (
    DNL

    Differential nonlinearity
    ) – отклонение ширины ступеньки на передаточной характеристике реального АЦП от номинальной ширины ступеньки у идеального преобразователя. Из-за дифференциальной нелинейности шаги квантования имеют различную ширину (рис. 4).

    Рис. 4: Дифференциальная нелинейность
    Для 3-х битного АЦП с рисунка 4:

  • Интегральная нелинейность
    (
    INL

    Integral nonlinearity
    ) – разница по вертикали между реальной и идеальной характеристикой преобразования (рис. 5). INL можно интерпретировать как сумму DNL. Отрицательная INL указывает на то, что реальная характеристика находится ниже идеальной в данной точке шкалы. Для положительной INL реальная характеристика находится выше идеальной. Распределение DNL определяет интегральную нелинейность АЦП.

    Рис. 5: Интегральная нелинейность

  • Общая нескорректированная ошибка
    (
    TUE

    Total Unadjusted Error
    ) – абсолютная ошибка, включающая в себя следующие ошибки: квантования, смещения, усиления и нелинейности. Другими словами, это максимальное отклонение между реальной и идеальной характеристикой преобразования. Для идеального АЦП TUE = 0.5LSB, обусловлена ошибкой квантования (или шум квантования — возникает из-за округления значения аналогового сигнала, которое соответствует цифровому коду). Ошибки усиления и смещения обычно вносят наиболее весомый вклад в абсолютную ошибку. Однако с точки зрения динамических параметров (см. ниже) ошибки смещения и усиления ничтожны, так как они не порождают нелинейных искажений.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

АЦП в STM32F1 и режимы работы

Модулей АЦП в микроконтроллере может быть несколько. Соответственно работать они могут независимо друг от друга (англ. Independent mode) и совместно (англ. dual mode). Каждый модуль в свою очередь имеет несколько каналов, которые делятся на регулярные (англ. regular) и инжекторные (англ. injected). Но они чуть позже. Сами каналы могут быть выведены к ножкам МК (внешние), а могут быть подсоединены к внутренним цепям (внутренние), например к датчику температуры МК или источнику опорного напряжения.

Микроконтроллер STM32 позволяет настраивать скорость преобразования, например 1.5, 7.5, 13.5, 28.5, 41.5, 55.5, 71.5, 239.5 такта АЦП. Ниже приведены макросы из стандартной библиотеки.

xxxxxxxxxx

#define ADC_SampleTime_1_5Cycles ((uint32_t)0x00000000)

#define ADC_SampleTime_7_5Cycles ((uint32_t)0x00000001) #define ADC_SampleTime_13_5Cycles ((uint32_t)0x00000002) #define ADC_SampleTime_28_5Cycles ((uint32_t)0x00000003) #define ADC_SampleTime_41_5Cycles ((uint32_t)0x00000004) #define ADC_SampleTime_55_5Cycles ((uint32_t)0x00000005) #define ADC_SampleTime_71_5Cycles ((uint32_t)0x00000006) #define ADC_SampleTime_239_5Cycles ((uint32_t)0x00000007)

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

Все режимы работы АЦП описаны в документе AN3116.

Незасисимые режимы работы

Так как каналов несколько, то работать с ними можно как по одному, так и группами. Следовательно, можно выделить одноканальный (англ. single channel) и многоканальный (англ. multichannel). Производить измерения можно однократно (англ. single conversion) или непрерывно (англ. continuous). В общей сложности 4 комбинации.

  • Одноканальный однократный (англ. single-channel, single conversion) — используется один канал, по завершению преобразования результат сохраняется в регистре DR и АЦП останавливается. Данный режим удобно использовать, когда нужно проверить напряжение питания и принять решение включать устройство или нет.
  • Одноканальный непрерывный (англ. single channel, continuous) — работа также осуществляется с одним каналом, но после сохранения результата в регистр, АЦП перезапускается и производит новое измерение. Данный режим удобно использовать, когда нужно непрерывно отслеживать какой-нибудь параметр, например уровень заряда батарейки или, как в нашем случае, световой поток (хотя на самом деле можно делать это не так часто).
  • Многоканальный одноразовый — выбирается несколько каналов, затем последовательно (по порядковому номеру) АЦП производит измерение в каждом из них. Стоит помнить, что у АЦП всего один регистр для хранения результата (DR), поэтому значения будут перезаписываться.
  • Многоканальный непрерывный — работает по аналогии: последовательно собираются значения и после последнего канала, преобразование начинается занаво, с первого.

По завершению преобразования происходит событие и в соответствующий бит регистра статуса (SR) записывается 1. Бит сбрасывается в 0 либо при чтении результата конвертации, либо его можно сбросить вручную. По событию можно настроить прерывание, что бы у обработчике как-то обрабатывать данные (например просто сохранять их в оперативную память), однако это не самый эффективный способ. Если приходится собирать много данных, то лучше вместо прерываний подключить модуль прямого доступа к памяти (DMA), который разгрузит процессор и самостоятельно будет копировать данные из регистра DR в какую-нибудь переменную или массив.

Как и с прерываниями, некоторые параметры системы могут быть важнее других. Для этого существует ещё один режим работы.

  • Инжекторный — данный режим для преобразований запускаемых от внешних событий (от таймера, модуля EXTI или программного). Группа инжекторных каналов (до четырёх) имеет приоритет над регулярными, поэтому они могут прерывать работу регулярных каналов.

Сканирование деругялрных и инжектированных каналов, изображение из AN3116

Так же один из каналов может быть настроен как аналоговый сторожевой (англ. analog watchdog), его задача следить за состоянием напряжения на линии. Если напряжение падает ниже порогового, сработает прерывание по событию AWD, если оно настроено. Это полезно в тех случаях, когда устройство работает от батарейки и перед выключением нужно сохранить\отправить какие-нибудь данные.

Совместный режим работы

В микроконтроллерах может быть более одного модуля АЦП. В некоторых МК от ST может быть до трёх штук. Первые два могут работать совместно, а третий только независимо. В совместном режиме (или парном, dual mode) модуль ADC1 принимает роль ведущего (англ. master), а ADC2 ведомого (англ. slave). Данная возможность полезна, когда нужно ускорить считывание показаний.

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

  • Парное, одновременное, считывание группы регулярных каналов (англ. dual regular simultaneous mode, DRS) — работают сразу два модуля, первый в прямом порядке следования каналов, второй в обратном.

Парное, одновременное считывание группы регулярных каналов, изображение из AN3116

  • Парный, быстрый режим с захлёстом (англ. dual fast interleaved mode, DFI) — предназначен для считывания одного канала обоими модулями с задержкой в 7 тактов АЦП. Возможно достичь скорости в 2 мегавыборки.

Парный, быстрый режим с захлёстом, изображение из AN3116

  • Парный, медленный режим с захлёстом (англ. dual slow interleaved mode, DSI) — работает схожим образом, но задержка между опросами равна 14 тактам АЦП.

Парный, медленный режим с захлёстом, изображение из AN3116

  • Парное, попеременное преобразование по тригеру (англ. dual alternate trigger mode, DAT) — может работать только с инжектированными каналами. Когда приходит сигнал от триггера, один из модулей совершает преобразование. По приходу следующего сигнала, преобразование выполняет другой модуль.

Парный, попеременный режим по тригеру, изображение из AN3116

  • Парный, совместный, одновременный режим (англ. dual combined regular/injected simultaneous mode, DCRIS) — данный режим схож с парным считыванием регулярных каналов, за тем исключением, что по триггеру могут быть вызвано преобразование инжекторных каналов.

Парный, совместный, одновременный режим, изображение из AN3116

  • Парный, совместный с инжекцией (англ. dual combined: injected simultaneous + interleaved mode) — данный режим это комбинация DFI/DSI и DCRIS режимов. Когда запускается регулярный канал, начинается парное чередование: модуль ADC2 делает первое преобразование, затем запускается ADC1 и так далее. Когда инжекторный канал запускается, он прерывает преобразования с захлёстом и оба модуля (ADC1 и ADC2) начинают преобразовывать группу инжекторных каналов. По завершению преобразования возобновляется работа прерванного преобразования.

Парный, совместный режим с инжекцией, изображение из AN3116

Регистры модуля ADC

Завершая изучение модуля ADC нужно поговорить о его регистрах. Ниже представлены все регистры Reference Manual для stm32f103c8 с кратким описанием нужных в этом курсе бит. Тем не менее, обязательно откройте документацию и изучите каждый регистр самостоятельно; в других МК они могут отличаться (название и поведение).

Шаблон работы с модулем примерно следующий:

  1. включить тактирование АЦП (RCC);
  2. настраиваем ножки на вход, аналоговый режим;
  3. настраиваем регистры нужного модуля АЦП на нужный режим работы;
  4. включаем АЦП;
  5. настраиваем каналы;
  6. запускаем и дожидаемся конца калибровки.

Регистр статуса SR

  • 0 бит: флаг AWD (Analog Watchdog), выставляется 1 если выходной сигнал пересек значение в регистрах LTR / HTR. Сбрасывается программно.
  • 1 бит: флаг EOC (End Of Conversion), выставляется 1 по окончанию преобразования (любого типа канала). Сбрасывается автоматически при считывании регистра DR, либо программно (записью в регистр).
  • 2 бит: флаг JEOC (Injected End Of Conversion), выставляется 1 по окончанию преобразования группы инжекторных каналов. Сбрасывается автоматически при считывании регистра DR, либо программно.
  • 3 бит: флаг JSTRT (Injected Start), выставляется 1 когда группа инжекторных каналов начинает преобразование, сбрасывается программно.
  • 4 бит: флаг STRT (Start), выставляется 1 когда группа регулярных каналов начинает преобразование, сбрасывается программно.

Регистры настроек CR1 и CR2

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

  • 8 бит: SCAN (Scan mode), включает (1) или отключает (0) многоканальный режим, согласно списку каналов в регистрах SQR1, SQR2, SQR3.
  • 11 бит: DISCEN (Discontinuous mode Enabled). АЦП включается по внешнему триггеру.
  • 13 …15 биты: DISCNUM (Discontinuous mode Number of channels). Задают количество каналов в поочерёдном режиме.
  • 16 … 19 биты: DUALMOD (Dual Mode selection). Конфигурация парного режима.

Второй регистр настроек CR2.

  • 0 бит: ADON запускает (1) или останавливает (0) преобразование.
  • 1 бит: CONT задаёт одиночный (0) или многоканальный (1) режим.
  • 2 бит: CAL регистр запуска калибровки.
  • 3 бит: RSTCAL регистр сброса калибровки.
  • 11 бит: ALIGN устанавливает выравнивание данных по правому (0) или по левому (1) краю.
  • 20 бит: EXTTRIG разрешает или запрещает преобразование по сигналу от триггера.

Регистры скорости выборки

Регистры ADC_SMPR1 и ADC_SMPR2 задают индивидуальную скорость преобразования для каждого отдельного канала, каждому из которых отводится три бита. Доступны следующие скорости: 1.5 (000), 7.5, 13.5, 28.5, 41.5, 55.5, 71.5, 239.5 (111) тайта АЦП.

Что лучше? РПП или дельта-сигма?

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

КритерийАЦП последовательного приближенияДельта-сигма (ΔΣ) АЦП
Требуется максимальное разрешение амплитудной оси (даже для медленных сигналов, таких как термопары)Обычно максимум 16 или 18 битПредпочтительнее. Разрешение 24 бита фактически является современным стандартом среди дельта-сигма плат.
Необходимо использовать недорогую мультиплексную АЦ-платуЕдинственный вариант. Можно мультиплексировать один АЦП РПП на нескольких каналах для создания недорогих систем сбора данных, если небольшие искажения не критичны.Н/Д
Требуется максимально возможная частота выборкиПредпочтительнее. Существуют АЦП последовательного приближения для сбора данных с частотой выборки до 10 Мвыб./с.Встроенный ЦОС-процессор ограничивает макс. частоту выборки дельта-сигма АЦП по сравнению с АЦП РПП.
Желательна фильтрация-сглаживаниеДорого и сложно добавить в АЦП последовательного приближения.Предпочтительнее, поскольку фильтрация-сглаживание встроена в дельта-сигма АЦП.
Требуется максимальное соотношение «сигнал-шум»Единственный вариант. Возможно достижение 160 дБ с помощью запатентованной технологии DualCoreADC® компании Dewesoft.
В основном будут регистрироваться искусственные сигналы (например, прямоугольные)Лучше воспроизводит прямоугольные волны.

Подробнее о различных типах АЦ-преобразователей:

Полное руководство по аналого-цифровым преобразователям

Быстродействие

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

  • Параллельные, прямого преобразования — обычно не превышают разрядности в 8 бит;
  • Последовательные, например последовательного приближения (англ. successive approximation, или просто SAR) — как раз такие применяются в STM32F10x;
  • Сигма-Дельта АЦП — применяются в STM32F3x серии (эти микроконтроллеры созданы больше для задач цифровой обработки сигналов).
  • и другие.

Оптимальный инструмент для работы

Хотя знаковыми решениями Dewesoft являются 24-битные дельта-сигма АЦП и технология DualCoreADC, компания также использует 16-битные АЦП последовательного приближения для достижения максимальной частоты выборки 1 Мвыб./с в линейке систем сбора данных SIRIUS.

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

Преобразователи сигналов SIRIUS HS реализуют мощную фильтрацию-сглаживание в форме фильтрации 100 кГц 5-го порядка. В цифровой области предусмотрен дополнительный фильтр (Бесселя, Баттерворта (или обходной) на выбор) вплоть до 8-го порядка.

Мощная фильтрация-сглаживание встроена во все 24-битные преобразователи сигналов АЦП от Dewesoft.

Ознакомьтесь с системами сбора данных компании Dewesoft с передовым преобразованием сигналов

Полоса пропускания АЦП и субдискретизация (undersamling/sub-sampling)

Полоса пропускания преобразователя
(
FPBW

Full Power (Analog) Bandwidth
). Обычно ширина полосы преобразователя составляет несколько зон Найквиста. Этот параметр должен быть в спецификации, но, если его нет, можно попробовать самостоятельно оценить минимально возможное значение полосы пропускания для данного АЦП. За период выборки емкость УВХ должна зарядиться с точностью 1 LSB. Если период выборки равен , то ошибка выборки сигнала полной шкалы равна: Решив относительно t, получаем: Положив, что , определим минимальную полосу АЦП (для ): Например, для 16 битного АЦП с частотой дискретизации 80 Мвыб/c и шкалой 2 В ограничение снизу для полосы пропускания, рассчитанное по этой формуле, составит FPBW = 282 МГц.

Analog Bandwidth является очень важным параметром при построении систем, которые работают в режиме субдискретизации (“undersampling”). Объясним это подробнее. Согласно критерию Найквиста, ширина спектра обрабатываемого сигнала должна быть как минимум в 2 раза меньше частоты дискретизации, чтобы избежать элайзинга. Здесь важно, что именно ширина полосы, а не просто максимальная частота сигнала. Например, сигнал, спектр которого расположен целиком в 6-й зоне Найквиста может быть теоретически дискретизован без потери информации (рис. 11). Ограничив спектр этого сигнала антиэлайзинговым фильтром, его можно подавать на дискретизатор с частотой fs. В результате сигнал отразится в каждой зоне.

Рис. 11: undersampling
Свойство переноса спектра при дискретизации

Undersampling или sub-sampling имеет место быть из-за свойств дискретизации. Рассмотрим на примере, пусть имеется сигнал a(t) и его спектральная плотность (рис. 12). Необходимо найти спектральную плотность сигнала после дискретизации сигнала .

Рис 12: дискретизация непрерывного сигнала
По фильтрующему свойству дельта-функции:

После дискретизации : где

С помощью формулы Релея вычислим спектр:

Из этого выражения следует что спектр сигнала будет повторяться во всех зонах Найквиста. Итак, если есть хороший антиэлайзинговый фильтр, то соблюдая критерий Найквиста, можно оцифровывать сигнал с частотой дискретизации намного ниже полосы АЦП. Но использовать субдискретизацию нужно осторожно. Следует учитывать, что динамические параметры АЦП деградируют (иногда очень сильно) с ростом частоты входного сигнала, поэтому оцифровать сигнал из 6-й зоны так же «чисто», как из 1-й не получится. Несмотря на это субдискритезация активно используется. Например, для обработки узкополосных сигналов, когда не хочется тратиться на дорогой широкополосный быстродействующий АЦП, который вдобавок имеет высокое потребление. Другой пример – выборка ПЧ (IF-sampling) в РЧ системах. Там благодаря undersampling можно исключить из радиоприемного тракта лишнее аналоговое звено — смеситель (который переносит сигнал на более низкую несущую или на 0).

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

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

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

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

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

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

Введение

Начать бы хотелось с интересного философского вопроса: если аналоговый сигнал — это бесконечность, теряем ли мы при оцифровке сигнала бесконечное количество информации? Если это так, тогда какой смысл существования такого неэффективного преобразования? Для того, чтобы ответить на этот вопрос, разберемся с тем, что такое аналого-цифровое преобразование сигнала. Основной график, который отражает работу АЦП – передаточная характеристика преобразования. В идеальном мире это была бы прямая линия, то есть у каждого аналогового уровня сигнала имелся бы единственный цифровой эквивалент.


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

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

Что такое частота выборки?

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

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

Аналоговый сигнал, регистрируемый АЦП

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

МодельВариантИнтерфейсМакс. частота выборки (на канал)
SIRIUSDual CoreUSB200 квыб./с
SIRIUS MINIDual CoreUSB200 квыб./с
SIRIUSDual CoreEtherCAT20 квыб./с
SIRIUSHD (высокая плотность)USB200 квыб./с
SIRIUSHD (высокая плотность)EtherCAT10 квыб./с
SIRIUSHS (высокая скорость)USB1 Мвыб./с
DEWE-43AСтандартн.USB200 квыб./с
KRYPTONМногоканальныйEtherCAT20 квыб./с
KRYPTONОдноканальныйEtherCAT40 квыб./с
IOLITEСтандартн.EtherCAT20 квыб./с

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

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

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

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

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

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

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

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

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


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

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

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

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

  • Частота дискретизации
    (
    fs

    sampling frequency
    ) — частота, при которой происходит преобразование в АЦП (ну или 1/Ts, где Ts — период выборки). Измеряется числом выборок в секунду. Обычно под данным обозначением подразумевают максимальную частоту дискретизации, при которой специфицированы параметры преобразователя (рис. 6).

    Рис. 6: Процесс преобразования АЦП

  • Отношение сигнал/шум
    (
    SNR

    Signal-to-Noise Ratio
    ) — определяется как отношение мощности обрабатываемого сигнала к мощности шума, добавляемого в процессе преобразования. SNR обычно выражается в децибелах (дБ) и рассчитывается по следующей формуле: Наглядно данное выражение продемонстрированно на рисунке 7.

    Рис. 7: Отношение сигнал/шум
    Для оценки SNR АЦП при разработке системы можно воспользоваться следующей формулой:

    Первые 2 слагаемых учитывают уровень сигнала и ошибку квантования (нужно понимать, что формула верна для сигнала размаха полной шкалы). Третье слагаемое учитывает эффект передискретизации (выигрыш по обработке или
    processing gain
    ): если полоса обрабатываемого сигнала (BW < fs/2), то, применив цифровой фильтр низких частот (либо полосовой, тут зависит все от полосы и несущей) к результату преобразования, можно вырезать часть шума АЦП, а оставшаяся часть будет распределена от 0 до BW (рис. 8). Если шум АЦП равномерно распределен по всем частотам (т.н. «белый» шум) интегральный шум после фильтрации уменьшится в fs/2 / BW раз, что и отражает третий член формулы.

    Рис. 8: Увеличение SNR за счет передискретизации

  • Общие нелинейные искажения
    (
    THD

    total harmonic distortion
    ). Прежде, чем сигнал преобразовывается в цифровой код, он проходит через нелинейные блоки, которые искажают сигнал. К примеру, пусть есть сигнал с частотой f. Пройдя через нелинейный блок к нему добавятся компоненты с частотами 2f, 3f, 4f … — 2-я, 3-я, 4-я и т.д. гармоники входного сигнала. Если дискретизированный сигнал разложить в спектр с помощью ДПФ (Дискретного Преобразования Фурье), мы увидим, что все эти гармоники «перенеслись» в первую зону Найквиста (от 0 до fs/2) (рис. 9).

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

  • Динамический диапазон, свободный от гармоник
    (
    SFDR

    Spurious-Free Dynamic Range
    ). Является отношением мощности полезного сигнала к мощности наибольшего «спура» (любая паразитная составляющая в спектре, не обязательно гармонического происхождения), присутствующего в спектре (рис. 9).
  • Отношение сигнал / шум и нелинейные искажения
    (
    SINAD
    — signal-to-noise and distortion ratio). Аналогичен SNR, но помимо шума учитывает все виды помех и искажений, возникающих при аналого-цифровом преобразовании. SINAD является одним из ключевых параметром, характеризующим АЦП (в некоторых источниках обозначается как
    SNDR
    ):
  • Эффективное число бит
    (
    ENOB

    effective number of bits
    ) – некая абстрактная характеристика, показывающая сколько на самом деле бит в выходном коде АЦП несет в себе полезную информацию. Может принимать дробные значения.
  • Интермодуляционные искажения
    (
    IMD

    intermodulation distortion
    ). Рассмотренные прежде динамические параметры измеряются, когда на вход подается однотональный гармонический сигнал. Такие однотональные тесты хороши, когда АЦП обрабатывает широкополосные сигналы. В этом случае гармоники, располагающиеся выше fs/2 отражаются в первую зону Найквиста и, следовательно, всегда учитываются в расчете параметров. Однако, имея дело с узкополосными сигналами или АЦП с передискретизацией, даже гармоники низкого порядка (2-я, 3-я) могут иметь достаточно высокую частоту, чтобы выйти из рассматриваемого частотного диапазона (или не отразиться в этот диапазон в случае выхода за fs/2). В этом случае эти гармоники не будут учтены, что приведёт к ошибочному завышению динамических параметров. Для решения этой проблемы используются бигармонические тесты. На вход подают две спектрально чистых синусоиды одинаковой мощности с частотами и , которые находятся на близком расстоянии друг от друга. Нелинейность преобразователя порождает дополнительные тоны в спектре (их называют интермодуляционными искажениями) на частотах , где – произвольные целые числа. Полезность бигармонического теста в том, что некоторые из интермодуляционных продуктов располагаются в спектре очень близко к исходному сигналу и, следовательно, дают полную информацию о нелинейности АЦП. В частности, интермодуляционные искажения 3-го порядка находятся на частотах и (рис. 10).

    Рис. 10: интермодуляционные искажения
    При построении РЧ систем могут быть интересны так же продукты 2-го и более высокого порядка. Параметр АЦП, характеризующий его интермодуляционные искажения n-го порядка, определяется формулой: [dBc], где – мощность идентичных синусоид на входе, – мощность одного из продуктов. Например – отношение мощности на к мощности на

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

В эпоху зарождения сбора данных 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 от компании Dewesoft

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

Список ранее опубликованных глав

  1. Способ прямого согласования входа АЦП ПП (SAR) без буферного усилителя
  2. Измерения с использованием датчиков малой мощности: 12-битная несимметричная схема с двумя источниками питания на 3,3 В при 1 ksps
  3. Измерения с использованием датчиков малой мощности: 12-битная, несимметричная схема с одним источником питания на 3,3 В, 1 ksps
  4. Цепь контроля высоковольтной аккумуляторной батареи на основе 18-разрядного дифференциального АЦП
  5. Схема преобразователя несимметричного сигнала в дифференциальный с использованием дифференциального усилителя
  6. Схема истинно дифференциального аттенюатора аналогового входного блока с высокоимпедансным входом для SAR АЦП
  7. Схема расширения диапазона входных напряжений на встроенном аналоговом входном блоке (AFE) SAR АЦП

Перевел Александр Русу по заказу АО КОМПЭЛ

•••

Рейтинг
( 1 оценка, среднее 4 из 5 )
Понравилась статья? Поделиться с друзьями:
Для любых предложений по сайту: [email protected]