Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Микропроцессорные системы управления электроприводами и технологическими комплексами. Учебное пособие

.pdf
Скачиваний:
5
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
Рис. 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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]