Скачиваний:
144
Добавлен:
21.02.2014
Размер:
1.47 Mб
Скачать

9. Сброс, прерывания и режимы с пониженным потреблением энергии.

В этой главе представлена работа систем сброса и прерываний, а также дается описание режимов с пониженным потреблением энергии. Система контроля за правильностью работы программы и тактовый монитор описаны как часть системы сброса. Описание прерываний включает блок-схему, иллюстрирующую процесс генерации прерывания.

9.1 Варианты сброса.

Микроконтроллер имеет четыре возможных сброса: по активному внешнему сигналу на выводе сброса (RESET/), сброс при включении питания, сброс, производимый системой слежения и сброс тактового монитора.

9.1.1 Внешний вывод reset/.

Вывод RESET/ используется для сброса микроконтроллера. При сбросе микроконтроллер аппаратно устанавливает низкий уровень сигнала на этом выводе на 4 E цикла, после чего освобождает его. Еще через два E цикла вывод тестируется. Если вывод все еще находится в состоянии низкого уровня, это означает, что произошел внешний сброс. Если же на выводе высокий уровень, то сброс был инициирован или системой слежения или тактовым монитором (см. рисунок 9-1). Этот способ различия внутреннего и внешнего прерываний предполагает, что вывод RESET/ возвратится в состояние “1” не менее чем за два E цикла и что внешне генерируемый сигнал сброса должен находиться в активном состоянии не менее восьми E циклов.

Рисунок 9-1. Временные диаграммы сброса.

Поскольку в состав микроконтроллера входит ЭСППЗУ, очень важно контролировать сброс во врема переключения питания. Если линия сброса не находится в состоянии низкого уровня пока VDDниже, чем минимальное напряжение требуемое для нормальной работы, то в ЭСППЗУ может произойти разрушение информации. Разрушение происходит вследствие неправильного выполнения команды, в то время как нет достаточного напряжения для ее корретного выполнения. Разрушение информации может произойти в любой ячейке типа ЭСППЗУ, включая регистр CONFIG.

Схема сброса по низкому напряжению питания (LVI), которая генерирует сброс всегда, когда напряжение VDDнаходится ниже требуемого уровня, необходима для защиты от разрушения ЭСППЗУ. На рисунках 9-2 и 9-3 представлены два примера схем с характеристиками LVI.

Рисунок 9-2. Система сброса LVI на дискретных компонентах.

Рисунок 9-3. LVI система сброса на монолитном формирователе.

Схема на рисунке 9-2 содержит RC-цепь для формирования задержки при включении. В ранних вариантах конструкции микроконтроллеров эта задержка требовалась для стабилизации работы генератора. Но поскольку MC68HC11E9 изготавливается как полностью статическая КМОП - конструкция с возможностью функционирование на очень низких частотах, то задержка при включении не требуется. Однако, эта задержка может определяться частными требованиями к конкретной системе. Например, эта задержка необходима в случае, когда нельзя допустить неправильное измерение периода времени в течение первых нескольких десятых долей миллисекунд.

9.1.2 Сброс при включении питания.

Этот сброс происходит при положительном перепаде на выводе VDD. Такой сброс используется исключительно при включении питания, и его не следует использовать для обнаружения падения напряжения питания. Предусмотренные схемы обеспечивают задержку в 4064 цикла, начиная с первого импульса генератора. В системах с частотой E=2 МГц сброс при включении питания длится около двух миллисекунд. Если после задержки на выводе RESET/ все еще присутствует низкий уровень, то микроконтроллер продолжает находиться в состоянии сброса до появления на выводе RESET/ высокого уровня.

Центральный процессор. После сброса в течение первых трех циклов ЦП загружает вектор из ячеек $FFFE и $FFFF (в режимах загрузки или теста-из ячеек $BFFE и $BFFF) и начинает выполнять команды начиная с адреса соответствующего этому вектору. Указатель стека и другие регистры ЦП не определены непосредственно после сброса, однако флаги I и X маскирования прерываний в регистре условий устанавливаются, тем самым запрещая обработку любых запросов на прерывание. Кроме того, бит S регистра условий устанавливаетсядля запрета режима STOP.

Карта памяти. После сброса регистр INIT инициализируется значением $01, отображая таким образом 512 байт ОЗУ на адреса $0000-$01FF и регистры управления на адреса $1000-$103F. Сброс или выключение питания не оказывает влияния на регистр CONFIG и следовательно на отображение 12 Кбайт ПЗУ и/или 512 байт ЭСППЗУ на карте памяти.

