Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ASSEMBLER / Пособие51GB / !!!!!ИТОГО!!!!!.doc
Скачиваний:
175
Добавлен:
16.04.2015
Размер:
4.14 Mб
Скачать

3.6 Обнаружение сбоя тактового генератора

Цепь обнаружения сбоя тактового генератора - OFD - предназначена для осуществления сброса микроконтроллера, если частота тактового генератора становится ниже предела, отражённого в разделе "Технические характеристики". В случае невосстановления тактовой частоты при сбросе микросхема остаётся в этом состоянии. Превышение частоты сверх установленных границ не приводит к сбросу микроконтроллера.

Цепь OFD включается по умолчанию при аппаратном сбросе микросхемы или её выходе из режима микропотребления по сбросу или внешнему прерыванию. OFD предназначена для обнаружения серьёзных сбоев тактового генератора, как, например, повреждение кварцевого резонатора и не может определить скачкообразное изменение частоты в пределах нормального диапазона.

В режиме микропотребления тактовый генератор остановлен. Поэтому для предупреждения самопроизвольного перезапуска микросхемы необходимо запретить работу цепи OFD перед установкой бита PD. Запись последовательности 0E1h,01Eh в регистр OSCR (физический адрес - A5h) приведёт к отключению обнаружения сбоев тактового генератора. Разрешить работу цепи заново можно лишь общим сбросом, либо выходом из режима микропотребления по внешнему прерыванию.

Состояние OFD может быть определено путём чтения регистра OSCR. При OSCR=0FFh -обнаружение сбоев разрешено, при OSCR=0FEh - запрещено.

3.7 Матрица программируемых счётчиков рса

В составе микросхемы 8XC51GB, имеется матрица программируемых счётчиков. Основной отличительной чертой микроконтроллеров типа 8XC51FX, 8XL51FX и более поздних от базового кристалла 8Х51 является наличие матрицы программируемых счётчиков или РСА. Данная многофункциональная структура предназначена для выполнения целого спектра операций с применением таймеров/счётчиков и позволяет увеличить производительность CPU за счёт минимизации числа обращений к нему по сравнению с такими кристаллами, как 8Х51, 8Х52 и т.п. По этому же удается уменьшить объём и сложность необходимого программного обеспечения.

Матрица программируемых счётчиков

РСА состоит из 1-го таймера/счётчика и 5-ти 16-битных модулей фиксации/сравнения, изображённых на Таймер/счётчик является общим для всех модулей, а также единственным, который может ими использоваться. Входной синап может подаваться на него с одного от следующих источников:

• Fclc/12;

• Fclc/4;

• Сигнал переполнения Т/СО;

• * Внешний вывод ECI (Р1.2).

Каждый модуль фиксации/сравнения может быть запрограммирован на один из следующих режимов:

• фиксация увеличения и/или уменьшения кромки;

• программный таймер;

• высокоскоростной выход;

• сторожевой таймер (только для модуля 4);

• широтно-импульсный модулятор.

Когда модуль сравнения/фиксации запрограммирован на режим фиксации, программного таймера или высокоскоростного выхода, возможна генерация соответствующего ему прерывания. Все 5 модулей и таймер/счётчик разделяют один и тот же вектор – 0033h, описанный несколько ниже. Для ввода/вывода таймер/счётчик и модули сравнения/фиксации используют выводы порта 1, как показано в таблице. Если соответствующий модуль не задействован, то вывод порта используется по своему прямому назначению.

Использование порта 1 для РСА

компонент РСА

вывод порта 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-разрядный таймер/счётчик РСА (рис. 6.3) состоит из регистров СН и 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).

Регистр режима счётчика РСА (CMOD)

