F40-43a (1041604), страница 29
Текст из файла (страница 29)
система остается в режиме ожидания неопределенно долгое время, ожидая внешнегосигнала пробуждения системы. Подробная информация об использовании и настройке сторожевого таймераприведена в разделе 13.7.12.6.2. Режим остановкиУстановка в 1 бита выбора режима остановки (PCON.1) заставит CIP-51 перейти в режим остановкисразу же после завершения команды, которая устанавливает этот бит.
В режиме остановки процессорное ядро итактовые генераторы останавливаются, а значит все цифровые модули выключаются. Каждый аналоговыйпериферийный модуль должен быть отключен индивидуально до перехода в режим остановки. Выйти изрежима остановки можно по внутреннему или внешнему сигналу сброса. При сбросе CIP-51 отработаетпоследовательность действий, обычную для сброса, и начнет выполнение программы с адреса 0x0000.Если включен детектор исчезновения тактовых импульсов (Missing Clock Detector – MCD), то онвызовет внутренний сброс и тем самым выведет МК из режима остановки.
Детектор исчезновения тактовыхимпульсов следует отключить, если необходимо перевести МК в режим остановки на время, большее временизадержки MCD (100 мкс).Ред. 1.3154C8051F040/1/2/3Рисунок 12.25. PCON: Регистр управления электропитаниемR/WБит 7R/W-R/W-R/W-R/W-R/W-R/WSTOPR/WIDLEБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000000SFR Адрес: 0x87SFR страница: ВсеБит 7-2: Зарезервированы.Бит 1: STOP: Выбор режима остановки.Установка в 1 этого бита переведет CIP-51 в режим остановки. Этот бит всегда будет читаться как ‘0’.1: Переход в режим пониженного энергопотребления. (Отключение внутреннего тактового генератора).Бит 0: IDLE: Выбор режима ожидания.Установка в 1 этого бита переведет CIP-51 в режим ожидания. Этот бит всегда будет читаться как ‘0’.1: Переход в режим ожидания. (Отключение тактирования процессорного ядра, однакотактирование таймеров, модулей прерываний, последовательных портов и аналоговыхмодулей остается включенным)155Ред.
1.3C8051F040/1/2/3ПримечанияРед. 1.3156C8051F040/1/2/313. ИСТОЧНИКИ СБРОСАСхема сброса позволяет легко перевести МК в предопределенное по умолчанию состояние. Припереходе к этому состоянию сброса происходит следующее:- CIP-51 останавливает выполнение программы;- регистры SFR инициализируются значениями по умолчанию;- выводы внешних портов устанавливаются в известное состояние;- прерывания и таймеры запрещаются.Все регистры SFR принимают значения по умолчанию. В подробном описании каждого регистра SFRприведено значение, загружаемое в этот регистр при сбросе. Содержимое внутренней памяти данных неизменяется при сбросе и ранее сохраненные данные остаются неизменными. Однако, т.к. регистр указателястека сбрасывается, стек фактически теряется, хотя данные в нем не изменяются.Защелки портов ввода/вывода сбрасываются в состояние 0xFF (все логические единицы), активируявнутренние слаботоковые подтяжки, которые удерживают на внешних портах ввода/вывода высокийлогический уровень.
Следует иметь ввиду, что слаботоковые подтяжки отключаются во время сброса ивключаются, когда МК выходит из состояния сброса. Это позволяет уменьшить энергопотребление, когда МКудерживается в состоянии сброса. Если источником сброса является схема слежения за напряжением питания,то на выводе /RST удерживается низкий логический уровень до истечения таймаута сброса по питанию.При выходе из состояния сброса МК использует внутренний тактовый генератор, работающий наминимальной тактовой частоте.
Программный счетчик (РС) сбрасывается и выполнение программы начинаетсяс адреса 0x0000. Информация о выборе и настройке источников системного тактового сигнала приведена вразделе 14. Сторожевой таймер включен и настроен на максимальный таймаут. (Подробное описаниесторожевого таймера приведено в разделе 13.7).Семь источников могут перевести МК в состояние сброса: включение/исчезновение питания, внешнийвывод /RST, внешний сигнал CNVSTR, программный сброс, компаратор 0, детектор исчезновениятактирования, сторожевой таймер.
Каждый источник сброса описан ниже.Рисунок 13.1. Структурная схема источников сбросаVDDПорт ввода/выводаМатрицаCNVSTRСхема слеженияза питанием(CNVSTRразрешение сброса)Компаратор 0CP0+(монтажное «ИЛИ»)(CP0разрешение сброса)ДетекторисчезновениятактированияТактовыеимпульсыГенераторPREWDTStrobeENWDTEnableMCDEnableВнутреннийтактовыйгенераторКаналсбросаWDTENXTAL2ВыборгенератораCIP-51процессорноеядроПрограммныйсбросСистемныйсбросБлок обработкипрерываний157/RST(монтажное «ИЛИ»)Разрешение сброса отсхемы слежения занапряжением питания+-CP0-XTAL1Таймаутсброса попитанию+-Ред. 1.3C8051F040/1/2/313.1.
Сброс при включении питания (Power-on Reset - POR)МК C8051F040/1/2/3 содержат схему слежения за напряжением питания, которая удерживает МК всостоянии сброса, пока напряжение питания VDD не превысит в процессе включения уровень VRST. (См.временную диаграмму на рис.13.2 и электрические характеристики в табл.13.1). В течение таймаута схемыслежения за напряжением питания (100 мс) на выводе /RST удерживается низкий логический уровень, чтопозволяет напряжению питания стабилизироваться. Для разрешения/запрещения сброса от схемы слежения занапряжением питания используется внешний вывод MOVEN.При завершении сброса типа POR флаг PORSF (RSTSRC.1) аппаратно устанавливается в 1.
Все другиефлаги сброса в регистре RSTSRC являются неопределенными. Флаг PORSF сбрасывается в 0 при сбросе отлюбого другого источника. Т.к. при сбросе любого типа выполнение программы начинается с одного и того жеадреса (0x0000), программа может опросить флаг PORSF, чтобы определить, было ли включение питанияпричиной сброса. Содержимое внутренней памяти данных после сброса типа POR следует считатьнеопределенным.вольтыРисунок 13.2. Временная диаграмма работы схемы слежения за напряжениемпитания2.70VRST2.55VDD2.01.0tЛог.
1/RST100мс100мсЛог. 0Сброс при включениипитания(Power-On Reset)Сброс от схемы слеженияза напряжением питания(VDD Monitor Reset)13.2. Сброс при исчезновении питания (Power-fail Reset – PFR)Когда при выключении или сбое питания напряжение питания VDD опускается ниже уровня VRST,схема слежения за напряжением питания установит на выводе /RST низкий логический уровень и переведетCIP-51 в состояние сброса. Когда VDD превысит уровень VRST, CIP-51 выйдет из состояния сброса точно также, как при сбросе типа POR (см. рис.13.2). Следует иметь ввиду, что, хотя содержимое внутренней памятиданных и не изменяется при сбросе типа PFR, невозможно определить, опускалось ли напряжение VDD нижеуровня, необходимого для сохранения данных.
Если флаг PORSF установлен в 1, данные нельзя более считатьдействительными.13.3. Внешний сбросВнешний вывод /RST позволяет внешней схеме перевести МК в состояние сброса. Подача на вывод/RST сигнала с низким активным уровнем заставит МК перейти в состояние сброса. Несмотря на наличиевнутренних слаботоковых подтяжек, желательно обеспечить на выводе /RST внешние подтягивающие и/илиразвязывающие цепи, чтобы предотвратить ложные сбросы, вызванные шумом. После снятия сигнала с низкимактивным уровнем с вывода /RST МК будет оставаться в состоянии сброса еще по крайней мере 12 тактовыхциклов. При завершении внешнего сброса устанавливается в 1 флаг PINRSF (RSTSRC.0).Ред.
1.3158C8051F040/1/2/313.4. Сброс от детектора исчезновения тактированияДетектор исчезновения тактирования (Missing Clock Detector – MCD) фактически представляет собойодновибратор, который управляется системным тактовым сигналом. Если системный тактовый сигнал исчезнетболее чем на 100мкс, то одновибратор сработает и сгенерирует сброс. После сброса типа MCD будетустановлен в 1 флаг MCDRSF (RSTSRC.2), показывая, что источником сброса был MCD; в иных случаях этотбит читается как 0. Состояние вывода /RST не влияет на сброс этого типа.
Работа детектора исчезновениятактирования разрешается установкой бита MCDRSF (RSTSRC.2) в 1 (см. раздел 14).13.5. Сброс от Компаратора 0Установка в 1 флага C0RSEF (RSTSRC.5) настраивает Компаратор 0 как вход сброса с низкимактивным уровнем. Компаратор 0 следует включить, используя бит CPT0CN.7 (см. раздел 11), до записи битаC0RSEF, чтобы дребезг на выходе не привел к генерации нежелательного сброса. Когда напряжение нанеинвертирующем входе (CP0+) меньше, чем напряжение на инвертирующем входе (CP0-), то, если компаратор0 настроен как источник сброса, МК перейдет в состояние сброса. После сброса от Компаратора 0 флаг C0RSEF(RSTSRC.5) будет читаться как 1,показывая, что Компаратор 0 был источником сброса; в иных случаях этот битчитается как 0. Состояние вывода /RST не влияет на сброс этого типа.13.6.
Сброс от внешнего вывода CNVSTR0Установка в 1 флага CNVRSEF (RSTSRC.6) настраивает внешний сигнал CNVSTR как вход сброса сактивным низким уровнем. Сигнал CNVSTR может появиться на любых выводах портов ввода/вывода Р0, Р1,Р2 или Р3, как описано в разделе 17.1. (Необходимо отметить, что матрица должна быть сконфигурированатаким образом, чтобы сигнал CNVSTR был выведен на соответствующий порт ввода/вывода). Матрицу следуетнастроить и включить до установки бита CNVRSEF.
Когда сигнал CNVSTR настроен как источник сброса, онпредставляет собой чувствительный к уровню сигнал с активным низким уровнем. После сброса от сигналаCNVSTR флаг CNVRSEF (RSTSRC.6) будет читаться как 1, показывая, что сигнал CNVSTR был источникомсброса; в иных случаях этот бит читается как 0. Состояние вывода /RST не влияет на сброс этого типа.13.7. Сброс от сторожевого таймераМК содержит программируемый сторожевой таймер (Watchdog Timer - WDT), работающий независимоот системного тактового сигнала. WDT переводит МК в состояние сброса в случае своего переполнения.