1.10. УСЛОВИЯ ВЫБОРА РАЗРЯДНОСТИ АЦП
Рассматриваемые условия и способы выбора разрядности АЦП основываются на различных допустимых соотношениях значений погрешности квантования и значений дискретного или цифрового сигналов, т. е. сигналов, отнесенных ко входу квантователя или к выходу АЦП. Для дискретных сигналов при этом учитываются характеризующие АЦП
максимальный диапазон преобразуемых в код напряжений ( 0 ÷ U пр.max ) или (
± U пр.max /2 ) и шаг квантования по уровню Q = U пр.max / 2 q ацп . Шаг квантования
Q называют также разрешением АЦП , так как им определяются его чувствительность к малым изменениям преобразуемого сигнала и тот минимальный уровень входного сигнала U пр.min = Q , который может быть преобразован в цифровой код.
В соответствии с первым способом выбор разрядности осуществляется по допустимой относительной погрешности квантования сигнала, приведенной ко входу АЦП: максимальной δ xm = E m /x min или среднеквадратической
δ x σ = σ e /x min , где x min – минимальное значение сигнала на входе АЦП, для которого оценивается относительная погрешность.
Учитывая, что Е m = η Q ( η = 1 или ½ ),
σ е = Q / 12 , можно найти
необходимые значения шага квантования Q : Q ≤
δ xm x min / η или Q ≤ 12 δ x σ x min .
По ним и определяется требуемая разрядность АЦП: q ацп ≥ [log 2 (U пр.max /Q)] цч +1 .
Для получения минимальной относительной погрешности квантования динамический диапазон сигналов на входе системы ЦОС (х max − х min ) должен быть приведен к динамическому диапазону АЦП путем усиления сигнала в
К У раз: К У ≤ U пр.max /х max .
Выбор разрядности АЦП по допустимой относительной погрешности квантования дискретного сигнала используется в измерительных системах ЦОС.
В соответствии со вторым способом разрядность АЦП находят из допустимого отношения R p (дБ) мощности сигнала Р х к мощности шума квантования Р е на выходе АЦП [14, 39]:
20 lg σ хц − 10 lg
Учитывая, что lg2 ≈ 0,3 и lg12 ≈ 1,079, получаем R p , дБ ≈ 6q х +20lg σ хц +10,79 .
Как видим, добавление одного разряда АЦП увеличивает отношение сигнал/шум на 6 дБ . Если действующий на входе сигнал (речевой, музыкальный и др.) рассматривать как случайный с предельным значением х ц max = 1, то его среднеквадратическое значение с высокой вероятностью может быть принято равным: σ хц ≈ 1/(3…4). При σ хц = 1/3,5 имеем
20lg σ хц ≈ − 10,79 и R p , дБ = 10lg(Р х /Р е ) ≈ 6q х .
Так, значениям q х = 9, 11 и 15 бит соответствуют отношения мощностей сигнала и шума квантования R p = 54, 66 и 90 дБ.
Третьим возможным условием выбора разрядности АЦП является соизмеримость дисперсии σ 2 е шума квантования е(n) с дисперсией действующего совместно с входным сигналом внешнего дискретизированного шума е ш (n) : σ 2 е ≈ σ 2 ш . Уменьшение шума квантования ниже этого порога путем увеличения числа двоичных разрядов АЦП не приводит к существенному уменьшению результирующего шума: σ 2 ш Σ = σ 2 е + σ 2 ш ( шумы полагаются независимыми ) как и общего отношения
сигнал/шум на выходе АЦП. Исходя из равенства σ е 2 =
= σ ш 2 , которому
соответствует шаг квантования Q =
12 σ ш = U пр.max , получаем соотношение
для верхней целесообразной границы разрядности АЦП:
Например, при σ ш ≈ 0,04U пр.max q ацп = 4 бита. При малых отношениях сигнал/шум на входе АЦП, близких к единице, применимо весьма грубое
квантование, вплоть до бинарного или знакового ( q ацп = 1 бит ). Оно широко используется в радиотехнических измерительных системах [45]. Чем меньше разрядность АЦП, тем проще его реализация (при бинарном квантовании − это ограничитель или компаратор), тем выше быстродействие и общая достигаемая скорость цифровой обработки сигнала.
ОДНАКО НАИБОЛЕЕ ОБЩИЕ ОЦЕНКИ НЕОБХОДИМОЙ РАЗРЯДНОСТИ АЦП НАХОДЯТСЯ ПО ДОПУСТИМОМУ УРОВНЮ ШУМА КВАНТОВАНИЯ АЦП В ВЫХОДНОМ СИГНАЛЕ СИСТЕМЫ ЦОС МЕТОДАМИ, КОТОРЫЕ РАССМАТРИВАЮТСЯ В ГЛАВЕ 4.
1.11. ИНСТРУМЕНТАЛЬНЫЕ ПОГРЕШНОСТИ ПРЕОБРАЗОВАНИЯ АНАЛОГ − КОД
С преобразованием аналогового сигнала в цифровой наряду со случайной методической погрешностью квантования связаны также систематические инструментальные погрешности , знание и учет которых особенно важны для измерительных систем ЦОС. Основными источниками систематической погрешности являются:
интегральная и дифференциальная нелинейность амплитудных характеристик АЦП;
отличие коэффициента передачи АЦП от единицы; неточность, нестабильность и частотная зависимость коэффициентов
передачи аналогового ФНЧ, нормализующего усилителя и УВХ, включая и свойственную УВХ погрешность хранения;
постоянное смещение и дрейф нуля, в том числе и АЦП.
Погрешность за счет нелинейности амплитудной характеристики АЦП [7] проявляется в изменении спектра цифрового сигнала. Она оценивается путем его дискретного преобразования Фурье при воздействии на входе АЦП одного или двух смещенных по частоте калиброванных гармонических сигналов. Интегрально погрешность может выражаться через коэффициенты гармоник или интермодуляционных искажений и приближенно учитываться как результат наложения на сигнал, действующий на входе квантователя АЦП, некоторой внутренней помехи, искажающей мгновенные значения сигнала, который преобразуется в код с помощью идеального АЦП с
линейной амплитудной характеристикой.
О систематической погрешности преобразования
судить по степени соответствия мгновенного значения
= = x вх t=nT д на входе системы ЦОС, оцененного, т. е. измеренного по коду
АЦП х ц (n) , и его точного значения x вх (n T д ) = x (t) t=nT д . Оценка мгновенного значения входного сигнала по целочисленному коду АЦП, представленному
в десятичной системе, выполняется в соответствии с алгоритмом
В этом выражении Q − это известное значение шага квантования АЦП, т. е. значение единицы младшего разряда, выраженное в вольтах или милливольтах, а К − это известный номинальный коэффициент передачи сигнального тракта от входа системы до входа квантования АЦП. Он представляет собой произведение номинальных коэффициентов передачи
элементов этого тракта: усилителя, фильтра, УВХ и АЦП: К=К У К Ф К УВХ К АЦП . Пренебрегая операцией квантования, которая приводит к случайной
погрешности, полученную оценку мгновенного значения входного сигнала
можно выразить в виде, учитывающем входящие в нее аддитивные и
мультипликативные составляющие погрешности:
x вх (n) = [ x вх (n)+ ∆ x o + ∆ x н ] K
Составляющие ∆ x o и ∆
x н здесь соответствуют приведенным ко входу
системы значениям смещения нуля ( ∆ x o ) и помехи нелинейности ( ∆ x н ), а
обозначен фактический, не известный нам коэффициент передачи
сигнального тракта, также равный произведению фактических
коэффициентов передачи его элементов:
Далее переходим к систематической погрешности в соответствии с ее общим определением:
Требования к АЦП
Динамический диапазон (SNR) – разница между максимальным и минимальным сигналами, которые может измерить преобразователь. В качестве максимального сигнала принимается максимальный выходной сигнал гироскопа. В качестве минимально различимого сигнала берется среднеквадратичное напряжение шума на входе АЦП в отсутствие сигнала. Важно понимать, что динамический диапазон – величина, относящаяся к какой-либо частотной полосе. В нашем случае, динамический диапазон сигнала, приведенного ко входу АЦП для полосы 50 Гц равен 93,5 дБ.
Отношение максимального входного напряжения АЦП к минимальному равно 47519. Следовательно, АЦП должен иметь разрешение, обеспечивающие количество уровней квантования, равное отношению напряжений на входе АЦП. Однако, разрешение и точность – параметры, которые часто путают, когда речь идет о производительности АЦП. Разрешение – это количество разрядов, используемых при оцифровке входного сигнала. Например, 18-разрядный АЦП разбивает шкалу на 262144 позиций выходного кода. Минимальный сигнал, который устройство может измерить, равен 1 разряду (МЗР – младший значащий разряд) или 1/262144 доле напряжения. В нашем случае младший значащий разряд равен 23 мкВ.
Точность АЦП характеризует, насколько близко фактический выходной код совпадает с теоретическим для данного входного аналогового сигнала. Другими словами, это количество разрядов выходного кода, которые несут полезную информацию о входном сигнале. Точность АЦП может оказаться намного ниже, чем разрешение, из-за внутренних и внешних источников шума. Динамический диапазон АЦП должен соответствовать максимальной амплитуде преобразуемого сигнала, чтобы точность преобразования была наибольшей.
Таким образом, нельзя выбирать разрядность АЦП исходя из минимального количества уровней квантования, т.к. какое-то количество разрядов будет неточно преобразовывать сигнал.
Для того, что бы минимизировать потерю точности, важно согласовать динамический диапазон АЦП и максимальную амплитуду сигнала.
По ТЗ, минимальная разрядность должна быть не меньше 18, однако, исходя из вышеописанного, для достижения наибольшей точности преобразования следует выбирать максимальную разрядность АЦП.
Другое важное требование к АЦП – частота дискретизации. Согласно ТЗ, частота дискретизации должна быть не меньше 7 кГц, что намного превышает частоту сигнала гироскопа. Такая частота преобразования АЦП выбрана для того, что бы получить эффект, названный передискретизацией. Как правило, сигналы оцифровываются с минимально необходимой частотой дискретизации из соображений экономии, при этом шум квантования является белым, то есть его спектральная плотность мощности равномерно распределена во всей полосе. Если же оцифровать сигнал с частотой дискретизации, гораздо большей, чем по теореме Котельникова— Шеннона, а затем подвергнуть цифровой фильтрации для подавления спектра вне частотной полосы исходного сигнала, то отношение сигнал/шум, будет лучше, чем при использовании всей полосы. Таким образом можно достичь эффективного разрешения большего, чем разрядность АЦП.
Передискретизация (англ. oversampling) используется в сигма-дельта АЦП для достижения большего количества эффективных разрядов.
В мире АЦП существует компромисс между скоростью и точностью. И нам, как будущим инженерам надо его найти.
Ещё одним важным параметром АЦП является его цифровой интерфейс. Структура цифрового интерфейса определяет способ подключения АЦП к приемнику выходного кода, в нашем случае к микропроцессору, расположенному в другом блоке. Свойства цифрового интерфейса непосредственно влияют на уровень верхней границы частоты преобразования АЦП.
Рассмотрим типы интерфейсов АЦП.
В общем случае они делятся на последовательный и параллельные.
В ТЗ указано, что обмен данными между АЦП и микропроцессором должен осуществляться по интерфейсу SPI. Поэтому мы не будем подробно останавливаться на описании других интерфейсов и сразу перейдем к описанию интерфейса SPI.
SPI — последовательный синхронный стандарт передачи данных в режиме полного дуплекса, т.е. устройство может в любой момент времени и передавать, и принимать информацию. Передача и прием ведутся устройством одновременно по двум физически разделенным каналам связи. SPI разработан компанией Motorola для обеспечения простого и недорогого сопряжения микроконтроллеров и периферии. SPI также иногда называют четырёхпроводныминтерфейсом. Интерфейс SPI, наряду с I2C, относится к самым широко-используемым интерфейсам для соединения микросхем.
В отличие от стандартного последовательного порта, SPI является синхронным интерфейсом, в котором любая передача синхронизирована с общим тактовым сигналом, генерируемым ведущим устройством (процессором). Принимающая (ведомая) периферия синхронизирует получение битовой последовательности с тактовым сигналом. К одному последовательному периферийному интерфейсу ведущего устройства-микросхемы может присоединяться несколько микросхем. Ведущее устройство выбирает ведомое для передачи, активируя сигнал «выбор кристалла» на ведомой микросхеме. Периферия, не выбранная процессором, не принимает участия в передаче по SPI.
Протокол передачи по интерфейсу SPI предельно прост и, по сути, идентичен логике работы сдвигового регистра, которая заключается в выполнении операции сдвига и, соответственно, побитного ввода и вывода данных по определенным фронтам сигнала синхронизации. Установка данных при передаче и выборка при приеме всегда выполняются по противоположным фронтам синхронизации. Это необходимо для гарантирования выборки данных после надежного их установления. Если к этому учесть, что в качестве первого фронта в цикле передачи может выступать нарастающий или падающий фронт, то всего возможно четыре варианта логики работы интерфейса SPI. Эти варианты получили название режимов SPI и описываются двумя параметрами:
CPOL – исходный уровень сигнала синхронизации (если CPOL=0, то линия синхронизации до начала цикла передачи и после его окончания имеет низкий уровень (т.е. первый фронт нарастающий, а последний – падающий), иначе, если CPOL=1, – высокий (т.е. первый фронт падающий, а последний — нарастающий));
CPHA – фаза синхронизации; от этого параметра зависит, в какой последовательности выполняется установка и выборка данных (если CPHA=0, то по переднему фронту в цикле синхронизации будет выполняться выборка данных, а затем, по заднему фронту, – установка данных; если же CPHA=1, то установка данных будет выполняться по переднему фронту в цикле синхронизации, а выборка – по заднему
Ведущая и подчиненная микросхемы, работающие в различных режимах SPI, являются несовместимыми, поэтому, перед выбором подчиненных микросхем важно уточнить, какие режимы поддерживаются ведущим шины. Аппаратные модули SPI, интегрированные в микроконтроллеры, в большинстве случаев поддерживают возможность выбора любого режима SPI и, поэтому, к ним возможно подключение любых подчиненных SPI-микросхем (относится только к независимому варианту подключения). Кроме того, протокол SPI в любом из режимов легко реализуется программно.
На рисунке 2.28 изображено простейшее подключение шины SPI.
Рисунок 2.28 – простейшее подключении SPI.
Интерфейс SPI используют четыре цифровых сигнала:
– MOSI (DO, SDO, DOUT) — выход ведущего, вход ведомого (англ. Master Out Slave In). Служит для передачи данных от ведущего устройства ведомому.
– MISO (DI, SDI, DIN) — вход ведущего, выход ведомого (англ. Master In Slave Out). Служит для передачи данных от ведомого устройства ведущему.
– SCLK (DCLOCK, CLK, SCK) — последовательный тактовый сигнал (англ. Serial Clock). Служит для передачи тактового сигнала для ведомых устройств.
– CS или SS — выбор микросхемы, выбор ведомого (англ. Chip Select, Slave Select).
В таблице 6 показаны режимы работы SPI.
Таблица 6 – Режимы работы SPI.
| Режим SPI | |||
| CPOL | |||
| CPHA | |||
| Временная диаграмма первого цикла синхрониза-ции | ![]() |
![]() |
Разобравшись с основными параметрами и характеристиками АЦП можно переходить к выбору конкретной модели АЦП.
Проведем обзор доступных АЦП от фирм Analog Devices, Texas Instruments и отечественной фирмы Восход.
Выбор АЦП осуществляться из следующих принципов: минимальный шум при требуемой частоте выборок и разрядности, печатный монтаж, напряжение питания 5 В аналоговой части и 1,8 В цифровой и выходной интерфейс SPI.
Проанализировав рынок отечественных АЦП, можно сделать вывод, что доступных для гражданского применения нет 18-разрядных АЦП.
АЦП с разрядностью 18 бит и выше доступны только для военного применения. А информация о их характеристиках и конкретных моделях доступна только для людей с допуском секретности третьего уровня. У меня есть такой уровень и допуск к засекреченной информации. Анализ отечественных компонентов показал, что их характеристики хуже на порядок зарубежных аналогов. Выкладывать сравнительную информацию по отечественным компонентам запрещено. Таким образом, применение отечественных АЦП, как и в случае с ОУ не целесообразно.
Рассмотрим представителей фирмы Analog Devices. Выбираем АЦП из следующих соображений – разрешение не ниже 18 бит при частоте выборок не ниже 7 кГц, напряжение питания аналоговой части – не более 5 В, наличие двух каналов для дифференциального подключения гироскопа.
Проанализировав техническую информацию на АЦП фирмы Analog Devices, можно прийти к выводу, что лучшим (на данный момент) АЦП удовлетворяющим нашим требованиям является AD7738.
AD7738 – высокоточный высокоскоростной внешний аналоговый интерфейс для оборудования управления производственными процессами, PLC и DCS. 16 битное разрешение без искажений аналоговых сигналов диапазона р-р при времени преобразования 117 мкс (частота опроса каналов 8,5 кГц) делает этот прибор идеальным для применения в мультиплексируемых системах с высоким разрешением. Прибор может быть сконфигурирован через простой цифровой интерфейс, позволяя сбалансировать шумовые характеристики, снижая частоту дискретизации от 15,4 кГц.
Аналоговый внешний интерфейс может быть сконфигурирован как четыре полностью дифференциальных или восемь несимметричных входов с униполярными/двухполярными динамическими диапазонами 0,625 В, 0,125 В или 2,5 В и возможностью подачи на общий вход напряжения от 200 мВ до AVDD 300 мВ. Мультиплексируемый вывод AD7738 снабжен защелкой с внешним разрешением для обеспечения возможности управляемого выбора сигнала при работе прибора.
Дифференциальный вход опорного напряжения имеет возможность определения отсутствия опорного напряжения. AD7738 поддерживает опцию калибровки отдельно каждого канала в системе.
Цифровой последовательный интерфейс может быть конфигурирован для работы в трехпроводном режиме и совместим с микроконтроллерами и DSP. Все входы интерфейса содержат триггеры Шмитта.
Прибор имеет расширенный температурный диапазон от -40°С до +105°C.
Рассмотрим АЦП фирмы Texas Instruments.
Проанализировав техническую информацию на АЦП фирмы Texas Instruments, можно прийти к выводу, что лучшим (на данный момент) АЦП, удовлетворяющим нашим требованиям является ADS1255.
Последние модели семейства ADS1255 обладают значительно лучшими параметрами по сравнению с AD7738. При максимальной частоте дискретизации 30 кГц потребляемая мощность не превышает 35 мВт. Особенностью данных АЦП является использование программируемого цифрового ФНЧ, благодаря которому удается достичь чрезвычайно низкого уровня шумов и высокой эффективной разрядности. Например, при коэффициенте усиления PGA 64 и частоте дискретизации 30 кГц среднеквадратичное напряжение шумов, приведенное ко входу, составляет 1,2 мкВ, а значение эффективной разрядности равно 17. Возможна работа АЦП в режиме однократного преобразования с последующим переходом в экономичный режим Standby с энергопотреблением 0,4 мВт. Дополнительно в состав ИМС входит детектор состояния входного датчика, отключаемый входной буферный усилитель, входной мультиплексор на 2 дифференциальных входа у ADS1255, усилитель PGA и встроенный тактовый генератор, способный работать в режиме внешней синхронизации или с подключаемым к специальным выводам ИМС кварцевым резонатором. Кроме последовательного интерфейса ADS1255 имеет два ввода/вывода общего назначения (GPIO), параметры которых устанавливаются записью соответствующих управляющих битов в регистр ввода/вывода АЦП. GPIO остаются активными и в режимах Standby и Power Down и автоматически переходят в режим ввода после перехода ИМС в активный режим. Если данные выводы не используются, для экономии энергии изготовитель ИМС рекомендует установить их как линии вывода и оставить свободными или установить как линии ввода и соединить с общим проводом. Для питания цифровой части АЦП ADS1255 необходим источник напряжением от 1,8 до 3,6 В (рекомендуемое значение 3,3 В).
Сравнительные характеристики двух рассматриваемых АЦП представлены в таблице 7.
Таблица 7 – сравнительные характеристики АЦП AD7738 и ADS1255.
| Наименование | AD7738 | ADS1255 |
| Разрешающая способность, бит | ||
| Частота дискретизации, кГц | ||
| Количество входных дифференциальных каналов | ||
| Интерфейс | SPI | SPI |
| Входное напряжение, В | ||
| Нелинейность, % | 0,003 | 0,001 |
| Потребляемая мощность, мВт | ||
| Среднеквадратичный шум на частоте 7 кГц, мкВ/ | 7,2 | |
| Температурный коэффициент смещения нуля, мкВ/°С | 0,1 | |
| Отношение сигнал/шум, дБ |
В результате сравнительного анализа двух АЦП, можно сделать вывод, что лучшими показателями обладает АЦП фирмы Texas Instruments ADS1255.
Определившись с микросхемой АЦП, нужно разобраться с её схемой подключения.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Что такое АЦП
АПЦ — это Аналого-Цифровой Преобразователь. По английски ADC (Analog-to-Digital Converter). То есть специальное устройство, которое преобразует аналоговый сигнал в цифровой.
АЦП применяется в цифровой технике. В частности, почти все современные микроконтроллеры имеют встроенный АЦП.
Как вы уже наверняка знаете, микропроцессоры (как и компьютерные процессоры) не понимают ничего, кроме двоичных чисел. Из этого следует, что микропроцессор (который является основой любого микроконтроллера) не может напрямую обработать аналоговый сигнал.
Например, если вы создаёте программу для микроконтроллера, которая отслеживает температуру, то микропроцессор должен каким-то образом понять, что, например, напряжение 1В на его аналоговом входе соответствует температуре 10 градусов, а 5В — температуре 100 градусов (это просто пример, пока не обращайте внимание на числа).
Для того, чтобы объяснить это микропроцессору, который, как мы помним, понимает только двоичные числа, используется АЦП, который, как я уже сказал, преобразует аналоговый сигнал в двоичный код. Далее в общих чертах рассмотрим работу АЦП.
Принцип работы АЦП
Итак, мы узнали, что АЦП преобразует аналоговый сигнал в цифровой. Но как он это делает?
Я не буду рассказывать, как это происходит на уровне электронных схем — это тема для электронщиков. Разработчикам же устройств на микроконтроллерах (особенно начинающим), вполне достаточно знать общий принцип работы АЦП, чтобы понимать, как будет работать создаваемое ими устройство и достаточна ли будет точность измеряемого аналогового значения.
Итак, первым делом АЦП должен преобразовать аналоговый сигнал в дискретный. Для чего это нужно?
Как вы уже знаете, аналоговый сигнал — это непрерывный сигнал. То есть такой сигнал может принимать бесконечное количество значений, и ни у какого процессора не хватит “мозгов” для обработки всех этих значений.
Поэтому первая задача АЦП — это разбить измеряемый диапазон на какое-то конечное количество значений.
Например, мы хотим измерить напряжение в диапазоне от 0 до 9 В. Допустим, нам достаточно точности в 1В. Тогда мы разбиваем этот диапазон на 10 значений и получаем, что каждому значению напряжения соответствует такое же число. То есть 0 — это 0 В, 5 — 5 В и т.п.
А как же, например, напряжение 4,3 В? Да никак. Оно просто округляется, и АЦП преобразует его в число 4. Этот простой пример отображён на рисунке ниже.

Возникает вопрос — а как измерять большие напряжения? Или как повысить точность (например, если мы хотим измерять напряжение с точностью до 0,1В)?
Расскажу и об этом, но сначала о разрядности АЦП.
Разрядность АЦП
Разрядность АЦП — это разрядность его выходного сигнала. То есть количество битов в числе, которое получается на выходе АЦП.
Например, 8-разрядный АЦП может выдать 2 8 = 256 значений — от 0 до 255 (если речь идёт о положительных числах).
Это значит, что измеряемый диапазон (сигнал на входе АЦП или на аналоговом входе микроконтроллера) мы можем разбить на 256 значений. Таким образом мы можем определить точность измеряемого значения, которую может обеспечить данный АЦП. Сделать это можно по формуле:
Где Р — это разрядность АЦП, Д — диапазон измеряемых значений, Х — точность (дискретность).
Например, если вам надо измерять напряжение в диапазоне 0. 9В, то Д = 10. А если в диапазоне -5. 15В, то Д = 21 (не забываем про ноль).
Например, если у нас 8-разрядный АЦП, и мы хотим измерять напряжение в диапазоне 0. 255В, то точность измерений будет:
256 / 2 8 = 256 / 256 = 1 В
Если же мы хотим измерять напряжение с этим же АЦП в диапазоне 0. 15В, то точность измерений будет:
16 / 2 8 = 16 / 256 = 0,0625 В
Из этого следует, что для того, чтобы повысить точность, требуется либо сузить диапазон измеряемых значений, либо повысить разрядность АЦП. Например:
256 / 212 = 256 / 4096 = 0,0625 В
То есть 12-разрядный АЦП обеспечит уже довольно высокую точность даже при измерении сигналов с относительно большим диапазоном значений.
Разумеется, измерять можно не только напряжение, но и другие физические величины — это зависит от датчика, который подключен к АЦП. Но для АЦП безразлично, что измерять. Он всего лишь преобразует аналоговый сигнал в цифровой. А о том, как получить аналоговый сигнал нужной формы на входе АЦП, должен позаботиться разработчик устройства на микроконтроллере.
АЦП микроконтроллера обычно измеряет только напряжение в диапазоне от 0 до напряжения питания микроконтроллера.
Характеристики АЦП
АЦП бывают разные, с разными характеристиками. Основная характеристика — это разрядность. Однако есть и другие. Например, вид аналогового сигнала, который можно подключать к входу АЦП.
Все эти характеристики описаны в документации на АЦП (если он выполнен в виде отдельной микросхемы) или в документации на микроконтроллер (если АЦП встроен в микроконтроллер).
Кроме разрядности, о которой мы уже говорили, можно назвать ещё несколько основных характеристик.
Least significant bit (LSB) — младший значащий разряд (МЗР). Это наименьшее входное напряжение, которое может быть измерено АЦП. Определяется по формуле:
1 LSB = Uоп / 2 Р
Где Uоп — это опорное напряжение (указывается в характеристиках АЦП). Например, при опорном напряжении 1 В и разрядности 8 бит, получим:
1 LSB = 1 / 2 8 = 1 / 256 = 0,004 В
Integral Non-linearity — интегральная нелинейность выходного кода АЦП. Понятно, что любое преобразование вносит искажения. И эта характеристика определяет нелинейность выходного значения, то есть отклонение выходного значения АЦП от идеального линейного значения. Измеряется эта характеристика в LSB.
Иными словами, эта характеристика определяет, насколько “кривой” может быть линия на графике выходного сигнала, которая в идеале должна быть прямой (см. рис.).

Абсолютная точность. Также измеряется в LSB. Иными словами, это погрешность измерения. Например, если эта характеристика равна +/- 2 LSB, а LSB = 0,05 В, то это означает, что погрешность измерений может достигать +/- 2*0,05 = +/- 0,1В.
Есть у АЦП и другие характеристики. Но для начала и этого более чем достаточно.
Подключение АЦП
Напомню, что аналоговые сигналы, в основном, бывают двух видов: токовые и напряжения. Кроме того, сигналы могут иметь стандартный диапазон значений, и нестандартный. Стандартные диапазоны значений аналоговых сигналов описаны в ГОСТах (например, ГОСТ 26.011-80 и ГОСТ Р 51841-2001). Но, если в вашем устройстве используется какой-то самодельный датчик, то сигнал может и отличаться от стандартного (хотя я советую в любых случаях выбирать какой-нибудь стандартный сигнал — для совместимости со стандартными датчиками и другими устройствами).
АЦП в основном измеряют напряжение.
Попробую рассказать о том (в общих чертах), как подключить аналоговый датчик к АЦП и как потом разобраться с теми значениями, которые будет выдавать АЦП.
Итак, допустим, что мы хотим измерять температуру в диапазоне -40…+50 градусов с помощью специального датчика со стандартным выходом 0. 1В. Допустим, что у нас есть датчик, который может измерять температуру в диапазоне -50…+150 градусов.
Если температурный датчик имеет стандартный выход, то, как правило, напряжение (или ток) на выходе датчика изменяется по линейному закону. То есть мы можем легко определить, какое напряжение будет на выходе датчика при заданной температуре.
Что такое линейный закон? Это когда диапазон значений на графике выглядит как прямая линия (см. рис.). Зная, что температура от -50 до +150 даёт на выходе датчика напряжение, изменяемое по линейному закону, мы, как я уже сказал, можем вычислить это напряжение для любого значения температуры на заданном диапазоне.

В общем, чтобы в нашем случае диапазон температур преобразовать в диапазон напряжений, нам надо каким-то образом сопоставить две шкалы, одна из которых является диапазоном температур, а другая — диапазоном напряжений.
Определить напряжение по температуре визуально можно по графику (см. рис. выше). Но микроконтроллер глаз не имеет (хотя, конечно, можно поразвлекаться и создать устройство на микроконтроллере, способное распознавать образы и определять значение температуры по напряжению на графике, но оставим эти развлечения фанатам робототехники)))
Первым делом определяем диапазон температур. Он у нас от -50 до 150, то есть 201 градус (не забываем про ноль).
А диапазон измеряемых напряжений — от 0 до 1 В.
То есть в шкалу от 0 до 1 нам надо впихнуть диапазон от 0 до 200 (всего 201).
Находим коэффициент преобразования:
К = U / Tд = 1 / 200 = 0,005 (1)
То есть при изменении температуры на 1 градус напряжение на выходе датчика будет меняться на 0,005 В. Здесь Тд — это температурный диапазон. Не значения температуры, а количество единиц измерения (в нашем случае градусов) на температурной шкале, сопоставляемой со шкалой напряжения (ноль не учитываем для упрощения, так как в диапазоне напряжений тоже есть ноль).
Проверяем характеристики АЦП микроконтроллера, который мы планируем использовать. Значение LSB не должно быть более К (более 0,005 в нашем случае, точнее, это допустимо, если вас устроит погрешность более 1 единицы измерения — более 1 градуса в нашем случае).
По сути К — это вольт на градус, то есть так мы узнали, на какое значение изменяется напряжение при изменении температуры на 1 градус.
Теперь у нас есть все необходимые данные, чтобы в программе микроконтроллера преобразовать значение на выходе АЦП в значение температуры.
Мы помним, что мы сместили диапазон температур на 50 градусов. Это надо учитывать при преобразовании значения на выходе АЦП в температуру.
А формула будет такая:
Например, если на выходе АЦП 0,5 В, то
Т = (U / К) — 50 = (0,5 / 0,005) — 50 = 100 — 50 = 50 градусов
Теперь нам надо определить дискретность, то есть желаемую точность измерений.
Как вы помните, абсолютная погрешность может составлять несколько LSB. К тому же ещё существуют нелинейные искажения, которые обычно равны 0,5 LSB. То есть общая погрешность АЦП может доходить до 2-3 LSB.
В нашем случае это:
Uп = 3 LSB * 0,005 = 0,015 В
Если в вашем случае не так всё гладко, то снова используем формулу, выведенную из (1):
Тд = Uп / K = 0,015 / 0,005 = 3
Если погрешность в 3 градуса вас устраивает, то можно ничего не менять. Ну а если нет, то придётся подобрать АЦП с большей разрядностью либо подыскать другой датчик (с другим температурным диапазоном или с другим выходным напряжением).
Например, если вам удастся найти датчик с диапазоном -40…+50, как мы и хотели, и с таким же выходом 0. 1В, то
Тогда абсолютная погрешность будет:
Тд = Uп / K = 0,015 / 0,01 = 1,5 градуса.
Это уже более-менее приемлемо. Ну а если у вас будет датчик с выходом 0. 5В (это тоже стандартный сигнал), то
А абсолютная погрешность будет:
Тд = Uп / K = 0,015 / 0,05 = 0,3 градуса.
Это уже вообще ништяк.
Но! Не забывайте, что здесь мы рассматриваем только погрешность АЦП. Но и у самого датчика тоже есть погрешность, которую также надо учитывать.
Но всё это уже из области электроники и метрологии, поэтому данную статью я здесь и закончу.
А в конце на всякий случай приведу формулу обратного преобразования температуры в напряжение:
Раскладываем по полочкам параметры АЦП
Привет, Хабр! Многие разработчики систем довольно часто сталкиваются с обработкой аналоговых сигналов. Не все манипуляции с сигналами можно осуществить в аналоговой форме, поэтому требуется переводить аналог в цифровой мир для дальнейшей постобработки. Возникает вопрос: на какие параметры стоит обратить внимание при выборе микроконтроллера или дискретного АЦП? Что все эти параметры означают? В этой статье постараемся детально рассмотреть основные характеристики АЦП и разобраться на что стоит обратить внимание при выборе преобразователя.