Параллельный ввод/вывод. При сбросе в расширенном режиме работы, 18 определенных выводов параллельного ввода/вывода образуют внешнюю шину расширения. При сбросе в однокристалльном режиме биты STAF, STAI и HNDS регистра управления параллельным вводом/выводом (PIOC) сбрасываются, так что прерывания запрещаются, и выбирается режим параллельного ввода/вывода с простым стробированием. Бит CWOM регистра PIOC сбрасывается, тем самым запрещая работу линий порта C в режиме с открытым стоком. Порт C настраивается на ввод (регистр DDRC=$00), порт B - как порт вывода общего назначения, при этом его линии сброшены в “0”. STRA является стробом A настроенным на работу по положительному фронту (бит EGA регистра PIOC установлен), а линия строба B STRB сбрасывается в “0” (бит INVB регистра PIOC установлен). Порт C, биты 0-5 порта D и биты 0-3 и 7 порта E настраивается на ввод общего назначения с высоким импедансом. Порт B и биты 4-6 порта A имеют фиксированное направление - вывод данных, и их состояние после сброса - логический ноль.

Таймер. В течение сброса системный таймер инициализируется значением $0000. Биты предделителя обнуляются и все регистры выходного сравнения инициализируются значением $FFFF. Содержание всех регистров входной фиксации после сброса не определено. Регистр 1 маскирования выходного сравнения (OC1M) обнуляется, так что успешное выходное сравнение не окажет никакого влияния на выводы. Другие четыре сравнения настраиваются так, чтобы не влиять на выводы при успешном сравнении. Все три схемы обнаружения фронта для входной фиксации настраиваются на "запрещение фиксации". Флаг переполнения таймера и флаги прерываний всех восьми функций таймера обнуляются. Запрещаются все девять видов прерываний от таймера.

Прерывания реального времени.Флаг прерываний реального времени сбрасывается и автоматически маскируются аппаратные прерывания. Биты управления периодом очищаются после сброса и могут быть инициализированы перед использованием системы прерываний реального времени.

Счетчик импульсов.Система счета импульсов во время сброса запрещается, так что вывод PAI определяется как вывод общего назначения, настроенный на ввод.

Система слежения. Система слежения за правильностью работы микроконтроллера разрешена при очищенном бите NOCOP регистра управления конфигурацией (ячейка ЭСППЗУ) и запрещена в противном случае. Период системы слежения устанавливается на минимальное значение.

Ввод/вывод последовательного интерфейса связи.Условия сброса SCI независимы от режима работы. После сброса скорость обмена SCI не определена и должна быть программно установлена записью в регистр BAUD. Все прерывания передачи и приема маскируются и как приемник, так и передатчик запрещаются, а выводы порта определяются как линии общего назначения. Формат передачи SCI определяется для размера символов в восемь бит. Посылка символа останова прекращается, запрещается режим слежения. Биты статуса TDRE и TC регистра статуса SCI устанавливаются, означая, что передаваемых данных нет ни в регистре данных передачи, ни в регистре последовательного сдвига. Биты RDRF, IDLE, OR, NF и FE, связанные с передатчиком, обнуляются.

Следует заметить, что после сброса в режиме загрузки выполнение начинается со 192 стартовых байт, находящихся в ПЗУ. При этом программно линии порта D настраиваются на режим работы с открытым стоком, устанавливается скорость обмена и разрешаются приемник и передатчик SCI.

Ввод/вывод последовательного переферийного интерфейса. Система SPI во время сброса запрещается и выводы, связанные с этими функциями определяются как линии ввода/вывода общего назначения.

АЦП. Конфигурация системы АЦП не определена после сброса. Флаг завершения преобразования сбрасывается. Бит ADPU во время сброса сбрасывается, запрещая таким образом систему АЦП.

Система. Программирование ЭСППЗУ запрещено, так что память системы настроена для работы в режиме обычного чтения. Самый высокий приоритет прерывания I определяется для внешнего вывода IRQ битами PSEL3-PSEL0 как 0:1:0:1. Вывод прерывание настраивается для работы по уровню (для возможности объединения по “монтажному ИЛИ”). Биты RBOOT, SMOD и MDA регистра HPRIO отображают состояние вводов MODA и MODB на положительном фронте сброса. Бит управления DLY устанавливается для определения того, что генератору нужна стартовая задержка после выхода из режима STOP. Система тактового монитора запрещается установкой бита CME в ноль.

Соседние файлы в папке МС68НС11Е9