электронное устройство преобразующее напряжение в двоичный цифровой код

Краткий обзор возможностей — для построения осциллографа

электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть фото электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть картинку электронное устройство преобразующее напряжение в двоичный цифровой код. Картинка про электронное устройство преобразующее напряжение в двоичный цифровой код. Фото электронное устройство преобразующее напряжение в двоичный цифровой код

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

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

▍Немного теории

Аналого-цифровой преобразователь (АЦП, англ. Analog-to-digital converter, ADC) — устройство, преобразующее входной аналоговый сигнал в дискретный код (цифровой сигнал).
Обратное преобразование осуществляется при помощи цифро-аналогового преобразователя (ЦАП, DAC).

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

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

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

Например:
Диапазон входных значений = от 0 до 10 вольт
Разрядность двоичного АЦП 12 бит: 2^12 = 4096 уровней квантования
Разрешение двоичного АЦП по напряжению: (10-0)/4096 = 0,00244 вольта = 2,44 мВ»

На практике, разрешение АЦП ограничено отношением сигнал/шум входного сигнала. При большой интенсивности шумов на входе АЦП различение соседних уровней входного сигнала становится невозможным, то есть ухудшается разрешение. При этом реально достижимое разрешение описывается эффективной разрядностью (англ. effective number of bits, ENOB), которая меньше, чем реальная разрядность АЦП. При преобразовании сильно зашумлённого сигнала младшие разряды выходного кода практически бесполезны, так как содержат шум.

Для достижения заявленной разрядности отношение сигнал/шум входного сигнала должно быть примерно 6 дБ на каждый бит разрядности (6 дБ соответствует двукратному изменению уровня сигнала).

▍Возможности

Теперь попробуем рассмотреть возможности ардуино, в этой области cогласно этому источнику:

«Аналоговые пины могут принимать напряжение от 0 (GND) до опорного напряжения и преобразовывать его в цифровое значение, просто в какие-то условные единицы. АЦП у нас имеет разрядность в 10 бит, т.е. мы получаем измеренное напряжение в виде числа от 0 до 1023».Проверим данное утверждение: так как напряжение, которое может быть подано на аналоговый вход ардуино составляет до 5 вольт, то получим:

Диапазон входных значений = от 0 до 5 вольт
Разрядность двоичного АЦП 10 бит: 2^10 = 1024 уровней квантования
Разрешение двоичного АЦП по напряжению: (5-0)/1024 = 0,004882813 вольта = 4,88 мВ

Для считывания значений с аналоговых входов ардуино используется функция analogRead():

«Функция считывает значение с указанного аналогового входа. Большинство плат Arduino имеют 6 каналов (8 каналов у платы Mini и Nano, 16 у Mega) c 10-битным аналого-цифровым преобразователем (АЦП). Напряжение поданное на аналоговый вход, обычно от 0 до 5 вольт будет преобразовано в значение от 0 до 1023, это 1024 шага с разрешением 0.0049 Вольт. Разброс напряжение и шаг может быть изменен функцией analogReference().
Считывание значение с аналогового входа занимает примерно 100 микросекунд (0.0001 сек), т.е. максимальная частота считывания приблизительно 10,000 раз в секунду.

«Число 1023 здесь появилось неспроста. Дело в том, что у каждого устройства АЦП есть такой важный параметр как разрядность. Чем больше значение этого параметра, тем точнее работает прибор. Предположим, что у нас есть АЦП с разрядностью 1. Подавая на вход любое напряжения от 0 до 2,5 Вольт, на выходе мы получим 0. Любое же напряжение от 2,5 до 5 вольт даст нам единицу. То есть 1-битный АЦП сможет распознать только два уровня напряжения. Графически это можно изобразить следующим образом:

АЦП с разрядностью 2 распознает уже четыре уровня напряжения:

от 0 до 1,25 — это 0;
от 1,25 до 2,5 — это 1;
от 2,5 до 3,75 — это 2;
наконец, от 3,75 до 5 — это 3.

На следующих двух картинках изображена работа АЦП с разрядностью 2 и 3 бит:

В Arduino Uno установлен 10-битный АЦП, и это значит, что любое напряжение на аналоговом входе в диапазоне от 0 до 5 вольт будет преобразовано в число с точностью 5/1024 вольта. На графике будет сложно изобразить столько ступенек. Имея такую точность, 10-битный АЦП может «почувствовать» изменение напряжение на входе величиной всего 5 милливольт.

И еще немного теории, касательно опорного напряжения:

«Опорное напряжение играет главную роль в измерении аналогового сигнала, потому что именно от него зависит максимальное измеряемое напряжение и вообще возможность и точность перевода полученного значения 0-1023 в Вольты.

Изучим следующую функцию – analogReference(mode), где mode:

DEFAULT : опорное напряжение равно напряжению питания МК. Активно по умолчанию

INTERNAL : встроенный источник опорного на 1.1V для ATmega168 или ATmega328P и 2.56V на ATmega8

INTERNAL1V1 : встроенный источник опорного на 1.1V (только для Arduino Mega)

INTERNAL2V56 : встроенный источник опорного на 2.56V (только для Arduino Mega)

EXTERNAL : опорным будет считаться напряжение, поданное на пин AREF

После изменения источника опорного напряжения (вызова analogReference() ) первые несколько измерений могут быть нестабильными (сильно шумными).

Значение 1023 функции analogRead() будет соответствовать выбранному опорному напряжению или напряжению выше его, но не выше 5.5V, что спалит плату. То есть при режиме DEFAULT мы можем оцифровать напряжение от 0 до напряжения питания. Если напряжение питания 4.5 Вольта, и мы подаём 4.5 Вольт – получим оцифрованное значение 1023. Если подаём 5 Вольт – опять же получим 1023, т.к. выше опорного. Это правило работает и дальше, главное не превышать 5.5 Вольт. Как измерять более высокое напряжение (12 Вольт, например) я расскажу в отдельном уроке.

Что касается точности: при питании от 5V и режиме DEFAULT мы получим точность измерения напряжения (5 / 1024)

4.9 милливольт. Поставив INTERNAL мы можем измерять напряжение от 0V до 1.1V с точностью (1.1 / 1024)

0.98 милливольт. Весьма неплохо, особенно если баловаться с делителем напряжения.

Что касается внешнего источника опорного напряжения. Нельзя использовать напряжение меньше 0V или выше 5.5V в качестве внешнего опорного в пин AREF. Также при использовании режима EXTERNAL нужно вызвать analogReference(EXTERNAL) до вызова функции analogRead(), иначе можно повредить микроконтроллер. Можно подключить опорное в пин AREF через резистор на

5 кОм, но так как вход AREF имеет собственное сопротивление в 32 кОм, реальное опорное будет, например 2.5 * 32 / (32 + 5) =

Далее, поговорим о частоте дискретизации, — еще одном важном параметре для осциллографа:

« Частота дискретизации (или частота сэмплирования, англ. sample rate) — частота взятия отсчётов непрерывного по времени сигнала при его дискретизации (в частности, аналого-цифровым преобразователем). Измеряется в герцах.

Термин применяется и при обратном, цифро-аналоговом преобразовании, особенно если частота дискретизации прямого и обратного преобразования выбрана разной (этот приём, называемый также «масштабированием времени», встречается, например, при анализе сверхнизкочастотных звуков, издаваемых морскими животными).

И еще: «Из теоремы Котельникова следует, что при дискретизации аналогового сигнала потерь информации не будет только в том случае, если (спектральная плотность) наивысшая частота полезного сигнала равна половине или меньше частоты дискретизации (в англоязычной литературе под обозначением половины частоты дискретизации употребляют термин частота Найквиста). В противном случае при восстановлении аналогового сигнала будет иметь место наложение спектральных «хвостов» (подмена частот, маскировка частот, алиасинг), и форма восстановленного сигнала будет искажена. Если спектр сигнала не имеет составляющих выше частоты Найквиста, то сигнал может быть (теоретически) продискретизирован и затем восстановлен без искажений. Фактически «оцифровка» сигнала (превращение аналогового сигнала в цифровой) сопряжена с квантованием отсчётов — каждый отсчёт записывается в виде цифрового кода конечной разрядности, в результате чего к отсчётам добавляются ошибки квантования (округления), при определённых условиях рассматриваемые как «шум квантования».

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