Введение

Рис. 1: Идеальная характеристика АЦП
- Статические — характеризуют АЦП при постоянном или очень медленно изменяющемся входном сигнале. К данным параметрам можно отнести: максимальное и минимальное допустимое значение входного сигнала, разрядность, интегральную и дифференциальную нелинейности, температурную нестабильность параметров преобразования и др.
- Динамические — определяют максимальную скорость преобразования, предельную частоту входного сигнала, шумы и нелинейности.
Статические параметры
- Максимальный (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: Дифференциальная нелинейность

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

Наглядно данное выражение продемонстрированно на рисунке 7.

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

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

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

Рис. 10: интермодуляционные искажения
Полоса пропускания АЦП и субдискретизация (undersamling/sub-sampling)
Решив относительно t, получаем:
Положив, что , определим минимальную полосу АЦП (для ):
Например, для 16 битного АЦП с частотой дискретизации 80 Мвыб/c и шкалой 2 В ограничение снизу для полосы пропускания, рассчитанное по этой формуле, составит FPBW = 282 МГц.
Analog Bandwidth является очень важным параметром при построении систем, которые работают в режиме субдискретизации (“undersampling”). Объясним это подробнее.
Согласно критерию Найквиста, ширина спектра обрабатываемого сигнала должна быть как минимум в 2 раза меньше частоты дискретизации, чтобы избежать элайзинга. Здесь важно, что именно ширина полосы, а не просто максимальная частота сигнала. Например, сигнал, спектр которого расположен целиком в 6-й зоне Найквиста может быть теоретически дискретизован без потери информации (рис. 11). Ограничив спектр этого сигнала антиэлайзинговым фильтром, его можно подавать на дискретизатор с частотой fs. В результате сигнал отразится в каждой зоне.

Рис. 11: undersampling

Рис 12: дискретизация непрерывного сигнала
По фильтрующему свойству дельта-функции:
С помощью формулы Релея вычислим спектр:
Из этого выражения следует что спектр сигнала будет повторяться во всех зонах Найквиста.
Итак, если есть хороший антиэлайзинговый фильтр, то соблюдая критерий Найквиста, можно оцифровывать сигнал с частотой дискретизации намного ниже полосы АЦП. Но использовать субдискретизацию нужно осторожно. Следует учитывать, что динамические параметры АЦП деградируют (иногда очень сильно) с ростом частоты входного сигнала, поэтому оцифровать сигнал из 6-й зоны так же «чисто», как из 1-й не получится.
Несмотря на это субдискритезация активно используется. Например, для обработки узкополосных сигналов, когда не хочется тратиться на дорогой широкополосный быстродействующий АЦП, который вдобавок имеет высокое потребление. Другой пример – выборка ПЧ (IF-sampling) в РЧ системах. Там благодаря undersampling можно исключить из радиоприемного тракта лишнее аналоговое звено — смеситель (который переносит сигнал на более низкую несущую или на 0).
Сравним архитектуры
На данный момент в мире существует множество различных архитектур АЦП. У каждой из них есть свои преимущества и недостатки. Не существует архитектуры, которая бы достигала максимальных значений всех, описанных выше параметров. Проанализируем какие максимальные параметры скорости и разрешения смогли достичь компании, выпускающие АЦП. Также оценим достоинства и недостатки каждой архитектуры (более подробно о различных архитектурах можно прочитать в статье на хабр).
| Тип архитектуры | Преимущества | Недостатки | Максимальное разрешение | Максимальная частота дискретизации |
| flash | Быстрый преобразователь. Преобразование осуществляется в один такт. | Высокое энергопотребление. Ограниченное разрешение. Требует большой площади кристалла ( компараторов). Трудно согласовать большое количество элементов (как следствие низкий выход годных). | 14 бит 128 КВыб/с AD679 | 3 бит 26 ГВыб/с HMCAD5831 |
| folding-interpolated | Быстрый преобразователь. Преобразование осуществляется в один такт. Требует меньшее число компараторов благодаря предварительной «свёртке» всего диапазона обработки в некоторый более узкий диапазон. Занимает меньше площади. |
Ошибки, связанные с нелинейностью блока свёртки. Задержка на установление уровней в блоке свёртки, которая уменьшает максимальную fs. Среднее разрешение. |
12 бит 6.4 ГВыб/с ADC12DL3200 | 12 бит 6.4 ГВыб/с ADC12DL3200 |
| SAR | Высокая точность. Низкое энергопотребление. Легка в использовании. |
Ограниченная скорость. | 32 бит 1 МВыб/с LTC2500 | 10 бит 40 МВыб/с XRD64L43 |
| pipeline | Быстрый преобразователь. Самая высокая точность среди быстрых АЦП. Не занимает большую площадь. Имеет меньшее потребления, среди аналогичных быстрых преобразователей. |
Конвейерная задержка. | 24 бит 192 КВыб/с AK5386 | 12 бит 10.25 ГВыб/с AD9213 |
| dual-slope | Средняя точность преобразования. Простота конструкции. Низкое потребление. Устойчивость к изменениям факторов внешней среды. |
Обрабатывает низкочастотные Сигналы (низкая fs). Посредственное разрешение. |
12+знаковый бит 10 Выб/с TC7109 | 5+знак бит 200 КВыб/с HI3-7159 |
| ∑-Δ | Самая высокая точность пре- Образования благодаря эффекту «Noise shaping» (специфическая фильтрация шума квантования) и передискретизации. |
Не может работать с широкополосным сигналом. | 32 бита 769 КВыб/с AK5554 | 12 бит 200МВыб/с ADRV9009 |
Информацию для таблицы брал на сайте arrow, поэтому если что-то упустил поправляйте в комментариях.


