Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру

Глава 1 1 . Аналоговый компаратор и АЦП 295 используют их в автоматических устройствах для слежения за превышением какой­ либо величиной порогового значения . Рассмотрим функциональность встроенного компаратора, а потом приведем пример его простейшего использования . У стро й ство компаратора Входы компаратора обычно маркируются знаками «плюс» и «минус» (и называют­ ся положительным и отрицательным, или, иначе, неинвертирующим и инверти­ рующим) . Если напряжение на положительном входе превышает напряжение на отрицательном, то выход компаратора устанавливается в логическую единицу, и наоборот - если напряжение на отрицательном входе больше, чем на положитель­ ном, то выход устанавливается в логический ноль. В АVR эти входы называются AINO (положительный) и AINl (отрицательный) . На схемах я в дальнейшем для ясности обозначаю их AIN+ и AIN-. Для успешной работы они должны быть уста­ новлены в состояние по умолчанию: сконфигурированы на вход, а подтягивающий резистор отключен (т. е. его нельзя использовать в качестве одного из резисторов делителя по входу, если такой требуется в схеме). Ошибка аналогового компаратора АVR (напряжение смещения) - не более 40 мВ во всем диапазоне температур (реально гораздо меньше), время отклика - не более 0,5 мкс . Входной ток по каждому из входов не более 50 нА, поэтому к ним можно смело подключать резистивные делители в сотни килоом и даже единицы мегаом, не боясь слишком сильно увеличить ошибку смещения (вот у АЦП входное сопро­ тивление из-за наличия устройства выборки-хранения гораздо ниже, и сопротивле­ ния более 1 0 кО м там подключать не рекомендуется, - см. далее). Только, если вы используете совместно с компаратором такие значения, не забудьте зашунтировать вход дополнительным керамическим конденсатором, чтобы не вводить лишнюю составляющую дребезга из-за наводок на высокоомных резисторах. Напряжения на входах не должны выходить за пределы напряжения питания . Аналоговый компаратор может также работать совместно с АЦП, если он имеется в вашей модели МК, - инвертирующий вход может подключаться к одному из входов АЦП. Подробности приведены в техдокументации, а здесь отметим, что эта функция может пригодиться, например, для определения знака какой-то физиче­ ской величины или для сигнализации о ее выходе за допустимые пределы. Еще одну интересную возможность предоставляет функция подключения компаратора ко входу захвата Timer 1 , что позволяет с его помощью построить формирователь входных импульсов для измерения длительности временнЬ1х интервалов или для подсчета событий (см. главу 9) . Во всех моделях МК АVR компаратор управляется одинаково - через единствен­ ный регистр ACSR. Бит 7 (Асо) этого регистра управляет включением компаратора, причем нулевое его состояние (по умолчанию) означает, что компаратор включен . Поэтому для энергосберегающих режимов его нужно специально выключать. Положительный (неинвертирующий) вход компаратора путем установки бита ACBG может подключаться ко все тому же внутреннему источнику опорного напряжения величиной 1 ,2-1 ,3 В (в ATmega8/8535 ) или 1 , 1 В (ATtiny23 1 3 ), от которого работа-

RkJQdWJsaXNoZXIy MTExODQxMg==