Запас по частоте Найквиста в 44100 / 2 — 20000 = 2050 Гц позволяет избежать подмены частот при использовании реализуемого фильтра невысокого порядка.»

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

электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть фото электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть картинку электронное устройство преобразующее напряжение в двоичный цифровой код. Картинка про электронное устройство преобразующее напряжение в двоичный цифровой код. Фото электронное устройство преобразующее напряжение в двоичный цифровой код

Теперь рассмотрим, какие возможности у ардуино, по частоте дискретизации.

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

Таким образом, видно, как сильно падает разрешение, по мере роста частоты сэмплирования.

Судя по данным одного из авторов, при работе с Arduino IDE используется стандартная функция analogRead(), которая позволяет считывает значение с указанного аналогового входа. Считывание значение с аналогового входа занимает примерно 100 микросекунд (0.0001 сек), то есть максимальная частота считывания приблизительно 10000 раз в секунду (10 кГц).

Если более точно рассмотреть это число, то получается, следующая картина (зная величину тактовой частоты = 16 МГц): (16:128):13 ≈ 9.6 кГц.
Где 128 – делитель, а 13 – количество тактовых периодов, требующихся на одно преобразование.

Следующий автор провел практические исследования этого вопроса и у него получилась такая картина:

«Длительность переключения в 62 нс и время циклического возврата к началу работы программы в 124 нс не превышают погрешность измерения на этом временном масштабе и мы можем пренебречь этими временными промежутками. Отсюда видно, что время, которое затрачивается на аналого-цифровое преобразование примерно равно 112 мкс, поэтому максимальная частота выборки при использовании функции analogRead не превышает 8.9 кГц.»

Таким образом, подытожим всё вышесказанное:

Несмотря, на то, что тактовая частота процессора ардуино (если брать для примера ATMega328 – на котором основаны Arduino Uno, Arduino Nano) составляет 16 МГц, диапазон частоты АЦП, на котором могут быть получены более-менее точные данные, составляет от 8,9 до 9,6 кГц (данные могут быть не совсем точны, но для ориентира и общего понимания ситуации – годятся).

К аналоговым пинам можно подключать напряжение от 0 (GND) до опорного напряжения и преобразовывать его в цифровое значение, или в некие условные единицы. АЦП имеет разрядность в 10 бит, т.е. мы получаем измеренное напряжение в виде числа от 0 до 1023.

Если говорить о точности измерений, то при входном напряжении в 5 вольт, точность измерения напряжения составит (5 / 1024)

4.9 милливольт. Также возможно измерить напряжение от 0V до 1.1V с точностью (1.1 / 1024)

То есть, можно говорить о достаточно медленной работе функции analogRead ().

Шумовая же составляющая АЦП ардуино, согласно источнику, составляет единицы милливольт.

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

Если устраивает система со считыванием показателей с компьютера, то можно остановиться на следующих самоделках:

электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть фото электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть картинку электронное устройство преобразующее напряжение в двоичный цифровой код. Картинка про электронное устройство преобразующее напряжение в двоичный цифровой код. Фото электронное устройство преобразующее напряжение в двоичный цифровой код Автор картинки: amansinghaljpr

электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть фото электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть картинку электронное устройство преобразующее напряжение в двоичный цифровой код. Картинка про электронное устройство преобразующее напряжение в двоичный цифровой код. Фото электронное устройство преобразующее напряжение в двоичный цифровой код
Источник картинки: www.randomnerdtutorials.com

Если требуется миниатюрный экран, то можно использовать вариант, с отображением данных на экране смартфона:

электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть фото электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть картинку электронное устройство преобразующее напряжение в двоичный цифровой код. Картинка про электронное устройство преобразующее напряжение в двоичный цифровой код. Фото электронное устройство преобразующее напряжение в двоичный цифровой код Автор картинки: loboat

Или на миниатюрном интегрированном экране:

электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть фото электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть картинку электронное устройство преобразующее напряжение в двоичный цифровой код. Картинка про электронное устройство преобразующее напряжение в двоичный цифровой код. Фото электронное устройство преобразующее напряжение в двоичный цифровой код Автор картинки: Peter Balch

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

электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть фото электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть картинку электронное устройство преобразующее напряжение в двоичный цифровой код. Картинка про электронное устройство преобразующее напряжение в двоичный цифровой код. Фото электронное устройство преобразующее напряжение в двоичный цифровой код

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

электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть фото электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть картинку электронное устройство преобразующее напряжение в двоичный цифровой код. Картинка про электронное устройство преобразующее напряжение в двоичный цифровой код. Фото электронное устройство преобразующее напряжение в двоичный цифровой код

электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть фото электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть картинку электронное устройство преобразующее напряжение в двоичный цифровой код. Картинка про электронное устройство преобразующее напряжение в двоичный цифровой код. Фото электронное устройство преобразующее напряжение в двоичный цифровой код

электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть фото электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть картинку электронное устройство преобразующее напряжение в двоичный цифровой код. Картинка про электронное устройство преобразующее напряжение в двоичный цифровой код. Фото электронное устройство преобразующее напряжение в двоичный цифровой код

электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть фото электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть картинку электронное устройство преобразующее напряжение в двоичный цифровой код. Картинка про электронное устройство преобразующее напряжение в двоичный цифровой код. Фото электронное устройство преобразующее напряжение в двоичный цифровой код
Автор картинок: Caffeinomane

▍Что же делать, если хочется большего?

электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть фото электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть картинку электронное устройство преобразующее напряжение в двоичный цифровой код. Картинка про электронное устройство преобразующее напряжение в двоичный цифровой код. Фото электронное устройство преобразующее напряжение в двоичный цифровой код Источник картинки: www.nutsvolts.com

В статье проделали ряд манипуляций (стандартная частота выборок, согласно автору статьи составляет 8900 выборок в секунду, с затрачиваемым временем в 11200 микросекунд):

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

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

▍А как же обстоит дело насчет более мощных плат – esp32?

электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть фото электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть картинку электронное устройство преобразующее напряжение в двоичный цифровой код. Картинка про электронное устройство преобразующее напряжение в двоичный цифровой код. Фото электронное устройство преобразующее напряжение в двоичный цифровой код Источник картинки: www.easyvolts.com

В рамках подготовки этой статьи, автору удалось найти только 1 проект, разработчик которого был вынужден остановить его разработку в 2018 году ввиду непреодолимых проблем. Впрочем, позволим ему самому сказать об этом:

Всем привет, с момента моего первого поста о проекте, я сделал пару демонстраций видео и построил несколько прототипов. Я вложил в проект огромное количество времени, но сейчас самое время признать, что проект провалился. И я хочу объяснить почему.

Самая большая проблема — неполная непонятная и вводящая в заблуждение документация микросхемы esp32. Согласно спецификации, ESP32 I2S может работать с тактовой частотой 40 МГц, но это не так (по крайней мере, для параллельного режима). Согласно моим экспериментам и некоторым данным других разработчиков, максимальная скорость составляет 20 МГц, но даже на этой скорости работают не все режимы FIFO. Я потратил пару недель на изучение проблемы и испытываю недоумение, почему I2S на высокой скорости помещает в буфер 2 абсолютно идентичных образца. Я обнаружил, что у других разработчиков такая же проблема, и, очевидно, это ограничение esp32.

Вторая проблема — отсутствие поддержки отладки JTAG. К сожалению, мне не удалось заставить работать JTAG для esp32 должным образом. Разработчики «Sloeber IDE» проделали огромную работу по созданию полнофункциональной IDE для платформ Arduino, но по некоторым причинам мой j-Link не работает должным образом с сервером OCD esp32 от Espressif. Когда нет надлежащей документации для чипа, правильный отладчик становится критически важной частью успешной разработки. Но это не относится к esp32 (по крайней мере, сейчас; надеюсь, в будущем будет лучше).

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

▍Итак, подведем итог:

Мои первоначальные цели для проекта (40 Мбит/с, недорогая и простая схема) недостижимы с помощью esp32 и выбранной аппаратной архитектуры. Я считаю, что 20 Мбит/с — это слишком низкая скорость.

Усилия по разработке для esp32 недопустимо высоки из-за плохой документации и отсутствия надлежащих инструментов отладки. Но это утверждение верно только тогда, когда вы делаете что-то необычное. С типичными задачами, такими как хостинг веб-сервера и связь по Wi-Fi, esp32 работает хорошо.

