Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Программируемый массив-счетчик РСА

Таймер 3

Таймер 3 — 16-битный таймер, который в SFR отображается двумя регистрами: TMR3L (младший байт) и TMR3H (старший байт). Таймер 3 работает от системных тактовых импульсов, де­ленных на 1 или 12, в зависимости от состояния бита ТЗМ в регистре TMR3CN.

Таймер 3 всегда работает в режиме таймера с автозагрузкой из регистров TMR3RLL и TMR3RLH и не может работать в ка­честве счетчика. Он наиболее часто используется для перезапуска ADC или как тактовый генератор для интерфейса SMBus.

 

В дополнение к стандартным таймерам/счетчикам микрокон­троллеры SiLabs имеют еще один оригинальный узел — про­граммируемый массив-счетчик РСА (Programmable Counter/Timer Array). Он состоит из специализированного шестнадцатибитного таймера/счетчика с времязадающим узлом (TimeBase) и пятью модулями захвата/сравнения ССМ (Capture/Compare Module). Времязадающий узел (TimeBase) может подавать на вход РСА один из четырех тактовых сигналов: системную частоту тактирования, деленную на 12 или 4, сигнал с выхода переполнения таймера 0 или сигнал с внешнего счетного входа ECI (External Clock Input). Каждый из пяти модулей захвата/сравнения ССМ может быть запрограммирован на выполнение одной из четырех функций: переключаемая по фронту защелка, программный счетчик, вы­сокоскоростной выход и широто-импульсный модулятор PWM (Pulse Width Modulator). Естественно, что внешний счетный вход и выходы модулей захвата/сравнения ССМ могут быть настрое­ны с помощью CrossBar на необходимые выводы портов ввода/ вывода или заданы как источник прерывания. Кроме того, в не­которых из микроконтроллеров на базе расширенного РСА мо­жет быть реализован таймер реального времени RTC (Real Time Clock).

Структурная схема обычного программируемого массива-счетчика показана на рис. 8.4, а его функциональная схема — на рис. 8.5.

Рассмотрим подробнее основные четыре режима работы мо­дулей ССМ.

 

 
 

Рис. 8.4. Программируемый массив-счетчик

Рис. 8.5. Функциональная схема программируемого массива-счетчика

Режим переключений по фронту (Edge-triggered Capture Mode)

На рис. 8.6 показана функциональная схема, поясняющая функционирование РСА в этом режиме. В этом случае вывод СЕХп является входом. Он может быть настроен установкой битов САРРп и CAPNn в регистре РСАОСРМп на восприятие как переднего фронта импульса (перепада из низкого в высокий уровень), так и заднего фронта импульса (перепада из высокого в низкий уро­вень) или для работы по обоим фронтам. При приходе запрограм­мированного фронта в регистре PCAOCN устанавливается соот­ветствующий флаг CCFn и вырабатывается соответствующее прерывание, если оно разрешено. Одновременно значение счет­чика (содержимое регистров PCA0L и РСА0Н) перезаписывается в регистры PCA0CPLn и РСА0СРНп. Флаг CCFn

 
 

автоматически аппаратно не сбрасывается и должен быть очищен программой.

 

Рис. 8.6. Режим переключений РСА по фронту

Режим программного счетчика (Software Timer (Compare) Mode)

В этом режиме (рис. 8.7) происходит сравнение шестнадца­тибитных величин счетчика РСА (регистры PCA0L и РСА0Н) и регистров PCA0CPLn и РСА0СРНn. При совпадении кодов реги­стре PCA0CN устанавливается соответствующий флаг CCFn и вырабатывается соответствующее прерывание, если оно разре­шено. Флаг CCFn автоматически аппаратно не сбрасывается, и должен быть очищен программой. Режим разрешается установ­кой битов ЕС0Мn и МАТn в регистре РСА0СРМn.

 
 

Рис. 8.7. Режим программного счетчика РСА

Режим высокоскоростного выхода (High Speed Output Mode)

 
 

В этом режиме (рис. 8.8) сравниваются состояния счетчика РСА и регистров РСА0СРНп и PCA0CPLn. В момент совпадения происходит установка встроенного триггера, сброс которого про­исходит по переполнению младшего байта счетчика РСА. Режим настраивается установкой битов TOGn, MATn и ЕСОМn в реги­стре РСАОСРМn.

Рис. 8.8. Режим высокоскоростного выхода

Режим широтно-импульсного модулятора (Pulse Width Modulator Mode)

 
 

Функциональная схема, поясняющая работу в этом режиме, показана на рис. 8.9. Все модули могут независимо использовать­ся для формирования PWM сигналов и вывода их на соответству­ющие вывода СЕХп. Очевидно, что выходная частота зависит от заданного источника входных импульсов, выбираемых в узле TimeBase. Параметры выходного сигнала определяются настрой­кой регистра PCA0CPLn. Если код младшего байта PCA0L счетчи­ка РСА равен величине PCA0CPLn, соответствующий выход СЕХп устанавливается в состояние логической единицы. При перепол­нении байта PCA0L выход СЕХп будет сброшен, а его значение (байта PCA0L) изменится с 0xFF на 0x00. Кроме того, значение регистра PCA0CPLn будет аппаратно перезагружено из РСА0СРНn.

Рис. 8.9. Режим широтно-импульсного модулятора

Как уже отмечалось выше, шестнадцатибитный таймер/счет­чик РСА состоит из двух восьмибитных регистров SFRs: PCA0L и РСА0Н. Регистр РСА0Н — старший (MSB), а регистр PCA0L — младший байт (LSB). Чтение регистра PCA0L автоматически за­щелкивает содержимое регистра РСА0Н для последующего чте­ния. Чтение этих регистров не нарушает ход текущей операции. Биты CPS1 и CPS0 регистра PCA0MD выбирают режим timebase, как показано в табл. 8.4.

Таблица 8.4

 

CPS1 CPS0 Источники сигналов узла Timebase
    Системная частота, деленная на 12
    Системная частота, деленная на 4
    Переполнение таймера 0
    Задний фронт импульса (перепад из высокого уровня в низкий) на взводе ECI, при этом максимально возможная скорость

Когда таймер/счетчик РСА переполняется, т. е. переходит из состояния 0xFFFF в 0x0000, флаг переполнения счетчика CF (Counter Overflow Flag) в регистре PCA0MD устанавливается в лог. 1 и генерируется соответствующее прерывание CF, если оно разрешено. Установка в 1 бита ECF в регистре PCA0MD разре­шает генерацию CF прерывания при установке соответствующе­го флага. Бит CF не стирается аппаратно (автоматически) и дол­жен быть очищен программно. Конечно, глобальные прерывания PCA0 должны быть разрешены (бит IE. 7 в регистре ЕА и бит EPCA0 в регистре EIE1 должны быть установлены) для генера­ции прерывания CF. Очистка бита CIDL в регистре PCA0MD разрешает продолжение функционирования РСА при переходе ядра в Idle режим энергосбережения.

 

 

<== предыдущая лекция | следующая лекция ==>
Таймер 2 | Лекция 9. Источник опорного напряжения. Компараторы
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 760; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.