Читаем PIC-микроконтроллеры. Все, что вам необходимо знать полностью

Даже если не требуется обработка аналоговых сигналов, регистр ADCON1 все равно необходимо конфигурировать — в этом случае используются значения Ь’0110’ или Ь’0111’, при которых все выводы, которые могут использоваться АЦП, конфигурируются как цифровые[182]. Невыполнение этого требования представляет собой одну из наиболее распространенных ошибок, поскольку большинство современных моделей имеют аналоговые модули и, как было указано на стр. 496, при сбросе по включению питания все соответствующие выводы по умолчанию конфигурируются как аналоговые. Соответственно, при чтении состояния таких выводов будет всегда возвращаться 0. Как уже было отмечено, все выводы, используемые для считывания аналогового сигнала, должны быть сконфигурированными как входы (1 в соответствующих битах регистров TRIS).

Как мы видели из Рис. 14.10, операция последовательного приближения заключается в последовательном сравнении с долями фиксированного опорного напряжения, каждая последующая из которых в 2 раза меньше предыдущей. Соответственно, точность данной операции зависит от качества этого опорного напряжения. Как правило, указанный параметр (точность) определяется ценой единицы младшего бита (LSB), т. е. шагом квантования. В случае 10-битного преобразования эта величина составляет Vref/1024, или более 0.1 % опорного напряжения.

В качестве опорного напряжения можно использовать напряжение питания самого микроконтроллера, скажем, 5 В. Так, при значении битов PCFG[3:0] = = b’1110’ вывод RA0 конфигурируется как аналоговый, а в качестве опорного используется напряжение VDD. В этом случае значение, полученное в результате оцифровки, даст нам долю от напряжения питания, которой соответствует входное аналоговое напряжение.

Использование напряжения питания в качестве опорного является не самым лучшим выбором с точки зрения помехозащищенности. К тому же его значение может изменяться в некоторых пределах. Если требуется более высокая точность или опорное напряжение, отличное от напряжения источника питания, то для подключения внешнего источника опорного напряжения можно задействовать определенные аналоговые входы. Все модули АЦП позволяют использовать хотя бы одно внешнее напряжение. Что же касается PIC16F87X, то в этом микроконтроллере можно использовать одно или два внешних опорных напряжения. В частности, при PCFG[3:0] = Ь’0101’ выводы RA[1:0] конфигурируются в качестве аналоговых входов, а вывод RA3 используется для подключения внешнего прецизионного источника опорного напряжения Vref+ (см. Рис. 14.20)[183]. Величина Vref+ может находиться в пределах от VDD — 2.5 В до VDD + 0.3 В (при этом она не должна быть менее 2 В).

В некоторых случаях может потребоваться измерение напряжений относительно уровня, отличающегося от VSS (0 В или земля). Модули АЦП в некоторых моделях, например в PIC16F87X, позволяют задать отдельное нижнее опорное напряжение Vref-. Скажем, при PCFG[3:0] =Ь’1101’ тоже обеспечивается два аналоговых канала, а вывод RA3 используется для подачи опорного напряжения Vref+. Только вывод RA2 в этом случае используется для подачи опорного напряжения Vref-, которое должно быть в пределах -0.3…2 В. А весь диапазон Vref+Vref- не может быть меньше 2 В.

ADFM (формат результата преобразования)

В рассматриваемом нами модуле АЦП используется два регистра для хранения 10-битного результата. Поскольку суммарная разрядность пары регистров ADRESH: ADRESL составляет 16 бит, то возможны два способа размещения 10-битного результата в этих регистрах.

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

Рис. 14.13.Выравнивание 10-битного результата в 16-битном поле

Если же необходимо полное 10-битное значение, то бит ADCONl[7] следует установить в 1 для выравнивания результата по правому краю. Как видно из Рис. 14.13, б, в этом случае результат представляет собой 10-битное число, расширенное до 16 бит заполнением старших битов нулями. Соответственно для обработки этого значения можно использовать обычную 16-битную арифметику.

Процесс преобразования

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

1. Конфигурирование модуля АЦП:

• Конфигурирование выводов портов как аналоговых входов и/или входов опорного напряжения (ADCON1).

• Выбор источника тактового сигнала АЦП (ADCON0).

• Выбор входного канала АЦП (ADCON0).

• Включение модуля АЦП (ADCON0).

Перейти на страницу:

Все книги серии Программируемые системы

PIC-микроконтроллеры. Все, что вам необходимо знать
PIC-микроконтроллеры. Все, что вам необходимо знать

Данная книга представляет собой исчерпывающее руководство по микроконтроллерам семейства PIC компании Microchip, являющегося промышленным стандартом в области встраиваемых цифровых устройств. В книге подробно описывается архитектура и система команд 8-битных микроконтроллеров PIC, на конкретных примерах изучается работа их периферийных модулей.В первой части излагаются основы цифровой схемотехники, математической логики и архитектуры вычислительных систем. Вторая часть посвящена различным аспектам программирования PIC-микроконтроллеров среднего уровня: описывается набор команд, рассматривается написание программ на ассемблере и языке высокого уровня (Си), а также поддержка подпрограмм и прерываний. В третьей части изучаются аппаратные аспекты взаимодействия микроконтроллера с окружающим миром и обработки прерываний. Рассматриваются такие вопросы, как параллельный и последовательный ввод/вывод данных, временные соотношения, обработка аналоговых сигналов и использование EEPROM. В заключение приводится пример разработки реального устройства. На этом примере также демонстрируются простейшие методики отладки и тестирования, применяемые при разработке реальных устройств.Книга рассчитана на самый широкий круг читателей — от любителей до инженеров, при этом для понимания содержащегося в ней материала вовсе не требуется каких-то специальных знаний в области программирования, электроники или цифровой схемотехники. Эта книга будет также полезна студентам, обучающимся по специальностям «Радиоэлектроника» и «Вычислительная техника», которые смогут использовать ее в качестве учебного пособия при прослушивании соответствующих курсов или выполнении курсовых проектов.

Сид Катцен

Радиоэлектроника

Похожие книги

Электроника для начинающих (2-е издание)
Электроника для начинающих (2-е издание)

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

Чарльз Платт

Радиоэлектроника / Технические науки
Электроника для начинающих
Электроника для начинающих

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

Паоло Аливерти , Чарльз Платт

Радиоэлектроника / Технические науки
Искусство схемотехники. Том 3 (Изд.4-е)
Искусство схемотехники. Том 3 (Изд.4-е)

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

Пауль Хоровиц , Уинфилд Хилл

Техника / Радиоэлектроника