Содержит биты выбора источника входного сигнала таймера/счётчика CPS1 и CPS0, бит разрешения прерывания по переполнению счётчика ECF, а также биты CIDL - отключения таймер/счётчика во время режима холостого хода и WDTE (Watchdog Timer Enable) - разрешение сторожевого таймера для модуля 4. На рис.6.4 эти биты описаны более подробно. Байтный адрес данного регистра - 0D9h, значение по сбросу - 00ххх000b.

Регистр режима РСА – CMOD

MSB LSB

CIDL

WDTE

-

-

-

CPS1

CPS0

ECF

Бит

Поз.

Функция присвоения приоритета прерывания

CIDL

CMOD.7

CIDL=0 – продолжение нормального фунгкционирования счётчика РСА во время режима Idle

CIDL=1 - счёт во время режима Idle прекращается

WDTE

CMOD.6

WDTE=0 - запрет функции "сторожевой таймер" РСА-модуля 4

WDTE=1 - разрешение функции "сторожевой таймер"

-

CMOD.5

Зарезервировано для дальнейшего использования

-

CMOD.4

Зарезервировано для дальнейшего использования

-

CMOD.3

Зарезервировано для дальнейшего использования

CPS1

CMOD.2

Выбор источника тактирования РСА, ,бит 1

CPS0

CMOD.1

Выбор источника тактирования РСА, .бит 0

ECF

CMOD.0

Разрешение прерывания по переполнению счётчика РСА:

ECF=1 - установка бита CF регистра CCON разрешена

ECF=0 - запрещена.

Регистр управления счётчика РСА (CON)

Содержит 2 бита, связанные с таймером/счётчиком РСА. Бит CF - устанавливается аппаратно - по переполнению счётчика. Бит CR включает или выключает счётчик. Остальные 5 бит данного регистра - флаги событий модулей сравнения/фиксации РСА. На рис. 6.5 эти биты описаны более подробно. Байтный адрес данного регистра - 0D8h, значение по сбросу - 00х00000b.

MSB LSB

CF

CR

-

CCF4

CCF3

CCF2

CCF1

CCF0

Бит

Поз.

Функция присвоения приоритета прерывания

CF

CMOD.7

Флаг переполнения счётчика РСА. Устанавл. аппаратно и вызывает прерывание в случае, если бит ECF регистра CMOD установлен в 1. Может устанавл. в 1 как аппаратно, так и программно, а очищаться - только программно.

CR

CMOD.6

Бит управления включением счётчика РСА: CR=1 - счётчик включён, CR=0 –выключен

-

CMOD.5

Зарезервировано для дальнейшего использования

CCF4

CMOD.4

Флаг прерывания модуля 4 РСА. Устанавл. аппаратно по равенству и фиксации значения. Очищается программно.

CCF3

CMOD.3

Флаг прерывания модуля 3 РСА

CCF2

CMOD.2

Флаг прерывания модуля 2 РСА

CCF1

CMOD.1

Флаг прерывания модуля 1 РСА

CCF0

CMOD.0

Флаг прерывания модуля 0 РСА

Модули сравнения/фиксации.

Каждый из 5 модулей сравнения/фиксации может быть запрограммирован на выполнение одной из 6-ти функций:

• 16-битная фиксация, запускаемая по положительному фронту;

• 16-битная фиксация, запускаемая по отрицательному фронту;

• 16-битная фиксация, запускаемая по положительному и отрицательному фронту;

• 16-битный программный таймер;

• 16-битный высокоскоростной выход;

• 8-битный широтно-импульсный модулятор.

Дополнительно модуль 4 может использоваться как сторожевой таймер. Все модули могут быть запрограммированы в любых комбинациях вышеперечисленных режимов. Каждый модуль имеет регистр режима, именуемый ССАРМn (где n=0,1,2,3,4) и используемый для выбора функции конкретного модуля. Структура данных регистров показана на рисунке 6.6. Байтный адрес регистров ССАРМ0-ССАРМ4 равен, соответственно, 0DAh- 0DEh, значение по сбросу – х0000000b.

Соседние файлы в папке Пособие51GB