Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[64]

Таймер В

Таймер В - это 16-разрядный таймер/счетчик со несколькими регистрами захвата/сравнения. В этом разделе описывается работа таймера В. Таймер В3 (с тремя регистрами захвата/сравнения) реализован в устройствах MSP430x13x и MSP430x15x. Таймер В7 (с семью регистрами захвата/сравнения) реализован в устройствах MSP430x14x и MSP430x16x.

12.1. Введение в таймер В

Таймер В - это 16-разрядный таймер/счетчик с тремя или семью регистрами захвата/сравнения. Таймер В может поддерживать несколько режимов захвата/сравнения, вывод ШИМ-сигналов и выдержку временных интервалов. Таймер В также имеет расширенные возможности прерываний. Прерывания могут быть сгенерированы при переполнении счетчика и от каждого из регистров захвата/сравнения.

Таймер В обладает следующими возможностями:

•Асинхронный 16-разрядный таймер/счетчик с четырьмя режимами работы и четырьмя настраиваемыми длительностями

•Выбираемые и конфигурируемые источники тактирования

•Три или семь конфигурируемых регистров захвата/сравнения

•Конфигурируемые выходы с возможностью ШИМ

•Защелки сравнения с двойной буферизацией и синхронизируемой загрузкой

•Регистр вектора прерывания для быстрого декодирования всех прерываний таймера В

Блок-схема таймера В показана на рис. 12-1.

Примечание: Использование слова «счет»

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

12.1.1. Сходства и различия с таймером А

Таймер В идентичен таймеру А, но со следующими исключениями:

•Длина таймера В программируется и может составлять 8, 10, 12 или 16 бит

•Регистры TBCCRx таймера В имеют двойную буферизацию и могут группироваться


TBSSELx

J TBCLK-i ACLK-JSMCLK-

Тактирование таймера

Делитель 1/2/4/8

Блок таймера

16-разрядный таймер > TBR RC Очистка 8 10 12 16

> Режим счета

TBCLGRPx

Логика загрузки группы

01 10

Установка "TBIFG

CCR0 CCR1

CCR2 "c"C"R3"

CCR5 CCR6

CCI6A CCI6B 01

GND VCC

Тактирование таймера I CLLDx

VCC 00

Logic \-u COV

инхр.- l J

[>Синхр.

TBR=0 i EQU0 i Вверх/вниз

загрузки группы

CCR5 CCR4 CCR1

£ 150

Загрузка

-Ы Защелка захвата TBCL6 S Компаратор 6

Модуль вывода 6

Тактирование

D Set Q

Установка TBCCR6 CCIFG

• Сигнал OUT6

OUTMODx

Рис. 12-1. Блок-схема таймера В

•Все выходы таймера В могут быть переведены в третье (высокоимпедан-сное) состояние

•Функция бита SCCI не реализована в таймере В.

12.2. Работа таймера В

Модуль таймера В конфигурируется программным обеспечением пользователя. Настройка и работа таймера В рассматривается в следующих разделах

захвата


12.2.1.16-разрядный счетчик таймера

16-разрядный регистр таймера/счетчика TBR инкрементируется и декремен-тируется (в зависимости от режима работы) по каждому нарастающему фронту тактового сигнала. Регистр TBR может программно читаться и записываться. Помимо этого, таймер может генерировать прерывание при его переполнении.

Регистр TBR может быть очищен установкой бита TBCLR. Установка TBCLR также очищает делитель тактовой частоты и направление счета для режима «вверх/вниз».

Примечание: Модификация регистров таймера В

Рекомендуется останавливать таймер перед изменением режима работы (кроме операций с флагом прерывания и разрешения прерывания, и TBCLR) во избежание его ошибочной работы.

Когда TBCLK асинхронен тактовой частоте ЦПУ, любое чтение из TBR должно выполняться при неработающем таймере, в противном случае результат может оказаться непредсказуемым. Любая запись в TBR приведет к немедленному результату.

Длина TBR

Таймер В конфигурируется для работы в качестве 8, 10, 12 или 16-разрядного таймера с помощью битов CNTLx. Максимальное значение счета TBR(max) для выбранной длины соответственно составит 0FFh, 03FFh, 0FFFh и 0FFFFh. Данные, записанные в регистр TBR в 8-ми, 10-ти и 12-разрядном режиме выравниваются по правому знаку с нулями впереди.

Выбор источника тактирования и делитель

В качестве источников тактовой частоты TBCLK могут выступать ACLK, SMCLK или внешние сигналы, поступающие через TBCLK или INCLK. Источник тактирования выбирается битами TBSSELx. Выбранный источник тактирования может подключаться к таймеру напрямую или через делитель на 2, 4 или 8 с помощью битов IDx. Делитель TBCLK сбрасывается при установке бита TBCLR.

12.2.2. Старт таймера

Таймер может быть запущен или перезапущен следующими способами:

•Таймер считает, когда MCx > 0 и активен источник тактовых сигналов

•Когда таймер находится в режиме счета «вверх» или «вверх/вниз», его можно остановить загрузкой нуля в TBCL0. Таймер может быть тогда и перезапущен при загрузке ненулевого значения в TBCL0. В этом случае таймер начинает инкрементирование вверх от нуля.



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53] [стр.54] [стр.55] [стр.56] [стр.57] [стр.58] [стр.59] [стр.60] [стр.61] [стр.62] [стр.63] [стр.64] [стр.65] [стр.66] [стр.67] [стр.68] [стр.69] [стр.70] [стр.71] [стр.72] [стр.73] [стр.74] [стр.75] [стр.76] [стр.77] [стр.78] [стр.79] [стр.80] [стр.81] [стр.82] [стр.83] [стр.84] [стр.85] [стр.86] [стр.87] [стр.88] [стр.89] [стр.90] [стр.91] [стр.92] [стр.93] [стр.94] [стр.95] [стр.96] [стр.97] [стр.98] [стр.99] [стр.100] [стр.101] [стр.102] [стр.103] [стр.104] [стр.105] [стр.106] [стр.107] [стр.108] [стр.109] [стр.110] [стр.111] [стр.112] [стр.113] [стр.114] [стр.115] [стр.116] [стр.117] [стр.118] [стр.119] [стр.120]