Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру
Глава 3. Периферийные устройства и пр ерывания 49 лях) объединяться в пары для измерения дифференциальных сигналов. Иногда АЦП дополнительно снабжается усилителем напряжения с фиксированными зна чениями коэффициента усиления 1 О и 200. Сам АЦП в базовой конфигурации представляет собой преобразователь последова тельного приближения с устройством выборки-хранения и фиксированным числом тактов преобразования, равным 1 3 (или 1 4 для дифференциального входа); первое преобразование после включения потребует 25 тактов для инициализации АЦП. Тактовая частота формируется аналогично тому, как это делается для таймеров, - с помощью специального предделителя тактовой частоты МК, который может иметь коэффициенты деления от 1 до 1 28 . Но, в отличие от таймеров, выбор такто вой частоты АЦП не совсем произволен, т. к. быстродействие аналоговых ко·мпо нентов ограничено. Поэтому коэффициент деления следует выбирать таким, чтобы при заданном «кварце» тактовая частота АЦП укладывалась в рекомендованный диапазон 50-200 кГц (т. е. максимум около 1 5 тыс . измерений в секунду). Увеличе ние частоты выборки допустимо, если не требуется достижение наивысшей точно сти преобразования . ПОДРОБНОСТИ Следящие преобразователи такого типа , как включенные в состав МК AVR, работают по следующей схеме. Берется цифроаналоговый преобразователь (ЦАП) нужной раз рядности . На его цифровые входы подается с некоего регистра код по определенному правилу, о котором далее. Выход ЦАП соединяется с одним из входов компаратора , на другой вход которого подается преобразуемое напряжение. Результат сравнения подается на схему управления, которая связана с этим самым регистром - формиро вателем кодов. Для того чтобы получить фиксированную длительность преобразова ния , правило формирования кодов следующее: сначала все разряды кода равны ну лю. В первом такте самый старший разряд устанавливается в единицу. Если выход ЦАП при этом превысил входное напряжение, т. е. компаратор перебросился в проти воположное состояние, то разряд возвращается в состояние логического О, в против ном же случае он остается в состоянии логической 1 . В следующем такте процедуру повторяют для следующего по старшинству разряда . Такой метод позволяет за число тактов, равное числу разрядов, сформировать в регистре код, соответствующий вход ному напряжению. Алгоритм имеет существенный недостаток: если за время преобра зования входное напряжение меняется , то схема может ошибаться , поэтому здесь обязательно наличие устройства выборки-хранения входной величины, которое до полнительно замедляет процесс и вносит свою погрешность в конечный результат. Разрешающая способность базовой конфигурации АЦП в МК АVR- 1 О двоичных разрядов, чего для большинства типовых применений достаточно (около О, 1 % от шкалы измерения) . В некоторых модификациях АVR- например, в моделях с ин дексом НУ А, предназначенных для контроля напряжения аккумуляторных батарей (таких, как АTmega 1 6HVА или ATmega8НVА), - разрядность АЦП повышена до 1 2, хотя принцип работы остался тем же . Абсолютная погрешность преобразо вания зависит от ряда факторов и в идеальном случае не превышает ±2 младших разрядов, что соответствует общей точности измерения примерно в 8 двоичных разрядов (погрешность 0,4% от шкалы измерения) . Для достижения этого результа т ту а необходимо принимать специальные меры: не только «вгонять» тактовую часто в рекомендованный диапазон, но и снизить по максимуму интенсивность цифро-
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==