Материал: 8-разрядные микроконтроллеры Atmel

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

Источник: https://studfile.net/preview/16521258/