Источник

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

электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть фото электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть картинку электронное устройство преобразующее напряжение в двоичный цифровой код. Картинка про электронное устройство преобразующее напряжение в двоичный цифровой код. Фото электронное устройство преобразующее напряжение в двоичный цифровой код

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

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

Аналого-цифровое преобразование электрических сигналов подобно взвешиванию груза на рычажных весах. Итальянский математик Фибоначчи (1170—(1228—1250)) сформулировал задачу наименьшего числа гирь для взвешивания грузов наибольшего диапазона на рычажных весах, которая стала известна под названием «задача о гирях». Решив эту задачу, Фибоначчи пришёл к выводу, что наименьшее число гирь получается при выборе весов гирь в позиционной симметричной троичной системе счисления. Из этого следует, что наиболее оптимальными аналого-цифровыми преобразователями являются аналого-цифровые преобразователи, работающие в позиционной симметричной троичной системе счисления. Из этого следует также вывод, что «электронное взвешивание» намного отстаёт от механического взвешивания, в котором к позиционной симметричной троичной системе счисления пришли ещё в XII веке. Математика «электронного взвешивания» находится ниже уровня математики механического взвешивания XII века. Следует также отметить, что Фибоначчи в своей задаче не учитывал число взвешиваний. При учёте числа взвешиваний (числа итераций при «электронном взвешивании») оказывается, что наименьшее число взвешиваний (итераций) также происходит при выборе позиционной симметричной троичной системы счисления.

Содержание

Разрешение

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

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

На практике разрешение АЦП ограничено отношением сигнал/шум входного сигнала. При большой интенсивности шумов на входе АЦП различение соседних уровней входного сигнала становится невозможным, то есть ухудшается разрешение. При этом реально достижимое разрешение описывается эффективной разрядностью (effective number of bits — ENOB), которая меньше, чем реальная разрядность АЦП. При преобразовании сильно зашумлённого сигнала младшие разряды выходного кода практически бесполезны, так как содержат шум. Для достижения заявленной разрядности отношение С/Ш входного сигнала должно быть примерно 6 дБ на каждый бит разрядности.

Типы преобразования

Линейные АЦП

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

где m и b — некоторые константы. Константа b, как правило, имеет значение 0 или −0.5. Если b = 0, АЦП называют квантователь с ненулевой ступенью (mid-rise), если же b = −0,5, то АЦП называют квантователь с нулём в центре шага квантования (mid-tread).

Нелинейные АЦП

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

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

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

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

Точность

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

Эти ошибки измеряются в единицах, называемых МЗР — младший значащий разряд. В приведённом выше примере 8-битного АЦП ошибка в 1 МЗР составляет 1/256 от полного диапазона сигнала, то есть 0,4 %.

Ошибки квантования

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

Как правило, амплитуда входного сигнала много больше, чем МЗР. В этом случае ошибка квантования не коррелирована с сигналом и имеет равномерное распределение. Её среднеквадратическое значение совпадает с среднеквадратичным отклонением распределения, которое равно электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть фото электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть картинку электронное устройство преобразующее напряжение в двоичный цифровой код. Картинка про электронное устройство преобразующее напряжение в двоичный цифровой код. Фото электронное устройство преобразующее напряжение в двоичный цифровой код. В случае 8-битного АЦП это составит 0,113 % от полного диапазона сигнала.

Нелинейность

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

Важным параметром, описывающим нелинейность, является интегральная нелинейность (INL) и дифференциальная нелинейность (DNL).

Апертурная погрешность (джиттер)

Легко видеть, что ошибка относительно невелика на низких частотах, однако на больших частотах она может существенно возрасти.

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

где q — разрядность АЦП.

Разрядность АЦПМаксимальная частота входного сигнала
44,1 кГц192 кГц1 МГц10 МГц100 МГц
828,2 нс6,48 нс1,24 нс124 пс12,4 пс
107,05 нс1,62 нс311 пс31,1 пс3,11 пс
121,76 нс405 пс77,7 пс7,77 пс777 фс
14441 пс101 пс19,4 пс1,94 пс194 фс
16110 пс25,3 пс4,86 пс486 фс48,6 фс
1827,5 пс6,32 пс1,21 пс121 фс12,1 фс
24430 фс98,8 фс19,0 фс1,9 фс190 ас

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

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

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

