ATMEL |
ÊÒÖ-ÌÊ |
прерывание по аналоговому компаратору. Варианты установ ок показаны в Таблице 25.
Таблица 25. Установки битов ACIS1/ACIS0
ACIS1 |
ACIS0 |
Режим прерывания |
|
|
|
0 |
0 |
Прерывание по переключению выхода компаратора |
0 |
1 |
Зарезервировано |
1 |
0 |
Прерывание по падающему фронту на выходе компаратора |
1 |
1 |
Прерывание по нарастающему фронту на выходе компаратора |
Примечание: При изменении состояния битов ACIS1/ACIS0 прерывание по аналоговому компаратору должно быть запрещено очисткой бита разреше ния прерывания в регистре ACSR. В противном случае при изменении состояния битов может пр оизойти прерывание.
Аналого-цифровой преобразователь - (Analog to Digital Converter)
Основные характеристики:
•Разрешение 10 разрядов
•Точность ±1/2 LSB
•Время преобразования 70...280 мс
•8 мультиплексируемых каналов входа
•Режимы циклического и однократного преобразования
•Прерывание по завершению ADC преобразования
•Устройство подавления шумов Sleep режима
Микроконтроллеры ATmega603/103 оснащены 10-разрядным ADC последовательного приближения. ADC подсоединен к 8-канально му аналоговому мультиплексору, позволяющему использовать любой вывод п орта F в качестве входа ADC. ADC содержит усилитель выборки/хранения, удерживающий нап ряжение входа ADC во время преобразования на неизменном уровне. Блок-схема ADC представлена на Рис. 46. Для питания ADC используются два отдельных вывода: AVC C и AGND. Вывод AGND должен быть подсоединен к GND и напряжение AVCC не должн о отличаться от напряжения VCC более чем на (0,4 В. Способы подклю чения этих выводов см. в разделе Технология подавления шума ADC.
Внешнее напряжение сравнения подается на вывод AREF и должно быть в диапазоне от 2,7 В до AVCC.
Работа аналого-цифрового преобразователя
Аналого-цифровой преобразователь может работать в двух режимах: режиме однократного преобразования и режиме циклического прео бразования. В режиме однократного преобразования каждое преобразование иниц иируется пользователем. В режиме циклического преобразования ADC осуществляет выб орку и обновление содержимого регистра данных ADC непрерывно. Выбор режима пр оизводится битом ADFR регистра ADCSR.
Работа ADC разрешается установкой в состояние 1 бита ADEN в реги стре ADCSR. Первому преобразованию, начинающемуся после разрешени я ADC, предшествует пустое инициализирующее преобразование. Н а пользователе это отражается лишь тем, что первое преобразование будет зани мать 27 тактовых циклов, вместо обычных 14.
124
ÊÒÖ-ÌÊ
8-разрядная шина данных
Внешнее
напряжение
сравнения
Прерывание по завершению ADC преобразования
ADIF |
ADIE |
|
9 |
0 |
Аналоговые
входы
8-КАНАЛЬНЫЙ МУЛЬТИПЛЕКСОР
Выбор мультиплексора |
|
Регистр состояния и |
|
Регистр данных ADC |
ADC (ADMUX) |
|
управления ADC (ADCSR) |
|
(ADCH/ADCL) |
MUX2 MUX1 MUX0 |
|
ADEN ADSC ADFR ADIF ADIE ADPS2 ADPS1 ADPS0 |
|
|
10-разрядный |
ЛОГИКА ПРЕОБРАЗОВАНИЯ |
|
DAC |
||
|
||
|
|
_
+
Компаратор
выборки/хранения
Рис. 46. Блок-схема аналого-цифрового преобразователя.
Преобразование начинается с установки в состояние 1 бита начала преобразования ADSC. Этот бит находится в состоянии 1 в течени е всего цикла преобразования и сбрасывается, по завершении преобразов ания, аппаратно.
Если в процессе выполнения преобразования выполняется с мена канала данных, то ADC вначале закончит текущее преобразование и лишь потом вы полнит переход к другому каналу.
Поскольку ADC формирует 10-разрядный результат, то по заверше нии преобразования результирующие данные размещаются в дву х регистрах данных ADCH и ADCL. Для обеспечения соответствия результирующих данных с читываемому уровню используется специальная логика защиты. Этот механизм ра ботает следующим образом: при считывании данных первым должен быть считан регистр A DCL. Как только ADCL считан обращение ADC к регистрам данных блокируется. Таким о бразом, если после считывания состояния ADCL, но до считывания ADCH, будет завершен о следующее преобразование, ни один из регистров не будет обновлен и з аписанный ранее результат не будет искажен. Обращение ADC к регистрам ADCH и ADCL разрешается по завершении считывания содержимого регистра ADCH.
ADC имеет свое собственное прерывание, которое может быть ак тивировано по завершению преобразования. Когда обращение ADC к регистр ам запрещено, в процессе считывания регистров ADCL и ADCH, прерывание будет акт ивироваться, даже если результат будет потерян.
Предварительное деление
ADC работает с тактовой частотой в диапазоне от 50 до 200 кГц. В ре жиме циклического преобразования для преобразования необход имо 14 тактовых циклов, т.е. преобразование выполняется за время от 70 до 280 мс. В режим е однократного преобразования преобразование выполняется за 15 тактовых циклов. Если тактовая частота выйдет за указанные пределы, то правильность резу льтата не гарантируется. Биты ADPS0 - ADPS2 используются для обеспечения необходимого диап азона тактовой частоты ADC при частоте XTAL свыше 100 кГц.
125
ATMEL |
ÊÒÖ-ÌÊ |
Функция подавления шума ADC
Функция подавления шума обеспечивает включение Idle режима на время выполнение преобразования, что позволяет снизить шумы, создаваемые я дром CPU. Для реализации этой функции необходимо выполнить следующую процедуру:
1.Отключить ADC очисткой бита ADEN.
2.Включить ADC и одновременно запустить преобразование установкой битов ADEN и ADSC. Таким образом запускается пустое преобразование за которым последует рабочее преобразование.
3.В течение 14 тактовых циклов пустого преобразования ADC ввести Idle режим.
4.Если, прежде чем будет завершено рабочее преобразование, не произойдет другого прерывания, то прерывание ADC активирует MCU и будет вы полнена подпрограмма обработки прерывания по завершению преобразования ADC.
РЕГИСТР ВЫБОРА МУЛЬТИПЛЕКСОРА ADC -
ADMUX (ADC Multiplexer Select Register)
Áèò |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$07 ($27) |
- |
- |
- |
- |
- |
MUX2 |
MUX1 |
MUX0 |
ADMUX |
Чтение/Запись |
R |
R |
R |
R |
R |
R/W |
R/W |
R/W |
|
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
• Bits 7..3 - Res: Reserved Bits - Зарезервированные биты
Эти биты в микроконтроллерах ATmega603/103 зарезервированы и при с читывании всегда покажут состояние 0.
• Bits 2..0 - MUX2..MUX0: Analog Channel Select Bits 2-0 - Биты выбора аналогового
канала
Состояние данных битов определяет какой из восьми аналог овых каналов (0 - 7) будет подключен к ADC.
РЕГИСТР УПРАВЛЕНИЯ И СОСТОЯНИЯ ADC -
ADCSR - (ADC Control and Status Register)
Áèò |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$06 ($26) |
ADEN |
ADSC |
ADFR |
ADIF |
ADIE |
ADPS2 |
ADPS1 |
ADPS0 |
ADCSR |
Чтение/Запись |
R/W |
R |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
|
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
• Bit 7 - ADEN: ADC Enable - Разрешение ADC
Установка данного бита в состояние 1 разрешает ADC. Очистка бита запрещает ADC. Запрещение ADC в процессе преобразования прекращает прео бразование.
• Bit 6 - ADSC: ADC Start Conversion - Запуск преобразования ADC
В режиме однократного преобразования для запуска каждог о цикла преобразования необходимо устанавливать бит ADSC в состояние 1. В циклическо м режиме бит ADSC устанавливается в состояние 1 только при запуске первого цикла преобразования. Каждый раз после первой установки бита ADSC, выполненной пос ле разрешения ADC или одновременно с разрешением ADC, будет выполняться пусто е преобразование, предшествующее активируемому преобразованию.. Это пусто е преобразование активирует ADC.
126
ÊÒÖ-ÌÊ
ADSC будет сохранять состояние 1 в течение всего цикла преобр азования и сбрасывается по завершении преобразования. При выполнен ии пустого преобразования, предшествующего активируемому, бит ADSC остается установле нным до завершения активируемого преобразования. Запись 0 в этот бит эффекта не оказывает.
• Bit 5 - ADFR: ADC Free Run Select - Установка циклического режима работы ADC
При установленном в состояние 1 бите ADFR ADC будет работать в ци клическом режиме. В этом режиме ADC производит выборки и обращения к ре гистрам непрерывно (одно за другим). Очистка бита приводит к прекращению цикл ического режима.
• Bit 4 -ADIF: ADC Interrupt Flag - Флаг прерывания ADC
Данный бит устанавливается в состояние 1 по завершению пр еобразования и обновления регистров данных. Прерывание по завершению преобразования ADC выполняется если в состояние 1 установлены бит ADIE и I-бит рег истра SREG. Бит ADIF сбрасывается аппаратно при выполнении подпрограммы обр аботки соответствующего вектора прерывания. Кроме того, бит ADIF может быть очищен зап исью во флаг логической 1. Этого необходимо остерегаться при чтении-мо дификации-записи ADCSR, поскольку может быть запрещено отложенное прерывание. Эт о применимо и в случаях использования команд SBI и CBI.
• Bit 3 - ADIE: ADC Interrupt Enable - Разрешение прерывания ADC
При установленных в состояние 1 бите ADIE и I-бите регистра SREG ак тивируется прерывание по завершению преобразования ADC.
• Bits 2..0 - ADPS2..ADPS0: ADC Prescaler Select Bits - Выбор коэффициента предварительного деления
Данные биты определяют коэффициент деления частоты XTAL для получения необходимой тактовой частоты ADC.
Таблица 26. Выбор коэффициента предварительного деления
ADPS2 |
ADPS1 |
ADPS0 |
Коэффициент деления |
0 |
0 |
0 |
Без деления |
0 |
0 |
1 |
2 |
0 |
1 |
0 |
4 |
0 |
1 |
1 |
8 |
1 |
0 |
0 |
16 |
1 |
0 |
1 |
32 |
1 |
1 |
0 |
64 |
1 |
1 |
1 |
128 |
РЕГИСТРЫ ДАННЫХ ADC - ADCL и ADCH - (ADC Data Register)
Áèò |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
|
$05 ($25) |
- |
- |
- |
- |
- |
- |
ADC9 |
ADC8 |
ADCH |
$04 ($24) |
ADC7 |
ADC6 |
ADC5 |
ADC4 |
ADC3 |
ADC2 |
ADC1 |
ADC0 |
ADCL |
|
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
Чтение/Запись |
R |
R |
R |
R |
R |
R |
R |
R |
|
|
R |
R |
R |
R |
R |
R |
R |
R |
|
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
По завершении цикла преобразования результат преобразо вания размещается в этих двух регистрах. Важно, чтобы в циклическом режиме сч итывались оба регистра и чтобы регистр ADCL считывался перед считыванием ADCH.
127
ATMEL |
ÊÒÖ-ÌÊ |
Сканирование аналоговых каналов
Поскольку смена аналоговых каналов происходит после зав ершения цикла преобразования в циклическом режиме смена каналов (скани рование каналов) может происходить без прерывания преобразователя. Обычно для в ыполнения смены канала выполняется прерывание по завершению преобразования. Од нако пользователю необходимо принять к сведению следующее соображение: пре рывание активируется сразу по готовности результата к считыванию. В циклическо м режиме следующее преобразование начинается через один тактовый цикл ADC пос ле активации прерывания. Если содержимое ADMUX будет изменено в течение эт ого одного тактового цикла, то новые установки будут задействованы при начале нового преобразования. Если же изменение состояния ADMUX произойдет позднее этого т актового цикла, то при активированном преобразовании будут использоваться предшествовавшие установки.
Технология подавления шума ADC
Цифровые схемы самого микроконтроллера ATmega603/103 и внешние цифровые схемы генерируют электромагнитное излучение, к оторое может влиять на точность измерения аналоговых сигналов. Если точность пр еобразования является определяющей, то можно использовать следующие приемы:
1.Аналоговая часть ATmega603/103 и все аналоговые компоненты устройства должны иметь на печатной плате отдельную аналоговую землю. Эта а налоговая земля должна иметь соединение с цифровой землей в одной точке печатной платы.
2.Проводники аналоговых сигналов необходимо делать как можно короче, стремиться проводить их поверх аналоговой земли и, по возможности, ка к можно дальше от дорожек высокоскоростных цифровых сигналов.
3.Вывод AVCC микроконтроллеров ATmega603/103 должен подключаться к напряжению питания VCC через RC цепочку, как показано на Рис. 47.
4.Для подавления шума CPU можно использовать функцию подавления шума ADC
5.Åñëè какие-то выводы PORTF используются в качестве цифровых входов, то важно, чтобы в процессе преобразования на этих выводах не происх одили переключения.
Характеристики ADC по постоянному току
Температура окружающей среды TA= от -40°C до 85°C
Oбознач. |
Параметр |
Условия |
Min |
|
Typ |
Max |
Ед. измерения |
|
Разрешение |
|
|
|
10 |
|
Áèòû |
|
Интегральная нелинейность |
VREF > 2V |
|
|
0,2 |
0,5 |
LSB |
|
Дифференциальная нелинейность |
VREF > 2V |
|
|
0,2 |
0,5 |
LSB |
|
Ошибка нуля (смещение) |
|
|
|
1 |
|
LSB |
|
Время преобразования |
|
70 |
|
|
280 |
ìêñ |
|
Тактовая частота |
|
50 |
|
|
200 |
êÃö |
AV |
Аналоговое напряжение питания |
|
V |
-0,3(1) |
|
V +0,3(2) |
 |
CC |
|
|
CC |
|
|
CC |
|
VREF |
Напряжение сравнения |
|
AGND |
|
AVCC |
 |
|
RREF |
Входное сопротивление |
|
6 |
|
10 |
13 |
êÎì |
|
входа сравнения |
|
|
|
|
|
|
RAIN |
Входное сопротивление |
|
|
|
100 |
|
ÌÎì |
|
аналогового входа |
|
|
|
|
|
|
Примечания: 1. Минимальное при AVCC=2,7B 2. Максимальное при AVCC=6,0B
128