Гребнев В.В. - Микроконтроллеры семейства AVR фирмы Atmel (1044208), страница 14
Текст из файла (страница 14)
В микроконтроллерах других типов элементы схемы ЧК и М и разряд А1ХВС в регистре АСВК отсутствуют. В микроконтроллере типа тп163, кроме того, имеется возможность подключать к входу "-" базового компаратора входы аналого-цифрового преобразователя АВСО...АВС7. Подключение выполняется ири нулевом состоянии разряда АРЕХ регистра АОСТ (№ $06) и единичном состоянии разряда АСМЕ регистра ЯГ10К (№ $30).
Выбор подключаемого входа определяется комбинацией состояний разрядов М1)Х2, М1)Х1 и ЬШХО регистра А1)М(1Х (№ $07). В табл. 3.19 указаны выводы микроконтроллера, используемые в качестве входов А1ХО и А1Х1, у микроконтроллеров разных типов. 7аблица 3.19 * — АС+, АС- 3.9. Программируемый аппаратный модулятор Программируемый апиаратньш модулятор входит в состав периферийных устройств микроконтроллера тпиа ~28. Программируемый аппаратный модулятор включен между выходом разряда РОКТА,2 регистра РОКТА (№ $1В) и внешним выводом РА2 порта РА, Вывод РА2 работает только в режиме выхода. Состояние разряда РА2НС регистра управления РАСК (№ $1А) определяет в данном случае не направление передачи бита, а пагрузочную способность выхода.
При РА2НС=О ток 1о может иметь величину до 15 мЛ (ири 1сс=1,8 В), при РА2НС =1 он может быть увеличен до 25 мА (при асс = 1,8 В). 78 Глава 3 В состав модулятора входит регистр управления МОЙСЯ (№ $02), с помощью которого задаются длительность импульса и скважность импульсного сигнала на выходе РА2. Работа модулятора связана с работой таймера-счетчика Т/СО типа А, который у микроконтроллера типа ~28 имеет некоторые особенности, На рис. 3.20 изображены структурные схемы таймера-счетчика Т/СО и модулятора и показаны элементы порта РА, участвующие в работе модулятора. Рис.
3.20 Управляющая импульсная последовательность с заданными параметрами формируется в пересчетной схеме модулятора (ПСМ), на один из входов которой поступает тактовый сигнал микроконтроллера (СК). Длительность интервала, в течение которого сигнал на выходе РА2 имеет низкий уровень, определяется по формуле: ~он = иск где (ОХТ1М) — число, код которого записан в разрядах ОХТ1М4— ОХТ1МО регистра МОРСЫ; Рск — тактовая частота микроконтроллера. Работа периферийных устройств Скважность сигнала ВС, определяемая по формуле ВС = — ' 100%, где Т вЂ” период следования импульсов, задается кодом, записанным в разрядах МСОХЕ2 — МСОХРО регистра МОДИСК в соответствии с табл. 3.20.
В таблице указаны также состояние разряда РОКТА2 регистра РОКТА, период следования импульсов Т и состояние выхода РА2 (1. — низкий уровень, Н вЂ” высокий уровень, ИМП вЂ” импульсная последовательность.) Табли ца 3.20 "— т„=1~Гсх Выходной сигнал с заданной с использованием разряда РА2НС регистра РАСК допустимой величиной тока нагрузки формируется на выходе управляющей схемы модулятора (УСМ). В таймере-счетчике Т/СО пересчетная схема ПС делит частоту тактового сигнала на б4, 256 и 1024.
Сигнал с трех выходов пересчетной системы поступает в схему управления СУ1, в которую также поступают сигнал с вывода ТО, тактовый сигнал микроконтроллера и сигнал с дополнительного выхода пересчетной схемы модулятора. Схема управления СУ1 в зависимости от комбинации состояний разрядов СЯОΠ— СЯ02 регистра ТССКО (№ $ 04) передает один из сигналов на счетный вход базового счетчика ТСМТО (№ $03) в соответствии с табл.
3.21. При переполнении базового счетчика устанавливается в единичное состояние разряд ТОЪ'0 регистра 1ЕК (№ $05) и прн единичном состоянии разряда Т01ЕО регистра 1СК (№ $0б) в блок прерываний поступает запрос прерывания Т/СО ОЧЕ 80 Глава 3 Кроме того, сигнал переполнения поступает в схему управления СУ2, которая в зависимости от комбинации состояний разрядов ООМОО и ООМ01 регистра ТССКО изменяет состояние разряда РОЙТ2 регистра РОСТА в соответствии с табл.
3.22. Таблица 3.21 Таблица 3.22 При установке в единичное состояние разряда ЕЛО регистра ТССКО сбрасывается в пулевое состояние базовый счетчик ТСХТО и поступает сигнал переполнения в схему СУ2. Запрос прерывания Т/СО ОЪ"Е при этом не формируется. Разряд Г01'О сбрасывается в нулевое состояние аппаратно. 3. 10. Блок прерываний Блок прерываний принимает запросы прерывания и организует переход к выполнению определенной прерываюшей программы. Запросы прерывания поступают из внешних источников и пз источников, расположенных в различных устройствах микроконтроллера.
В качестве входов для приема запросов из внешних источников используются выводы параллельных портов ввода-вывода, для которых эта функция является альтернативной. При выполнении альтернативной функции вывод порта имеет альтернативное имя 1ХТх (х = О, 1, ..., 7). 81 Работа периферийных устройств Запрос прерывания из внешнего источника может быть представлен низким уровнем сигнала (?.), переходом от высокого уровня к низкому (Н1), переходом от низкого уровня к высокому (? Н) или переходом любого направления (?.Н/Н?.).
Выбор способа представления определяется комбинацией состояний разрядов 1ЯСхО и 1ЯСх? в регистре МС?)СЕ (№ Ю5), в микроконтроллере типа п1103 — в регистре Е1СК (№ %ЗА). В табл. 3.23 указаны способы представления запроса прерывания при разных комбинациях состояний названных разрядов. Табли ца 3.23 В микроконтроллерах серии АТ6пу в качестве запроса прерывания м~~ут исп~ль~~в~т~с~ люб~~ изменения значения ~и~и~~~ (для микроконтроллеров тшга 111, И2, г15) или низкий уровень сигнала (для микроконтроллера типа г28) на любом вьиюдс порта РВ. Запрос прерывания, формпрусмый при этом, имеет имя 1/О Р1ХЯ, а в микроконтроллере типа г28 — Ш Р1ХЯ. В табл.
3.24 указаны выводы параллельных портов, выполняющие альтернативную функцию приема запроса прерывания из внешнего источника, и отмечены особенности представления запроса прерывания у микроконтроллеров разных типов. Любой запрос прерывания поступает в блок прерываний, если прерывания в микроконтроллере разрешены (1 = ЯКЕС.7 = 1) и разрешено прерывание по данному запросу Прерывание по отдельному запросу разрешено, если в единичном состоянии находится маскирующий разряд (МАЯК) для дашюго запроса прерывания, расположенный в одном из регистров ввода-вывода. При появлении запроса прерывания устанавливается в единичное состояние флажковый разряд (Н.АС) для данного запроса прерывания, расположенный в одном из регистров ввода-вывода.
Состояние флажкового разряда опрашивается аппаратно и, кроме того, может быть опрошено программными средствами. В табл. 3.25 указаны устройства, в которых расположены источники запросов прерывания, приведены в виде дроби имена маскиру|ощих и флажковых разрядов (в числителе) и регистров ввода-вывода, в которых они расположены, (в знаменателе) у микроконтроллеров разных типов. ° Э В ~ В 82 Глава 3 Табли ца 3.24 (1) — кроме ).Н/Н).;(2) — только (.Н!Н);(3) — только 0 Табли ца 3.25 Устройство Запрос прерывания Е).А0 МАЗК СР0, Ч)(ОТ ВЕЗЕТ 1ЙТЕО!И ЕЙ 1ИТЕ1/ИЕЙ 1ЙТО 1ЙТ1 !КТО!ИМЯК 1ИТ1/ИМЯК 1ИТΠ— 1ИТЗ/Е)МЗК !ЙТ4 — 1ЙТ?IЕ)МЯК 1ЙТΠ— ПЧТЗ 1ИТ4 — !ИТ? 1МТЕ4 — !РТЕ?/ Е)ЕЙ Внешние Т!С2 Т(С1 ОСЕО/Т)ЕВ ТОЧО!Т1 ЕВ Т(СО СОМР Т!СО ОЧЕ ОС1ЕО/Т)МЯК ТО! ЕО!Т! МЯК Т!СО ЯР! ЯР)Е/ЯРЯЙ 8Р! ЗТС ЯР!Е/ЗРСВ 0АВТ АОС А01Е/АОСЗВ АПЕ/АОСЯВ АОС СС ЕЕРЙОМ ЕЕ ЙОУ ТФ(81 Т!()(!ОТ(ТУЧСВ Тй(81 ' — у МК типа 4433 ОС!Е1 и ОСЕ1 '* — у МК типа 163 0СВ - 0СЯНВ, 0ЯН - 0СЯВА 1/О Р)ИЯ Ш Р!ИЯ ТIС2 СОМР ТIС2 ОЧЕ Т!С1 САРТ Т!С1 СОМРА Т(С1 СОМРВ Т!С1 ОЧЕ 0АВТ ВХС 0АВТ 00ВЕ 0АВТ ТХС РС1Е/ИМЯК ШЕ/)СЙ ОС)Е2!Т)МЗК ТО) Е2!Т1 МЗК Т(С1Е1!Т1МЯК ОС1Е1А/Т)МЯК * ОС)Е1 В/Т! МЯК ТО1Е1!Т)МЗК ЙХС! Е/0СВ "* 00Й! Е/0СВ ТХС1 Е/0СВ ЕЕВ! Е/ЕЕСЙ АС1Е/АСЗВ ТУ)/1 Е(ТМIСЙ РС)Е/ИЕЙ ОСЕ'2/Т1ЕВ ТОЧ2!Т1 ЕЙ 1СЕ1/Т1ЕВ ОСЕ1А/ПЕЙ * ОСЕ1В/Т1ЕЙ ТОЧ1ГПЕЙ ВХС/08Й ** 00ВЕ/08Й ТХС!08В вз Работа периферийных устройств При поступлении запроса блок прерываний организует аппаратный безусловный переход к выполнению команды, адрес которой (вектор прерывания) однозначно связан с именем запроса прерывания.
По этому адресу в микроконтроллерах серий АТг1пу и АТ90 должна быть записана команда безусловного перехода с мнемокодом К~МР 1 (№ 85), машинный код который имеет формат "слово", а в микроконтроллерах серии АТшеяа может быть записана команда безусловного перехода с мнемокодом 1МР К машинный код которой имеет формат "два слова".
По этой команде выполняется программный безусловный переход к первой команде соответствующей прерывающей программы, которая может быть расположена в любом месте в Р1айКОМ. При одновременном поступлении в блок прерываний нескольких запросов в блоке выделяется запрос с наиболее высоким приоритетом среди всех поступивших и выполняется переход по адресу, соответствующему этому запросу. В табл.
3.26 и 3.27 указаны в шестнадцатеричном коде адреса (векторы прерывания), по которым совершается аппаратный переход у микроконтроллеров разных типов. Высший приоритет имеет запрос прерывания КЕБЕТ. Приоритет других запросов убывает в порядке увеличения адреса, по которому совершается переход. У микроконтроллеров разных типов запросам прерывания с одинаковым именем соответствуют разные векторы перехода.
Таблица 3.26 При переходе к выполнению прерывающей программы разряд 1 в регистре КУКЕС аппаратно сбрасывается в нулевое состояние и прерывания по всем запросам оказываются запрещенными. Разряд 1 устанавливается в единичное состояние при выполнении команды возврата из прерывающей программы с мнемокодом КЕТ1 (№ 90). Разряд 1 Глава 3 84 может быть установлен в единичное состояние программно по команде ЯЕ1 в прерывающей программе. Программа, которая выполняется прп пуске микроконтроллера и по запросу КЕБЕТ, не содержит команды КЕТ1 и для выполнения прерываний должна содержать команду ЯЕ1.