Смекни!
smekni.com

AVR микроконтроллер AT90S2333 фирмы Atmel (стр. 14 из 22)

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

Аналоговый компаратор сравнивает входные напряжение на положи­тельном входе PD6 (AIN0) и отрицательном входе PD7(AIN1). Когда напря­жение на положительном входе больше напряжения на отрицательном, уста­навливается бит ACO (Analog Comparator Output). Выход аналогового ком­паратора можно установить на работу с функцией захвата Таймера/Счетчи­ка1. Кроме того, компаратор может вызывать свое прерывание. Пользова-

тель может установить установить срабатывание прерывания по нарастаю­щему или спадающему фронту, или по переключению.

РЕГИСТР УПРАВЛЕНИЯ И СОСТОЯНИЯ АНАЛОГОВОГО КОМПАРАТОРА (ACSR).

ACSR

08h(28h)

7

6

5

4

3

2

1

0

ACD

AINBG

ACO

ACI

ACIE

ACIC

ACIS1

ACIS0

R\W R R R\W R\W R\W R\W R\W

Начальное значение

0 0 0 0 0 1 0 0

Бит 7 - ACD - Запрещение аналогового компаратора. Когда этот бит ус­тановлен, питание от аналогового компаратора отключается. Для отключе­ния компаратора этот бит можно установить в любое время. Обычно это свойство используется если критично потребление процессора в холостом режиме и восстановление работы процессора от аналогового компаратора не требуется. При изменении бита ACD прерывания от аналогового компа­ратора должны быть запрещены сбросом ACIE в регистре ACSR. В противном случае прерывание может произойти во время изменения бита.

Бит 6 - AINBG - Выбор напряжения сравнения аналогового компаратора. Когда этот бит установлен, вывод AIN0 подключается к напряжению 1.22 + 0.05В. Когда бит сброшен возобновляется нормальная работа вывода AIN0.

Бит 5 - ACO - Выход аналогового компаратора. Бит ACO непосредственно подключен к выходу аналогового компаратора.

Бит 4 - ACI - Флаг прерывания от аналогового компаратора. Этот бит устанавливается когда переключение выхода компаратора совпадает с ре­жимом прерывания установленным битами ACIS1 и ACIS0. Программа обрабо­тки прерывания от аналогового компаратора выполняется если установлен бит ACIE (1) и установлен бит I в регистре состояния. ACI сбрасывается аппаратно при выполнении соответствующего вектора прерывания. Другой способ очистить ACI - записать во флаг логическую единицу.

Бит 3 - ACIE - Разрешение прерывания от аналогового компаратора. Ко­гда установлен этот бит и бит I регистра состояния, прерывания от ана­логового компаратора отрабатываются. Если бит очищен (0), прерывания запрещены.

Бит 2 - ACIC - Захват по выходу аналогового компаратора. Если этот бит установлен, функция захвата таймера/счетчика1 управляется выходом аналогового компаратора. При этом выход компаратора подключается непо­средственно к схеме обработки захвата, предоставляя удобные средства подавления шума и выбора фронта предусмотренные прерыванием захвата по входу. Когда бит очищен, схема захвата и компаратор разъединены. Чтобы компаратор мог управлять функцией захвата таймера/счетчика1, должен быть установлен бит TICIE1 в регистре TIMSK.

Биты 1,0 - ACIS1, ACIS0 - Выбор режима прерывания аналогового компа­ратора. Различные установки приведены ниже.

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

ACIS1

ACIS0

Описание

0

0

Прерывание от компаратора по переключению выхода

0

1

Зарезервировано

1

0

Прерывание от компаратора по спадающему фронту выхода

1

1

Прерывание от компаратора по нарастающему фронту выхода

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

АНАЛОГО-ЦИФРОВОЙ ПРЕОБРАЗОВАТЕЛЬ

Основные характеристики:

- разрешение 10 бит

- точность +- 1/2 младшего разряда

- время преобразования 65-260 uS

- 6 мультиплексирумых входов

- работа с полным размахом напряжения

- непрерывный режим или одиночные преобразования

- прерывание по завершению преобразования

- подавление шума в режиме Sleep

