Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лек8.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.66 Mб
Скачать

Аналоговый ввод-вывод

Часто микроконтроллер должен взаимодействовать с аналоговыми устройствами, которые работают с сигналами, имеющими уровень между напряжением питания Vcc и "землей", вводить и выводить такие аналоговые сигналы. Многие модели микроконтроллеров в различных семействах содержат аналогово-цифровые (ADC Analog-to-Digital Converter) и цифро-аналоговые (DАС - Digital-to-Analog Converter) преобразователи.

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

В первом способе аналого-цифровое преобразование фактически не реализуется, а текущее значение сопротивления потенциометра определяется с помощью ввода-вывода цифровых данных. Для определения сопротивления потенциометра к выводу микроконтроллера подключается RC-цепь (рис. 18). Сопротивление определяется путем измерения времени, в течение которого потенциал на конденсаторе остается больше порога переключения. Чем больше сопротивление, тем большее число I будет считано на входе за время измерения (рис. 19). Чтобы выполнить измерение, вывод параллельного порта переводится в режим вывода, па котором устанавливается I (высокий потенциал). Конденсатор разряжается через сопротивление Rsub, которое ограничивает ток, предотвращая короткое замыкание в начале разряда. Когда конденсатор полностью разрядился, выходной драйвер закрывается, и конденсатор начинает заряжаться через потенциометр. Измерение заканчивается, когда напряжение на выводе упадет ниже порога переключения. Обычно для измерения времени используется таймер.

Рис. 19. Изменение входного потенциала при измерении сопротивления потенциометра

Рис. 18. Использование цифрового входа для определения сопротивления потенциометр

Если проследить за этой операцией с помощью осциллографа, то можно наблюдать форму сигнала, показанную на рис. 19. Для определения значения R и С можно использовать выражение: t = 2.2 * R * С, где t - время заряда конденсатора. Сопротивление Rsub обычно выбирается в диапазоне от 100 Ом до 200 Ом. Эта схема измерения дает не совсем точное значение сопротивления R из-за разброса емкости конденсатора, а также влияния нелинейного выходного сопротивления CMOS-входа микроконтроллера. Более точные результаты можно получить, используя прецизионный конденсатор, который слишком дорог.

На практике эта схема используется в приложениях, которые не требуют высокой точности измерения. Данная схема может определять относительное положение движка потенциометра. Например, в компьютерах IBМ PC такая схема используется для определения текущего положения джойстика. Неточность измерения отражается в том, что пользователя просят переместить джойстик в крайние положения, чтобы произнести его калибровку. Обычно в такой схеме используется танталовый конденсатор емкостью 0,1 мкФ и потенциометр с сопротивлением 10 кОм. Время заряда составляет около 22 мс. Этого значения достаточно, чтобы микроконтроллер смог измерить его с необходимой точностью, в то же время такая задержка слишком мала, чтобы ее мог заметить пользователь. Проблема заключается в том, что разброс емкостей для танталовых конденсаторов может достигать 100% от их номинала. Это означает, что необходимо производить калибровку перед использованием такого устройства.

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

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

Рис. 20. Сигналы на входе и выходе компаратора

Рис. 22. Параллельный аналогово-цифровой преобразователь

Часто в микроконтроллерах, использующих компараторы, опорное напряжение формируется внутри с помощью резистивного делителя и аналогового мультиплексора, который производит выбор требуемого выходного напряжения (рис. 21). Такая схема обеспечивает получение некоторого набора опорных напряжений. Используется простой алгоритм перебора набора различных опорных напряжений до срабатывания компаратора. Опорное напряжение, при котором происходит переключение компаратора, соответствует значению поступающего входного напряжения. Данная схема даст приближенное значение входного напряжения, так как обычно напряжение Vref задается с достаточно большим шагом. Например, если схема обеспечивает 8 уровней опорного напряжения, то при диапазоне напряжений 5 В шаг составит более 700мВ.

Другой способ аналого-цифрового преобразования - это использование параллельно включенных компараторов (рис. 22). Этот метод является наиболее быстрым по сравнению с другими методами преобразования типами ADC. Время преобразования определяется задержкой компараторов и приоритетного дешифратора. Этот способ относительно дорогой, так как требует использования большого числа компараторов, например, чтобы получить 8-разрядную точность преобразования потребуется 256 компараторов.

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

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

Рис. 24. Неверная выборка сигнала

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

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

Рис. 25. Схема реализации аналогового выхода

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]