Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Микропроцессорные системы управления электроприводами и технологическими комплексами. Учебное пособие
.pdf
Рис. 1.9. Упрощенное устройство синхронизации микроконтроллеров
семейства Mega
clk
– тактовый сигнал подсистемы ввода-вывода, используется
I/O
большинством периферийных устройств, таких как таймеры/счётчики
и интерфейсные модули. Этот сигнал используется также подсистемой
внешних прерываний, однако ряд внешних прерываний может генерироваться и при его отсутствии;
clk
– тактовый сигнал для управления FLASH-памятью про-
FLASH
грамм. Этот сигнал формируется одновременно с тактовым сигналом
центрального процессора;
– тактовый сигнал асинхронного таймера/счётчика. Тактиро-
clk
ASY
вание осуществляется непосредственно от внешнего кварцевого резонатора с частотой 32 768 Гц, что позволяет использовать определённый таймер/счётчик для реализации часов реального времени и в спящем режиме;
clk
– тактовый сигнал модуля АЦП. Наличие этого тактового
ADC
сигнала позволяет осуществлять преобразования при остановленном
21

центральном процессоре и подсистеме ввода-вывода. При этом значительно уменьшается уровень помех, формируемых микроконтроллером, и увеличивается точность преобразования.
Как было отмечено ранее, источником тактового сигнала может
быть внешний кварцевый резонатор, внутренняя или внешняя RC-цепь,
а также внешний сигнал. В табл. 1.12 отмечена возможность работы
различных микроконтроллеров семейства Mega от
того или иного источника тактового сигнала. Так как архитектура микроконтроллеров
полностью статическая, то возможна любая минимальная тактовая частота вплоть до пошагового режима работы. Максимальная частота
определяется конкретной моделью микроконтроллера.
Таблица 1.12
Источники тактового сигнала
Источник тактового сигнала
Atmega8x
Atmega8515x
Atmega16x
Atmega161x
Atmega162x
Atmega163x
Atmega32x
Atmega323x
Atmega64x
Генератор с внешним резонатором Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ
Генератор с внешней RC-цепью Δ Δ Δ – – Δ Δ Δ Δ Δ
Atmega128x
Генератор с внутренней RC-цепью Δ Δ Δ – Δ Δ Δ Δ Δ Δ
Внешний сигнал синхронизации Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ
Во всех моделях, за исключением моделей ATmega161x, выбор режима работы осуществляется программированием конфигурационных
ячеек (FUSE bits) CKSEL3…0. Требуемые значения для каждого режима работы приведены в табл. 1.13.
На рис. 1.10 показан пример подключения кварцевого или керамического резонатора.
22

Выбор режима работы тактового генератора
Режимы работы
ATmega162x
CKSEL3…0
ATmega163x,
ATmega323x
Таблица 1.13
Остальные
Кварцевый или керамический
резонатор
Низкочастотный кварцевый
резонатор
Внешняя RC-цепь – 0111…0101 1000…0101
Внутренняя RC-цепь* 0010 0100…0010 0100…0001
Внешний сигнал синхронизации
Зарезервировано 0011,0011 – –
Примечание: * – режим по умолчанию
1111…1000 1111….1010 1111…1010
0111…0100 1001…1000 1001
0000 0001…0000 0000
Рис. 1.10. Схема подключения кварцевого
или керамического резонатора
23