AT90S2333/4433 имеют 10-разрядный АЦП последовательного приближения. АЦП подключен к выходу шестивходового мультиплексора. Мультиплексор по­зволяет подключать на вход АЦП любой из входов порта C. В состав АЦП входит усилитель выборки-хранения, который позволяет сохранять на входе АЦП уровень напряжения постоянный за время преобразования.

АЦП имеет два отдельных вывода питания AVCC и AGND. ФПТВ должен подключаться к GND, напряжение на AVCC не должно отличаться от VCC более чем на +-0.3В. Внешнее опорное напряжение должно подаваться на вывод AREF. Это напряжение должно лежать в пределах AGND-AVCC.

РАБОТА АЦП

АЦП может работать в двух режимах - одиночного преобразования и непрерывном. В режиме одиночного преобразование каждое преобразование инициируется пользователем. В непрерывном режиме АЦП производит непре­рывную обработку входного сигнала и обновляет регистр данных АЦП. Пе­реключение режимов осуществляется битом ADFR в регистре ADCSR. Регистр ADMUX выбирает один из шести входов подключаемый ко входу АЦП. Кроме того в качестве входа можно использовать фиксированное опорное напряжение. Работа АЦП разрешается записью логической "1" в бит разрешения АЦП (ADEN в ADCSR). Перед первым преобразованием после разрешения АЦП выполняется одно "пустое" преобразование инициализирующее АЦП. Для по­льзователя единственное отличие первого преобразования от последующих заключается в том, что оно занимает 25 тактовых импульсов вместо обыч­ных 13.

Преобразование запускается записью логической 1 в бит запуска АЦП - ADCS. Этот бит остается установленным пока идет преобразование и ап­паратно сбрасывается, когда преобразование завершается. Если во время преобразования происходит переключение канала, пред переключением АЦП завершает текущее преобразование.

Операция выборки-хранения занимает один цикл после запуска преоб­разования. Это позволяет пользователю устанавливать номер входного ка­нала одновременно с запуском преобразования Поскольку результат преобразования занимает 10 разрядов, для хра­нения результата используется два регистра ADCH и ADCL, которые должны быть прочитаны для получения результата. Для защиты данных, чтобы обеспечить чтение результата одного преобразования из обоих регистров используется специальная логика защиты данных.

Этот механизм работает так:

При чтении данных первым должен читаться регистр ADCL. Доступ АЦП к регистру данных блокируется. Это приводит к тому, что если прочитан байт ADCL и преобразование завершилось до того как прочитан регистр ADCH, регистр данных не изменяется и результат преобразования будет потерян. Доступ АЦП к регистру данных разрешается после чтения ADCH. АЦП имеет собственное прерывание, которое выполняется по заверше­нию преобразования. Если доступ АЦП к регистру данных запрещен (между чтением ADCL и ADCH), прерывание вызывается даже если данные потеряны. Предварительный делитель АЦП работает с тактовыми частотами в диапазоне 50-200 kHz. Для полного преобразования АЦП необходимо 13 тактов, т.е. преобразование занимает от 65 до 260 uS. Корректное значение выхода АЦП гарантируется только для тактовых частот не выходящих из приведенного диапазона. Для генерации тактовой частоты АЦП из тактовой частоты процессора выше 100 кГц используются биты ADPS0-ADPS2. Предварительный делитель начинает счет в момент разрешения АЦП установкой бита ADEN в ADCSR. Предварительный делитель продолжает работать до тех пор, пока установлен бит ADEN и непрерывно сбрасывается если бит ADEN сброшен. Функция подавления шумов АЦП Одна из особенностей АЦП - функция подавления шумов, АЦП может осуществлять преобразования в режиме холостого хода, это позволят уменьшить шумы, наводимые ядром процессора. Чтобы воспользоваться этой возможностью, необходимо произвести следующую процедуру:

1. Удостоверьтесь, что АЦП разрешен и не занят преобразованием. Необходимо выбрать режим одиночного преобразования и разрешить прерывания по окончанию преобразования .

ADEN=1

ADSC=0

ADFR=0

ADIE=1

2. Перейти в режим холостого хода. АЦП начнет преобразование по­сле того как остановится процессор.