Непрерывно меняющийся сигнал с ограниченной спектральной полосой подвергается оцифровке (то есть значения сигнала измеряются через интервал времени T — период дискретизации) и исходный сигнал может быть точно восстановлен из дискретных во времени значений путём интерполяции. Точность восстановления ограничена ошибкой квантования. Однако в соответствии с теоремой Котельникова-Шеннона точное восстановление возможно только если частота дискретизации выше, чем удвоенная максимальная частота в спектре сигнала.

Поскольку реальные АЦП не могут произвести аналого-цифровое преобразование мгновенно, входное аналоговое значение должно удерживаться постоянным по крайней мере от начала до конца процесса преобразования (этот интервал времени называют время преобразования). Эта задача решается путём использования специальной схемы на входе АЦП — устройства выборки-хранения — УВХ. УВХ, как правило, хранит входное напряжение в конденсаторе, который соединён со входом через аналоговый ключ: при замыкании ключа происходит выборка входного сигнала (конденсатор заряжается до входного напряжения), при размыкании — хранение. Многие АЦП, выполненные в виде интегральных микросхем содержат встроенное УВХ.

Наложение спектров (алиасинг)

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

Если последовательность цифровых значений, выдаваемая АЦП, где-либо преобразуется обратно в аналоговую форму цифро-аналоговым преобразователем, желательно, чтобы полученный аналоговый сигнал был максимально точной копией исходного сигнала. Если входной сигнал меняется быстрее, чем делаются его отсчёты, то точное восстановление сигнала невозможно, и на выходе ЦАП будет присутствовать ложный сигнал. Ложные частотные компоненты сигнала (отсутствующие в спектре исходного сигнала) получили название alias (ложная частота, побочная низкочастотная составляющая). Частота ложных компонент зависит от разницы между частотой сигнала и частотой дискретизации. Например, синусоидальный сигнал с частотой 2 кГц, дискретизованный с частотой 1.5 кГц был бы воспроизведён как синусоида с частотой 500 Гц. Эта проблема получила название наложение частот (aliasing).

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

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

Подмешивание псевдослучайного сигнала (dither)

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

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

Однако, в последнее время (2009), в связи с удешевлением 24-битных АЦП, имеющих даже без dihter’а динамический диапазон более 120 дБ, что на несколько порядков превышает полный воспринимаемый человеком диапазон слуха, данная технология потеряла актуальность в звукотехнике. При этом, она используется в ВЧ и СВЧ технике, где битность АЦП обычно мала из-за высокой частоты дискретизации.

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

Передискретизация

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

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

Типы АЦП

Ниже перечислены основные способы построения электронных АЦП:

Неэлектронные АЦП обычно строятся на тех же принципах.

Коммерческие АЦП

Как правило, выпускаются в виде микросхем.

Для большинства АЦП разрядность составляет от 6 до 24 бит, частота дискретизации до 1 МГц. Мега- и гигагерцовые АЦП также доступны (февраль 2002). Мегагерцовые АЦП требуются в цифровых видеокамерах, устройствах видеозахвата и цифровых TV-тюнерах для оцифровки полного видеосигнала. Коммерческие АЦП обычно имеют выходную ошибку от ±0,5 до ±1,5 МЗР.

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

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

Применение АЦП в звукозаписи

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

Современные АЦП, используемые в звукозаписи, могут работать на частотах дискретизации до 192 кГц. Многие люди, занятые в этой области, считают, что данный показатель избыточен и используется из чисто маркетинговых соображений (об этом свидетельствует теорема Котельникова-Шеннона). Можно сказать, что звуковой аналоговый сигнал не содержит столько информации, сколько может быть сохранено в цифровом сигнале при такой высокой частоте дискретизации, и зачастую для Hi-Fi (класс аппаратуры) аудиотехники используется частота дискретизации 44.1 кГц (стандартная для CD) или 48 кГц (типична для представления звука в компьютерах). Однако широкая полоса упрощает и удешевляет реализацию антиалиасинговых фильтров, позволяя делать их с меньшим числом звеньев или с меньшей крутизной в полосе заграждения, что положительно сказывается на фазовой характеристике фильтра в полосе пропускания.

