12. Управление системой и сброс
12.1. Отличительные особенности
- Несколько источников сброса для безопасной работы и сброса микроконтроллера
- Сброс при подаче питания
- Внешний сброс
- Сброс сторожевым таймером
- Сторожевой таймер синхронизируется отдельным генератором
- Сброс супервизором питания
- Точные программируемые пороги срабатывания
- Сброс через интерфейс JTAG
- Сброс через интерфейс PDI
- Программный сброс
- Асинхронный сброс
- Сброс выполняется даже при отключенной синхронизации микроконтроллера
- Регистр статуса сброса
12.2. Сброс ядра AVR
В процессе сброса во все регистры ввода-вывода записываются их исходные значения. Содержимое SRAM остается неизменным. Выполнение программы начинается с вектора сброса. По этому вектору необходимо разместить инструкцию перехода по абсолютному адресу (JMP), где размещена процедура обработки сброса. По умолчанию адресом вектора сброса является наименьший адрес Flash-памяти программ, т.е.'0', однако имеет возможность переместить вектор сброса на первый адрес загрузочного сектора.
Сразу после активизации источника сброса все порты ввода-вывода переходят в высокоимпедансное состояние.
Сброс функционирует асинхронно. Это означает, что он выполняется даже при отключенной синхронизации микроконтроллера.
По завершении сброса МК считыванием значения из регистра статуса сброса можно определить источник, вызвавший сброс.
12.3. Источники сброса
12.3.1. Сброс при подаче питания
МК сбрасывается, если напряжение питания VCC становится ниже порогового напряжения схемы сброса при подаче питания.
12.3.2. Внешний сброс
МК сбрасывается при подаче низкого уровня на вывод RESET.
12.3.3. Сброс сторожевым таймером
Если разрешен сброс сторожевым таймером, то по истечении его периода произойдет сброс МК.
Сторожевой таймер синхронизируется отдельным генератором, несвязанный с системной синхронизацией. Подробности см. в разделе 12.4 "Сторожевой таймер (WDT)".
12.3.4. Сброс супервизором питания
МК сбрасывается, если напряжение питания VCC становится менее порога срабатывания супервизора питания BOD и при условии разрешения его работы. Порог срабатывания BOD можно программировать.
12.3.5. Сброс через интерфейс JTAG
Микроконтроллер будет находиться в состоянии сброса до тех пор, пока в регистре сброса цепи сканирования JTAG системы будет хранится логическая единица. Подробности см. в стандарте граничного сканирования IEEE 1149.1 (JTAG).
12.3.6. Сброс через интерфейс PDI
МК можно сбросить через интерфейс программирования и отладки PDI.
12.3.7. Программный сброс
МК может сбросить ЦПУ, если выполнить запись в специальный регистр ввода-вывода с соблюдением строго-привязанной ко времени последовательности действий.
12.4. Сторожевой таймер (WDT)
12.4.1. Отличительные особенности
- 11 выборочных периодов срабатывания из диапазона от 8мс до 8с.
- Два режима работы
- Стандартный режим
- Оконный режим
- Синхронизируется частотой 1 кГц, генерируемой ULP-генератором частоты 32 кГц
- Защита настроек от несанкционированных изменений
12.4.2. Обзор
МК XMEGA A3 оснащены сторожевым таймером (WDT). После активизации WDT работает непрерывно. Чтобы МК не был сброшен сторожевым таймером, в течение заданного интервала времени (период срабатывания) необходимо выполнить инструкцию сброса сторожевого таймера (WDR).
WDT поддерживает оконный режим работы. В этом режиме, инструкцию WDR необходимо выполнить в течение заданного интервала времени, которое называется окном. Минимальная и максимальная границы этого окна задаются программно. Если в течение отведенного интервала времени инструкция WDR не будет выполнена, микроконтроллер будет сброшен.
Для предотвращения несанкционированных изменений настроек WDT у него предусмотрен механизм защиты, который требует соблюдения со строгой привязкой ко времени последовательности записи.
Для максимальной безопасности WDT также поддерживает режим постоянной активности. Данный режим активизируется путем программирования конфигурационного бита. В режиме постоянной активности программа не имеет возможности отключения WDT.
|