Аналого-цифровой преобразователь. Модуль 10-разрядного ана-
лого-цифрового преобразователя (АЦП) последовательного приближения входит в состав практически всех моделей микроконтроллеров.
Основными характеристиками АЦП являются:
– абсолютная погрешность ±2 младших значащих разряда;
– интегральная нелинейность ±0,5 младших значащих разряда;
– быстродействие – до 15 000 выборок в секунду.
На выходе модуля АЦП всех моделей присутствует восьмиканальный аналоговый мультиплексор, позволяющий выполнять
выборку по
восьми каналам с несимметричными входами. При этом у микроконтроллеров ATmega8x имеется только шесть каналов выборок сигнала. Два канала (ADC4 и ADC5) являются восьмиразрядными. В моде-
лях Atmega16x, Atmega32x, Atmega64x, Atmega128x входы АЦП могут
также объединяться попарно для формирования до 13 каналов с дифференциальными входами. При этом два канала имеют возможность
20- и 200-кратного предварительного усиления сигнала на входе. При
коэффициентах усиления 1× и 20× действительная разрешающая способность составляет восемь разрядов, а при коэффициенте усиления 200 – семь разрядов.
В качестве источника опорного напряжения для аналого-цифрового
преобразователя может использоваться напряжение питания микроконтроллера либо источник
опорного напряжения (внутренний или
внешний).
Аналого-цифровой преобразователь имеет два режима работы:
– режим одиночного преобразования, когда запуск каждого преобразования инициируется пользователем;
– режим непрерывного преобразования, когда запуск преобразования осуществляется непрерывно либо через определённые интервалы
времени.
Работа модуля АЦП. Структурная схема модуля аналого-цифро-
вого преобразователя представлена на рис. 1.11. Элементы схемы, выделенные на рисунке серым цветом, и связанные с ними сигналы присутствуют не во всех моделях, а только в Atmega16x, Atmega32x,
Atmega64x, Atmega128x. А в остальных же прямой вход компаратора
выборки/хранения подключен
непосредственно к выходу мультиплек-
сора (последнее на рисунке отмечено пунктиром).
Регистры, используемые для управления модулем АЦП в различных моделях, приведены в табл. 1.14.
24

Рис. 1.11. Структурная схема модуля аналого-цифрового преобразователя
25

Регистры управления модулем АЦП
Таблица 1.14
Регистр Адрес
Atmega8x
Atmega16x
Atmega163x
Atmega323x
Atmega32x
Atmega64x
Atmega128x
ADCSR $06($26) ■ – ■ ■ – – –
Регистр управления и со-
Описание
стояния
ADCSR
$06($26) – ■ – – ■ ■ ■
A
ADCSR
($8E) – – – – – ■ –
B
ADMUX $07 ($27) ■ ■ ■ ■ ■ ■ ■
Регистр управления и состояния А
Регистр управления и состояния В
Регистр управления мультиплексором
SFIOR
$30 ($50) ■ ■ – – ■ – –
$20($40) – – – – – ■ ■
Регистр специальных
функций
Формат и данные регистров описываются следующими таблицами:
ADCSRA – табл. 1.15 и 1.19,
ADCSR – табл. 1.16,
ADMUX – табл. 1.17 и 1.18.
Таблица 1.15
Формат регистра ADCSRA
Номер
регистра
7 6 5 4 3 2 1 0
Микро-
контроллер
Название
регистра
Чтение R /
запись W
Начальное
значение
ADEN ADSC ADFR ADIF ADIE ADPS2 ADPS1 ADPS0
R/W R/W R/W R/W R/W R/W R/W R/W
0 0 0 0 0 0 0 0
26
ATmega8x,
//-//-//163x,
//-//-//323x,
//-//-//128x

Формат регистра ADCSR
Таблица 1.16
Номер
регистра
Название
регистра
Чтение R /
запись W
Начальное
значение
Номер
регистра
Название
регистра
Чтение R /
запись W
Начальное
значение
7 6 5 4 3 2 1 0
ADEN ADSC ADATE ADIF ADIE ADPS2 ADPS1 ADPS0
R/W R/W R/W R/W R/W R/W R/W R/W
0 0 0 0 0 0 0 0
Таблица 1.17
Формат регистра ADMUX
7 6 5 4 3 2 1 0
REFS1 REFS0 ADLAR – MUX3 MUX2 MUX1 MUX0
R/W R/W R/W R R/W R/W R/W R/W
0 0 0 0 0 0 0 0
Таблица 1.18
Разряды регистра ADMUX
Микро-
контроллер
ATmega16x,
//-//-//32x,
//-//-//64x
Микро-
контроллер
ATmega8x
Разряд Название Описание Модель
7,6 REFS1: REFS0 Выбор источника опор-
Все модели
ного напряжения
6 ADLAD Выравнивание резуль-
Все модели
тата преобразования
5 – Зарезервировано ATmega8x
4 MUX4 Выбор входного канала Остальные
3..0 MUX3… MUX0 Выбор входного канала Все модели
27