АЦП для звукозаписи, используемые на ЭВМ, бывают внутренние и внешние. Также существует бесплатный программный комплекс PulseAudio для Linux, позволяющий использовать вспомогательную(-ые) ЭВМ как внешние ЦАП/АЦП для основной ЭВМ с гарантированным временем запаздывания.

Другие применения

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

Примечания

См. также

Ссылки

Литература

МикроконтроллерыАрхитектура

8-bitMCS-51 • MCS-48 • AVR • Z8 • H8 • COP8 • 68HC08 • 68HC11
16-bitPIC24 • MAXQ • Nios • 68HC12 • 68HC16
32-bitARM • PIC32MX • 683XX • M32R •
электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть фото электронное устройство преобразующее напряжение в двоичный цифровой код. Смотреть картинку электронное устройство преобразующее напряжение в двоичный цифровой код. Картинка про электронное устройство преобразующее напряжение в двоичный цифровой код. Фото электронное устройство преобразующее напряжение в двоичный цифровой кодПроизводителиAnalog Devices • Fujitsu • Holtek • Infineon • MicroChip • Maxim • Parallax • Texas Instruments • ZilogКомпонентыРегистр • Прерывание • CPU • SRAM • Флеш-память • кварцевый резонатор • кварцевый генератор • RC-генератор • КорпусПериферияТаймер • АЦП • ЦАП • Компаратор • ШИМ контроллер • Счётчик • LCD • Датчик температуры • Watchdog TimerИнтерфейсCAN • UART • SPI • I²C • ОСμClinux • BeRTOS • ChibiOS/RT • RTEMS • Unison • MicroC/OS-II • ПрограммированиеПрограмматор • Ассемблер • MPLAB • AVR Studio • MCStudio

Полезное

Смотреть что такое «АЦП» в других словарях:

АЦП — аналого цифровой преобразователь аналогово цифровой преобразователь Словари: Словарь сокращений и аббревиатур армии и спецслужб. Сост. А. А. Щелоков. М.: ООО «Издательство АСТ», ЗАО «Издательский дом Гелеос», 2003. 318 с., С. Фадеев. Словарь… … Словарь сокращений и аббревиатур

АЦП — аналого цифровой преобразователь … Словарь сокращений русского языка

параллельный АЦП — Быстродействующий АЦП с параллельным выводом данных. Оценка аналогового сигнала в АЦП выполняется одновременно с помощью 2n 1 компараторов, что позволяет сформировать n битовое кодовое слово за один шаг обработки входного сигнала. [Л.М. Невдяев.… … Справочник технического переводчика

АНАЛОГО-ЦИФРОВОЙ ПРЕОБРАЗОВАТЕЛЬ — (АЦП) устройство для автоматич. преобразования аналоговых (непрерывных во времени) сигналов в эквивалентные им дискретные сигналы, представленные цифровым кодом. Аналоговыми величинами чаще всего бывают электрич. напряжение или сила тока, частота … Большой энциклопедический политехнический словарь

Аналого-цифровой преобразователь — Четырёхканальный аналого цифровой преобразователь Аналого цифровой преобразователь[1][2] … Википедия

Цифро-аналоговое преобразование — Четырёхканальный аналого цифровой преобразователь Аналого цифровой преобразователь (АЦП, ADC) устройство, преобразующее входной аналоговый сигнал в дискретный код (цифровой сигнал). Обратное преобразование осуществляется при помощи ЦАП (DAC)… … Википедия

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

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

Сигма-дельта-модуляция — Технологии модуляции п·Аналоговая модуляция AM · SSB · ЧМ(FM) · ЛЧМ · ФМ(PM) · СКМ Цифровая модуляция АМн&#1 … Википедия

ЭЛЕКТРИЧЕСКИЕ ИЗМЕРЕНИЯ — измерение электрических величин, таких, как напряжение, сопротивление, сила тока, мощность. Измерения производятся с помощью различных средств измерительных приборов, схем и специальных устройств. Тип измерительного прибора зависит от вида и… … Энциклопедия Кольера

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *