Обнаружение сбоя тактового генератора
Цепь обнаружения сбоя тактового генератора - OFD - предназначена для осуществления сброса микроконтроллера, если частота тактового генератора становится ниже предела, отражённого в разделе "Технические характеристики". В случае не восстановления тактовой частоты при сбросе микросхема остаётся в этом состоянии. Превышение частоты сверх установленных границ не приводит к сбросу микроконтроллера.
Цепь OFD включается по умолчанию при аппаратном сбросе микросхемы или её выходе из режима микропотребления по сбросу или внешнему прерыванию. OFD предназначена для обнаружения серьёзных сбоев тактового генератора, как, например, повреждение кварцевого резонатора, и не может определить скачкообразное изменение частоты в пределах нормального диапазона.
В режиме микропотребления тактовый генератор остановлен. Поэтому для предупреждения самопроизвольного перезапуска микросхемы необходимо запретить работу цепи OFD перед установкой бита PD. Запись последовательности 0E1h, 01Eh в регистр OSCR (физический адрес - A5h) приведёт к отключению обнаружения сбоев тактового генератора. Разрешить работу цепи заново можно лишь общим сбросом, либо выходом из режима микропотребления по внешнему прерыванию.
Состояние OFD может быть определено путём чтения регистра OSCR. При OSCR=0FFh -обнаружение сбоев разрешено, при OSCR=0FEh - запрещено.
Матрица программируемых счётчиков РСА
Структура PCA
Отличительной чертой микроконтроллеров типа 8XC51FX, 8XL51FX и более поздних от базового кристалла 8Х51 является наличие матрицы программируемых счётчиков или РСА (рис. 2.16). Данная многофункциональная структура предназначена для выполнения целого спектра операций с применением таймеров/счётчиков и позволяет увеличить производительность CPU за счёт минимизации числа обращений к нему по сравнению с такими кристаллами, как 8Х51, 8Х52 и т.п. Поэтому же удается уменьшить объём и сложность необходимого программного обеспечения.
Рис. 2.16. Матрица программируемых счётчиков
РСА состоит из 1-го таймера/счётчика и 5-ти 16-битных модулей фиксации/сравнения, изображённых на Рис.2-16. Таймер/счётчик является общим для всех модулей, а также единственным, который может ими использоваться. Входной сигнал может подаваться на него с одного из следующих источников:
· Fclc/12;
· Fclc/4;
· сигнал переполнения Т/СО;
· Внешний вывод ECI (Р1.2).
Каждый модуль фиксации/сравнения может быть запрограммирован на один из следующих режимов:
· фиксация нарастания или спада импульса (передний, задний фронты или положительный, отрицательный перепады);
· программный таймер;
· высокоскоростной выход;
· сторожевой таймер (только для модуля 4);
· широтно-импульсный модулятор.
Когда модуль сравнения/фиксации запрограммирован на режим фиксации, программного таймера или высокоскоростного выхода, возможна генерация соответствующего ему прерывания. Все 5 модулей и таймер/счётчик разделяют один и тот же вектор – 0033h, описанный несколько ниже. Для ввода/вывода таймер/счётчик и модули сравнения/фиксации используют выводы порта 1 (табл. 2.4). Если соответствующий модуль не задействован, то вывод порта используется по своему прямому назначению.
Использование порта 1 для РСА
Таблица 2.4
компонент РСА | вывод порта 1 |
16-битный счётчик | Р1.2/ЕС1 |
16-битный модуль 0 | Р1.3/СЕХО |
16-битный модуль 0 | Р1.4/СЕХ1 |
16-битный модуль 0 | Р1.5/СЕХ2 |
16-битный модуль 0 | Р1.6/СЕХЗ |
16-битный модуль 0 | Р1.7/СЕХ4 |
16-разрядный таймер/счётчик РСА состоит из регистров СН и CL (соответственно старший и младший байты счётчика). Эти 2 регистра постоянно доступны для чтения и записи. Как отмечалось выше, тактовый сигнал может поступать от одного из следующих источников:
· Fclc/12 (Режим 0) - регистр CL инкрементируется в фазе SSP2 каждый машинный цикл (при тактовой частоте 16 Mhz период инкремента составляет 750 ns);
· Fclc/4 (Режим 1) - регистр CL инкрементируется в фазах S1P2, S3P2 и SSP2 каждый машинный цикл (при тактовой частоте 16 Mhz период инкремента составляет 250 ns);
· Сигнал переполнения Т/С0 (Режим 2) - регистр CL инкрементируется в фазе SSP2 при переполнении таймера 0. Этот режим позволяет программировать входную частоту РСА;
· Внешний вывод ЕС1 (Р1.2) (Режим 3) - регистр CL инкрементируется при каждом отрицательном перепаде (из "1" в "0") на выводе ECI (Р1.2). Проверка данного вывода производится в фазах S1P2, S3P2 и SSP2 машинного цикла. Таким образом, максимальная частота по входу ECI может составлять. Fosc/8.
Старший байт счётчика (регистр СН) инкрементируется спустя 2 периода тактового генератора после переполнения младшего бита (CL).