Гребнев В.В. - Микроконтроллеры семейства AVR фирмы Atmel (1044208), страница 16
Текст из файла (страница 16)
4.3. Программирование осуществляется с использованием команды ЯРМ (Мв 131), выполнение которой зависит от кода, записанного в регистр ЯРМСК (Мв $37) не ранее, чем за четыре такта до выборки кода команды 5РМ из Г1айКОМ (табл. 2.15). Программирующая программа может записывать коды в обе секции Г1айКОМ и модифицировать саму себя.
Для защиты секций Г1айКОМ кроме битов защиты 1.В1 и 1.В2 в микроконтроллере типа т163 используются дополнительные биты защиты — В1.В01 и В1.В02 для защиты секции АРЯ и В1В11 и В1В12 для защиты секции В1.5. 4.2. Пуск и перезапуск микроконтроллера Пуск микроконтроллера происходит при подаче напряжения питания на его выводы ЧСС и КЕЯЕТ (Рожек-Оп Везег, РОК). Перезапуск в процессе работы выполняется при появлении на выводе КЕЯЕТ нулевого уровня сигнала с последующим возвращением к высокому уровгпо (Ехйета1 Яехег, ЕХК) и при переполнении сторожевого таймера (ЬагсЬИоя' Яеяе~, ВГРТК).
В микроконтроллерах типа С12, ~15, 4433 и пт163 перезапуск происходит также при понижении напряжения питания на выводе Ъ'СС ниже определенного уровня с последующим возвращением к рабочему уровню (Вюж~п-Оиг Яекег, ВОК). При пуске и перезапуске принимает активное значение внутренний сигнал 1пге~ла! ЯезеГ, который сохраняет это значение в течение определенного интервала времени (Югам-(1р рте). При активном значении сигнала все регистры ввода-вывода переводятся в исходное состояние и в счетчик команд (РС) записывается код числа О. По истечении интервала 5гагг-(1р Т1те микроконтроллер приступает к выполнению программы, начиная с команды, записанной в Г1авЫОМ по нулевому адресу. В исходном состоянии регистров ввода-вывода все разряды регистров находятся в нулевом состоянии. Исключением являются: ° регистр состояния ()Ж или БСЖА (М $0В) в порте ()АКТ, в который заносится код $20 (()РКЕ = 1); ° регистр управления 11СК или УСЖВ (Хв $0А) в порте 1)АКТ, в который заносится код $02 (КХВ8 = 1); ° регистр ОСК1В (Мв $2Р) в таймере-счетчике Т/С1 микроконтроллера типа г15, в который заносится код $ГГ; Работа мнкроконтроллера ° регистр БРРК в порте ЯР1, исходное состояние которого является неопределенным; ° регистры ЕЕАК, ЕЕАК1.
и ЕЕАКН (№№ $1Е и $1Е) в блоке управления ЕЕРКОМ микроконтроллеров типа 112, т15, 2323, 4423, 4433, 8535 и пт163, исходное состоянис которых является неопределенным; и регистр РОКТА (№$1В) микроконтроллера типа 128, в который заносится код $04. На рис. 4.2. изображена обобщенная структурная схема цепей, формирующих сигнал 1псе~па1 Лезег.
Элементы и связи, изображенные пунктирными линиями, имеются не у всех микроконтроллеров. мсиы ! ! ! ! А-~С Г5твт СКБН Р!!с. 4.2 В табл. 4.4 отмечено наличие таких элементов у микроконтроллеров разных типов и указаны их характеристики. На рис. 4.3 изображены временные диаграммы напряжения на выводах микроконтроллера при пуске (РОК), перезапуске с использованием вывода КЕБЕТ (ЕХК) и перезапуске при понижении напряжения питания (ВОК). При пуске микроконтроллера (рис. 4.3,а) при достижении напряжением питания уровня карота с помощью схемы РОКС устанавливается в единичное состояние триггер Т и сигнал 1пгепга/ Леьег принимает активное значение. При достижении уровня $'нвт запускается схема 92 глава 4 временной задержки, выполненная иа базе счетчика (Соилов). По истечении врсмсш! задержки (.гс!1;т сигнал на выходе триггера принимает пассивное значение.
Таблица 4,4 * — МСИСЯ (Ь1о$07) Коо=СОп5~ "оо 1еоо оол !пав Ре в,/ Р11С. 4.3 При перезапуске с использованием вывода КЕЯЕТ (рис. 4,3,6) активное значение сигнала 1пгегла1 Яеяег устанавливается с использованием схемы ЕХКС ири переходе напряжения на выводе КЕЯЕТ через пороговое значение Г~вт в сторону понижения напряжения, а схема задержки запускается при переходе зтого напряжения через значение 17ввт в сторону повышения. При исреиолиен1ш сторожевого таймера ЪИЭТ формируется короткий имичльс, ио иеред1гему фроитч которого чст1игавливастся активное зиа" чение сигнала, а по заднему фронту запускается схема задержки. При на.шчии схемы ВОК.С !Табл, 4.4) и нулевом значении установочного бита ВОВЕК активное значение сигнала Тпгепги1 телег устанавливается при переходе напряжения на входе чСС через пороговое значение Гвот в сторону понижения, а запуск схемы задержки происходит при переходе напряжения через пороговое значение Гвстг в сторону повышения.
Уровень Гвог может иметь одно из двух зиачешш в зависимости от значения установочного бита ВОВ1Еч'Е1. 93 работа микроконтроллера В микроконтроллерах, не имеющих схемы ВОКС (табл. 4.4), после выключения напряжения питания повторный пуск микроконтроллера путем подачи напряжения питания (РОК) возможен, если напряжение питания на выводе ЪСС упало ниже уровня Ъротт.
Если этот уровень не пройден, микроконтроллер начнет выполнять случайную произвольную программу (рис. 4,в). Ориентировочные значения пороговых уровней указаны в табл. 4.5. грабли ца 4.5 Величина временной задержки гтог-г может быть постоянной или задаваться разработчиками путем измснсния значений установочных битов СКБЕ1, которых у микроконтроллеров разных типов может быть от двух до четырсх, и установочного бита ГЯТКТ, а у микроконтроллера типа т103 — установочных битов ЯЗТ1 и Я~3ТО (табл. 4.4).
В качестве сигнала, подаваемого на счстный вход счетчика Соипг, могут использоваться сигнал генератора сторожевого таймера ( ЖРТ или тактовый сигнал микроконтроллсра СК. Выбор источника сигнала выполняется с помощью схемы управления СУ1 путем нзменешгя значений установочных битов СЮЕ1. Величина задержки гтопт может изменяться от нескольких десятков мкс до нескольких сотен мс.
В микроконтроллерах, имеющих регистр МСГЖ (М 334), имеется возможность программными средствамп определять способ запуска/перезапуска микроконтроллера, по которому началось выполнение текущей программы. В регистре МСБЯК в этих целях используются 2, 3 или 4 разряда (табл. 4.4). При наличии четырех или трех разрядов способам запуска РОК, ЕХК, ВГРТК и ВОК соответствует единичное состояние разрядов РОКК ЕХТКГ ЮРКА и ВОКГ регистра МС~1Ж соответственно.
При наличии двух разрядов (РОКЕ и ЕХТКЕ) способ записи (РОК, ЕХК или ВГРТК) определяется путем опроса состояния разрядов в начале запущенной/перезапущенной программы со сбросом обоих разрядов в пулевое состояние. Если ири опросе РОКЕ = 1, был пуск РОК, если ЕХТКГ - 1, был перезапуск ЕХК, если оба разряда имеют нулевое состояние, был перезапуск %РТК. При медленном нарастании напряжения питания на входе 1'СС после включения источника напряжения питания в процессоре (СР()) и ЕЕРКОМ выполняются случайные операции, в результате которых 94 Глава 4 может произойти произвольная запись случайного байта в ЕЕРКОМ, Для предотвращения этого явления следует удерживать нулевой уровень сигнала на выводе КЕЯЕТ до появления рабочего значения напряжения на выводе ЧСС.
Эту операцию можно выполнить с помощью внешней схемы формирования сигнала КЕБЕТ (Втои~п-Оиг ЕМесго~; ВОР). 4.3. Энергосберегающие режимы рабаты Микроконтроллеры семейства АЧК могут быть переведены в энергосберегающие режимы работы. У микроконтроллеров всех типов возможны два энергосберегающих режима — режим холостого хода (И1е Моде, 1М) и режим пониженного энергопотребления (Рои~ег-Уонип МоЫе, РОМ).
Микроконтроллеры, имеющие таймеры-счетчики с режимом счета реального времени (8535, т163, т103), кроме того, могут быть переведены в режим энергосохранения (Ротаег Юане Лободе, РЯМ). Микроконтроллеры типа с15 и гп163, имеющие аналого-цифровой преобразователь, кроме того, могут переводиться в режим подавления помех работе АЦП (АВС АГоие ЯеЫисйоп Моде, АХКМ). Переход в энергосберегающий режим происходит в ходе программы при выполнении команды с мнемокодом 51.ЕЕР если разряд ЯЕ регистра МСБСК (№335) установлен в едшшчное состояние. Выбор режима в микроконтроллерах, которые могут находиться в двух энергосберегающих режимах, определяется состоянием разряда БМ регистра МСБСК. При 5М - 0 устанавливается режим холостого хода, при 5М = 1 — режим пониженного энергопотребления.
В микроконтроллерах, которые могут находиться в трех и четырех энергосберегающих режимах, выбор режима определяется комбинацией состояний разрядов ЯМ1 и ЯМО регистра МС1.1СК в соответствии с табл. 4.6. Табли ца 4.6 Выход из энергосберегающего режима происходит при поступлении разрешенного запроса прерывания цли перезапуске микроконтроллера. При выходе по запросу прерывания выполняется прерывающая программа и далее совершается переход к команде, расположенной после команды 51ЕЕР по которой произошел переход в данный режим. Работа микроконтроллера В режиме холостого хода (1М) процессор остановлен, периферийные устройства продолжают работать, коды в регистрах общего назначения, ячейках ЯКАМ и регистрах ввода-вывода, расположенных в пассивных периферийных устройствах, сохраняются неизменными.
Ток потребления 1сс у микроконтроллеров разных типов уменьшается в 2 — 4 раза. Если аналоговый компаратор не используется для выхода нз режима, разряд АС0 в регистр~ АСЬЕ (М Ю8) ддя уменьшения тока потребления должен быть установлен в единичное состояние. В режиме пониженного энергопотребления (РРМ) остановлен процессор и генератор тактового сигнала. Периферийные устройства, кроме сторожевого таймера и блока прерываний, нс работают. Коды в регистрах общего назначения, ячейках ЖАМ и регистрах ввода-вывода сохраняются неизменными.