АНАЛОГОВЫЕ КОМПАРАТОРЫ

Аналоговые компараторы осуществляют сравнение двух напряжений. Результатом сравнения является логический сигнал, фиксирующий момент равенства входных сигналов. Выход компаратора может быть использован в качестве запроса на прерывание. При этом пользователь может программировать формирование запроса по переднему или заднему фронту сигнала, либо по любому его изменению. Схема компаратора микроконтроллера АТтеgа163 приведена на рис. 11.1..

 
 

 


Рис.11.1. Структурная схема аналогового компаратора

Аналоговый компаратор сравнивает уровни на положительном (AC+) и отрицательном (AC-) входах. При напряжении на входе (AC+) большем, чем напряжение на входе (AC-), выход аналогового компаратора ACO устанавливается в состояние 1. Компаратор может формировать запрос на прерывание. Пользователь может задать формирование запроса по нарастающему или падающему фронту или по переключению.

В работе компаратора используются регистры (рис. 11.2):

0 Регистр управления аналоговым компаратором ACSR (Analog Comparator Control And Status Register);

0 Регистр специальных функций ввода/вывода SFIOR (Special Function Input Output Register);

0 Регистр состояния аналого-цифрового преобразователя ADCSR (ADC Status Register);

0 Регистр мультиплексора аналого-цифрового преобразователя ADCMUX

(ADC Multiplexer).

0 Регистр состояния микроконтроллера SREG (Status Register).

 

 
 

 


Рис. 11.2. Регистры, задействованные в работе аналогового компаратора

 

Регистр ACSR (Analog Comparator Control And Status Register) предназначен для управления аналоговым компаратором.

0 Бит 7 - ACD (Analog Comparator Disable) - отключает аналоговый компаратор. Когда этот бит установлен, питание на аналоговый компаратор не подается. Бит может быть установлен в любое время. При изменении бита прерывание от компаратора должно быть заблокировано очисткой бита ACIE.

0 Бит 6 - ACBG (Analog Comparator Bandgap) - выбор эталона аналогового компаратора. Когда этот бит установлен, и BOD позволяется (fuse-бит BODEN запрограммирован), фиксированное напряжение 1.22V поступает на положительный вход аналогового компаратора. Когда бит сброшен, к положительному входу подключается контакт AIN0

0 Бит 5 - ACO (Analog Comparator Output) - выход аналогового компаратора.

0 Бит 4 - ACI (Analog Comparator Interrupt Flag) - флаг прерывания по аналоговому компаратору. Данный бит устанавливается в состояние 1 в случае формирования компаратором прерывания, определяемого ACIS1 и ACIS0. Подпрограмма обработки прерывания по аналоговому компаратору будет выполняться при установленном бите ACIE и установленном бите глобального прерывания в регистре SREG. Бит ACI очищается аппаратно при выполнении соответствующего вектора обработки прерывания, Бит ACI можно очистить, также, записью во флаг логической 1. При модификации других битов регистра ACSR командами SBI или CBI бит ACI будет очищен, если он был установлен перед этими операциями.

0 Бит 3 - ACIE (Analog Comparator Interrupt Enable) - разрешение прерывания по аналоговому компаратору. При установленном бите ACIE и установленном бите глобального прерывания регистра SREG активируется прерывание ANA_COM с вектором $20. При сброшенном бите ACIE прерывание запрещено.

0 Бит 2 - ACIC (Analog Comparator Input Capture Enable) - разрешение входа захвата аналогового компаратора. Установленный в состояние 1 бит ACIC разрешает срабатывание функции захвата входа таймера/счетчика1 по переключению аналогового компаратора. В этом случае, выход аналогового компаратора подсоединяется непосредственно ко входной цепи логики захвата входа, что обеспечивает использование функций подавления шума и выбора вида срабатывания прерывания по захвату входа таймера/счетчика1. При сбросе бита ACIC соединения нет. Для запуска прерывания по захвату входа таймера/счетчика1 бит TICIE1 в регистре масок прерываний TIMSK должен быть установлен в состояние 1.

0 Биты 1,0 - ACIS1, ACIS0 (Analog Comparator Interrupt Mode Select) - выбор режима прерывания по аналоговому компаратору. Эти биты определяют характер события компаратора, при котором запускается прерывание по аналоговому компаратору. Варианты установок показаны в таблице 11.1.

 

Таблица 11.1. Установки битов ACIS1/ACIS0

 

ACIS1 ACIS0 Режим прерывания
Прерывание по переключению выхода компаратора
Зарезервировано
Прерывание по падающему фронту на выходе компаратора
Прерывание по нарастающему фронту на выходе компаратора

 

При изменении состояния битов ACIS1/ACIS0 прерывание по аналоговому компаратору должно быть запрещено очисткой бита разрешения прерывания в регистре ACSR. В противном случае, при изменении состояния битов может произойти прерывание.

На отрицательный вход аналогового компаратора можно скоммутировать любой из входов порта PORTA (PA7 .. РАО). Для выбора входа используется мультиплексор аналого- цифрового преобразователя.

0 Бит ACME (Analog Comparator Multiplexer Enable) в регистре специальных функций ввода вывода SFIOR предназначен для подключения мультиплексора к аналоговому компаратору. При подключении должен быть сброшен бит ADEN (ADC Enable) в регистре ADCSR (аналого-цифровой преобразователь выключен).

0 Битами MUX2..0 в регистре мультиплексора ADMUX выбирается контакт на входе (табл. 5.11). Если бит ACME равен 0 или бит ADEN равен 1, то к отрицательному входу компаратора подключается контакт AIN1.

 

Таблица 11.2. Логика подключения отрицательного входа компаратора.

ACME ADEN MUX2..0 Отрицательный вход аналогового компаратора
X XXX AIN1
XXX AIN1
РАО
РА1
РА2
РАЗ
РА4
РА5
РА6
РА7