Таблица 1.19
Разряды регистра ADCSRA (ADCSR)
Разряд Название Описание
7 ADEF Разрешение АЦП (1 – включено, 0 –
выключено)
6 ADSC Запуск преобразования (1 – начать пре-
образование)
5 ADFR* (ADATE**) Выбор режима работа АЦП
4 ADIF Флаг преобразования от компаратора
3 ADIE Разрешение прерывания от компаратора
2..0 ADPS2:ADPS0 Выбор частоты преобразования
* В моделях ATmega8x, ATmega163x и ATmega323x
** В моделях ATmega16x, ATmega32x и ATmega64x
Формат регистров ADCSRB и SFIOR приведён в табл. 1.20 и 1.22
соответственно.
Таблица 1.20
Формат регистра ADСSRB
Номер
регистра
Название
регистра
Чтение R /
запись W
Начальное
значение
7 6 5 4 3 2 1 0
– – – – – ADTS2 ADTS1 ADTS0
R R R R R R/W R/W R/W
0 0 0 0 0 0 0 0
Микроконт-
роллер
ATmega64x
Для разрешения работы АЦП необходимо записать логическую
единицу в разряд ADEN регистра ADCSR, а для выключения – логический ноль. Если АЦП будет выключено во время цикла преобразования, то преобразование, естественно, завершено не будет, и в регистре
АЦП останется результат предыдущего преобразования.
28

В микроконтроллерах Atmega16x, Atmega32x, Atmega64x,
Atmega128x состоянием разряда ADFR определяется режим работы
АЦП. Если ADFR = 1, то АЦП работает в режиме непрерывного преобразования, и соответственно запуск каждого нового преобразования
выполняется автоматически после окончания текущего. Если же
ADFR = 0, то АЦП работает в режиме одиночного преобразования.
При этом запуск
осуществляется пользователем по команде.
В моделях Atmega16x, Atmega32x и Atmega64x запуск АЦП возможен не только по команде пользователя, но и по прерыванию от некоторых периферийных устройств в составе микроконтроллера. Для выбора режима работы в этих моделях используется разряд ADATE регистра ADCSR и разряды ADTDS2..0 регистра
SFIOR (ADCSRB в моделях
Atmega64x).
Если разряд ADATE сброшен в ноль, то АЦП работает в режиме
одиночного преобразования. Если же разряд ADATE установлен в единицу, то работа АЦП определяется битами ADTS2..0 в соответствии с
табл. 1.21.
Таблица 1.21
Источник сигнала для запуска преобразования в ATmega16x
ADTS2 ADTS1 ADTS0 Источник сигнала начала преобразования
0 0 0 Режим непрерывного преобразования
0 0 1 Прерывание от аналогового компаратора
0 1 0 Прерывание внешнее INT0
0 1 1 Прерывание по событию «совпадение» тайме-
ра/счётчика T0
1 0 0 Прерывание по переполнению таймера/счётчи-
ка T0
1 0 1 Прерывание по событию «Совпадение» тайме-
ра/счётчика Т1
1 1 0 Прерывание по переполнению таймера/счётчи-
ка Т1
1 1 1 Прерывание по событию «Захват» таймера/
счётчика Т1
29

В табл. 1.22 дано описание регистра SFIOR.
Запуск каждого преобразования в однократном режиме и запуск
первого преобразования в режиме непрерывной работы поизводится
установкой в единицу разряда ADSC регистра ADCSR. Запуск преобразования по прерыванию (модели Atmega16x, Atmega32x, Atmega64x)
осуществляется при установке в единицу флага выбранного прерывания. Разряд ADSC регистра
ADCSR при этом аппаратно устанавливается в единицу. Запуск преобразования при этом также может быть осуществлён установкой в единицу разряда ADSC регистра ADCSR.
Таблица 1.22
Регистр SFIOR
Номер
регистра
Название
регистра
Чтение R /
запись W
Начальное
значение
Название
регистра
Чтение R /
запись W
Начальное
значение
Название
регистра
Чтение R /
запись W
Начальное
значение
7 6 5 4 3 2 1 0
X – – ADHSM X X X X
X R R R/W X X X X
0 0 0 0 0 0 0 0
ADTS2 ADTS1 ADTS0 - X X X X
R/W R/W R/W R X X X X
0 0 0 0 0 0 0 0
ADTS2 ADTS1 ADTS0 ADHSM X X X X
R/W R/W R/W R/W X X X X
0 0 0 0 0 0 0 0
Микрокон-
троллер
ATmega8x
ATmega64x
ATmega128x
ATmega32x
ATmega16x
30
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
