Структура 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).
2.6.2. Регистр режима счётчика РСА (CMOD)
Содержит биты выбора источника входного сигнала таймера/счётчика CPS1 и CPS0, бит разрешения прерывания по переполнению счётчикаECF, а также биты CIDL - отключения таймер/счётчика во время режима холостого хода и WDTE (Watchdog Timer Enable) - разрешение сторожевого таймера для модуля 4. На рис. 2.17 эти биты описаны более подробно. Байтный адрес данного регистра - 0D9h, значение по сбросу - 00ххх000b.
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 - запрещена. |
Рис. 2.17. Регистр режима РСА – CMOD
2.6.3. Регистр управления счётчика РСА (CON)
Этот регистр содержит 2 бита, связанные с таймером/счётчиком РСА. Бит CF - устанавливается аппаратно - по переполнению счётчика. Бит CR включает или выключает счётчик. Остальные 5 бит данного регистра - флаги событий модулей сравнения/фиксации РСА. На рис. 2.18 эти биты описаны более подробно. Байтный адрес данного регистра - 0D8h, значение по сбросу - 00х00000b.
Дата добавления: 2015-10-09; просмотров: 598;