Adc что это в телевизоре

В Контакте Ютуб Почта

АПЦ — это Аналого-Цифровой Преобразователь. По английски ADC (Analog-to-Digital Converter). То есть специальное устройство, которое преобразует аналоговый сигнал в цифровой.

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

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

Например, если вы создаёте программу для микроконтроллера, которая отслеживает температуру, то микропроцессор должен каким-то образом понять, что, например, напряжение 1В на его аналоговом входе соответствует температуре 10 градусов, а 5В — температуре 100 градусов (это просто пример, пока не обращайте внимание на числа).

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

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

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

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

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

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

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

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

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

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

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

Как из обычного телевизора с функцией dlna сделать Smart TV при помощи мобильного телефона

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

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

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

Например, 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 В

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

Еще по теме:  Топ 10 телевизоров 43 дюйма

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 даёт на выходе датчика напряжение, изменяемое по линейному закону, мы, как я уже сказал, можем вычислить это напряжение для любого значения температуры на заданном диапазоне.

Преобразование температуры в напряжение

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

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

Еще по теме:  Телевизор Хендай 24 дюйма отзывы покупателей

Первым делом определяем диапазон температур. Он у нас от -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 градус.

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

АЦП: Проблемы выбора. Необычные АЦП и ЦАП преобразователи

АЦП: Проблемы выбора. Необычные АЦП и ЦАП преобразователи

Другим важным следствием является эффективная рабочая полоса, в которой можно измерять сигнал. Малое апертурное время соответствует здесь широкой полосе и наоборот. Интуитивно понятно, что высокие частоты смазываются большим апертурным временем, а короткая выборка позволяет отразить в данных быстрое изменение амплитуды сигнала. Иначе говоря, усреднение сигнала по интервалу времени T работает как ФНЧ, чья полоса очень близка к величине 1/T . С математической точки зрения такое действие является формой преобразований Фурье.

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

Спектр прямоугольного импульса Π(t) длительностью T.

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

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

АЦП с микропотреблением

Батарейным устройствам часто нужны сведения об окружающем мире, которые можно получить от датчиков, и АЦП с низким потреблением. Обычно задачу решают 8-, 10-, 12-разрядные АЦП в составе самого микроконтроллера, но иногда требуются преобразователи с улучшенным микропотреблением. Имеются и SAR, и ΣΔ модели. Стоит разобрать, чем они различаются с точки зрения использования.
У SAR — высокая скорость преобразования, но и высокое потребление. Измерение начинается с выборки мгновенного значения сигнала сразу после запуска преобразования, что позволяет сразу выключить датчик и сэкономить в случае каких-нибудь прожорливых тензомостов. Большой ток расходуется только на короткий промежуток преобразования, а затем АЦП можно перевести в спящий режим.
Например, AD7685 потребляет 2.7 mW в ходе 16-разрядного измерения с максимальной скоростью 200 ksps (при питании 3V), но часто можно работать с гораздо меньшей скоростью, скажем 100 sps. В таком случае рассеиваемая мощность падает до 1.4 μW (т.е. в 2000 раз меньше). Для большинства SAR имеется прямая зависимость потребления от скорости работы.
Сигма-дельта – интегрирующие устройства по самой своей сути. Им требуется большое время для измерения. Кроме того, 16 разрядов требуют в 16 раз больше времени, чем 12 разрядов (из-за разницы в 4 разряда). Зато общее потребление ΣΔ ниже, чем у сравнимых SAR.
Сигма-дельта MCP3425 рассеивает 0.44 mW при непрерывной работе с максимальной скоростью (16 разрядов, 15 sps). Это в 6 раз меньше, чем потребляет AD7685 на 200 ksps. По абсолютным цифрам мощности побеждает ΣΔ, но сравнение некорректное, т.к. скорость работы различается в 10000 раз. Вдобавок, приведённые цифры гораздо выше чем то, что обещают в справочных данных. Например, для MCP3425 заявлена средняя мощность 1.8 μW, но только соответствует она 12-разрядному режиму и одной выборке в секунду, т.е. фактически вводит в заблуждение.

Поединок между малопотребляющими АЦП. Чтобы провести корректное сравнение, условимся для начала, что требуется 10 измерений в секунду с 16-битным разрешением, а отбор будет вестись по минимуму рассеиваемой мощности. При такой скорости сигма-дельта потребляет в среднем 290 μW, а SAR — 0.14 μW, т.е. в 2000 раз меньше!

Еще по теме:  Телевизор LED LG 43lj515v характеристики

Если учитывать только этот показатель качества, то мяч уже в воротах. Но есть ещё кое-что. ΣΔ интегрирует сигнал на промежутке 66 ms, что даёт более тихий результат, чем у SAR, который выхватывает мгновенное значение за доли микросекунды. Для сравнения, AD7685 может сделать 2000 измерений за ту же мощность, что и одно измерение MCP3425, но чтобы понизить шум, все их придётся усреднять.

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

Некоторые АЦП используют тактовый сигнал передачи данных для преобразования, что может потребовать от управляющего контроллера тратить время и мощность на его генерацию. Отдельные преобразователи требуют довольно высокой тактовой частоты, скажем, SAR AD7091R требует 50 MHz для работы с максимальной скоростью 1 Msps . Такого рода запросы требуют серьёзных затрат мощности. Если предполагается выключать АЦП между сеансами измерения, надо учесть, что процедура выхода из сна может потребовать дополнительных телодвижений и задержек.

Источник: elektrolife.ru

Работаем с STM32 и многоканальным АЦП используя DMA

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

stm32

stm32

Как работает многоканальное преобразование АЦП?

Если нам нужно преобразовать несколько каналов непрерывно, нам нужно настроить регистры последовательности (ADC_SQRx). Существует три регистра последовательности: ADC_SQR1, ADC_SQR2 и ADC_SQR3, где мы можем установить максимум 16 каналов в любом порядке. Последовательность преобразования начинается с настроек SQ1 [4: 0] в регистре ADC_SQR3. Биты [4: 0] содержат номер канала АЦП.

Все 16 последовательных каналов могут быть установлены одинаково через все регистры SQR. Затем в регистре ADC_SQR1 есть четыре бита, помеченные как L [3: 0], где вы можете установить число повторений чтения последовательности.

Еще одна вещь, о которой нам нужно позаботиться — установить время выборки для каждого канала. Как мы знаем, каждый канал в последовательности может быть установлен на разное время преобразования. Время выборки для каждого канала может быть установлено в двух регистрах: ADC_SMPR1 и ADC_AMPR2. Есть три бита для каждого канала в последовательности.

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

Настройка многоканального преобразования АЦП с записью DMA

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

Оцените статью
Добавить комментарий