Поиск по сайту:

 


По базе:  

микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > Компоненты > Микроконтроллеры > MSP430 > Архитектура MSP430x4xx

реклама

 




Мероприятия:




Раздел 11

Базовый таймер

Модуль базового таймера состоит из двух независимых, каскадируемых 8-битных таймеров. В этой главе описана работа модуля базового таймера Basic Timer 1. Данный модуль присутствует во всех микроконтроллерах семейства MSP430x4xx.

Содержание:

11.1 Модуль базового таймера Basic Timer 1 - введение

Модуль базового таймера обеспечивает тактирование ЖКИ и генерацию низкочастотных временных интервалов. Модуль базового таймера состоит из двух независимых 8-битных таймеров, которые могут быть каскадированы в один 16-битный таймер. Базовый таймер может быть использован в качестве:

  • Часов реального времени.
  • Программного таймера.

Модуль базового таймера обладает следующими особенностями:

  • Выбор различных источников тактирования.
  • Два независимых, каскадируемых 8-битных таймера.
  • Возможность генерации прерываний.
  • Генерация сигналов тактирования ЖКИ.
  • Блок схема модуля тактирования модуля базового таймера Basic Timer 1 показана на рис. 11–1.
Примечание: Инициализация базового таймера

Регистры модуля базового таймера не имеют значений по умолчанию. Перед использованием обязательна программная инициализация.


Рис. 11-1. Блок схема модуля базового таймера Basic Timer 1

11.2 Работа модуля базового таймера Basic Timer 1

Модуль базового таймера может быть сконфигурирован как два независимых 8-битных таймера, либо один 16-битный таймер при помощи 8-битного доступного для чтения и записи управляющего регистра BTCTL. Операции чтения/записи в данный регистр должны иметь байтовый формат. Модуль базового таймера управляет частотой ЖКИ при помощи счётчика BTCNT1.

11.2.1 Счётчик №1 модуля базового таймера Basic Timer1

Счётчик №1 BTCNT1 модуля базового таймера Basic Timer1 является 8-битным счётчиком/таймером с непосредственным программным доступом. Тактовой частотой для него является вспомогательная частота тактирования ACLK, а на выходе формируется кадровая частота ЖКИ. Останов счётчика BTCNT1 осуществляется установкой в «1» бит BTHOLD и BTDIV.

11.2.2 Счётчик №2 модуля базового таймера Basic Timer1

Счётчик №2 BTCNT2 модуля базового таймера Basic Timer1 является 8-битным счётчиком/таймером с непосредственным программным доступом. Тактовой частотой для него является вспомогательная частота тактирования ACLK, дополнительная тактовая частота SMCLK или частота ACLK/256 в случае каскадирования со счётчиком BTCNT1. Выбор источника тактирования осуществляется битами BTSSEL и BTDIV. Для снижения энергопотребления счётчик BTCNT2 может быть остановлен установкой в «1» бита HOLD. Счётчик BTCNT2 может служить источником прерывания базового таймера BTIFG. Интервал прерываний задаётся битами BTIPx.

Примечание:Чтение и запись регистров BTCNT1 и BTCNT2

В случае, когда тактовая частота процессора и частота тактирования счётчика не синхронны, чтение из регистров BTCNT1 и BTCNT2 может иметь неопределённый результат. Запись значения в регистры BTCNT1 и BTCNT2 имеет незамедлительное действие.

11.2.3 Режим 16-битного счётчика

16-битный режим счётчика выбирается установкой управляющего бита BTDIV в «1». В таком режиме счётчики BTCNT1 и BTCNT2 каскадируются. Источником тактирования для BTCNT является частота ACLK, а для BTCNT2 – соответственно ACLK/256.

11.2.4 Работа базового таймера Basic Timer1: сигнал fLCD

Контроллер ЖКИ использует сигнал fLCD от модуля BTCNT1 для формирования управляющих сигналов для строк и сегментов ЖКИ. Источником тактирования для BTCNT1 является частота ACLK, которую считаем равной 32768 Гц, из неё формируется частота fLCD. Значение частоты fLCD определяется битами BTFRFQx и может принимать значение ACLK/256, ACLK/128, ACLK/64, или ACLK/32. Требуемая частота fLCD зависит от частоты обновления ЖКИ fFrame и его степени мультиплицирования и вычисляется как: fLCD = 2 х mux x fFrame

Например, вычислим частоту fLCD для ЖКИ с коэффициентом мультиплицирования 3 (3-mux) с частотой обновления индикации fFrame 30 – 100 Гц:

    fFrame (из документации на ЖКИ) = 30 - 100 Гц
    fLCD = 2 x 3 x fFrame
    fLCD(min) = 180 Гц
    fLCD(max) = 600 Гц
    выбираем fLCD = 32768/128 = 256 Гц или 32768/64 = 512 Гц

См. также раздел Контроллер ЖКИ (LCD Controller) , где приведена дополнительная информация по контроллеру ЖКИ.

11.2.5 Прерывания базового таймера Basic Timer1

Модуль базового таймера использует два бита в регистрах специального назначения SFR для управления прерываниями.

  • Флаг прерывания модуля базового таймера Basic Timer1, BTIFG, расположенный в IFG2.7
  • Бит разрешения прерывания модуля базового таймера Basic Timer1, BTIE, расположенный в IE2.7

    Флаг прерывания BTIFG устанавливается по истечении заданного интервала времени и вызывает прерывание базового таймера Basic Timer1 в том случае, если это разрешено битами BTIE и GIE. Флаг BTIFG сбрасывается автоматически после обработки прерывания либо может быть очищен программно.

    11.3 Регистры базового таймера Basic Timer1

    Регистры базового таймера Basic Timer1 перечислены в таблице 11–1.

    Регистр Краткое название Тип Адрес Начальное состояние
    Контроль базового таймера Basic Timer1 BTCTL Чтение/запись 040h Не изменяется
    Счётчик №1 модуля базового таймера Basic Timer1 BTCNT1 Чтение/запись 046h Не изменяется
    Счётчик №2 модуля базового таймера Basic Timer1 BTCNT2 Чтение/запись 047h Не изменяется
    Регистр флагов прерываний 1 IFG2 Чтение/запись 001h Обнулён по сбросу PUC
    Регистр разрешения прерываний 1 IE2 Чтение/запись 003h Обнулён по сбросу PUC

     

    Примечание: Регистры модуля базового таймера BTCTL, BTCNT1, BTCNT2 не имеют значений по умолчанию. Перед использованием обязательна программная инициализация.

    BTCTL, Контроль базового таймера Basic Timer1

    7 6 5 4 3 2 1 0
    BTSSEL BTHOLD BTDIV BTFRFQx BTIPx
    rw rw rw rw rw rw rw rw


    BTSSEL Бит 7 Выбор источника тактирования счётчика BTCNT2. Совместно с битом BTDIV определяет тактовую частоту счётчика BTCNT2. См. определение BTDIV.
    BTHOLD Бит 6 Останов базового таймера.
    0 BTCNT1 и BTCNT2 функционируют
    1 BTCNT1 остановлен, в случае, если BTDIV=1
    BTCNT2 остановлен
    BTDIV Бит 5 Делитель тактовой частоты для базового таймера Basic Timer1. Этот бит, совместно с битом BTSSEL определяет источник тактирования счётчика BTCNT2.
    BTSSEL BTDIV Источник тактирования BTCNT2
    0 0 ACLK
    0 1 ACLK/256
    1 0 SMCLK
    1 1 ACLK/256
    BTFRFQx Биты 4-3 Выбор частоты fLCD. Эти биты определяют частоту обновления индикации ЖКИ.
    00 fACLK/32
    01 fACLK/64
    10 fACLK/128
    11 fACLK/256
    BTIPx Биты 2-0 Интервал прерываний базового таймера Basic Timer1.
    000 fCLK2/2
    001 fCLK2/2
    010 fCLK2/8
    011 fCLK2/16
    100 fCLK2/32
    101 fCLK2/64
    110 fCLK2/128
    111 fCLK2/256

    BTCNT1, Счётчик №1 модуля базового таймера Basic Timer1

    7 6 5 4 3 2 1 0
    BTCNT1x
    rw rw rw rw rw rw rw rw


    BTCNT1x Биты 7-0 Регистр BTCNT1. Значение в регистре BTCNT1 представляет собой выход счётчика BTCNT1.

    BTCNT2, Счётчик №2 модуля базового таймера Basic Timer1

    7 6 5 4 3 2 1 0
    BTCNT2x
    rw rw rw rw rw rw rw rw


    BTCNT2x Биты 7-0 Регистр BTCNT2. Значение в регистре BTCNT2 представляет собой выход счётчика BTCNT2.

    IE2, Регистр разрешения прерываний 2

    7 6 5 4 3 2 1 0
    BTIE              
    rw-0              


    BTIE Бит 7 Разрешение прерывания базового таймера. Этот бит разрешает прерывание по флагу BTIFG. Так как другие биты в регистре IE2 могут использоваться другими модулями, рекомендуется устанавливать и сбрасывать данный бит используя инструкции BIS.B или BIC.B, а не MOV.B или CLR.B.
    0 – прерывание запрещено
    1 – прерывание разрешено
      Биты 6-0 Эти биты могут быть использованы другими модулями. См. документацию на конкретный МК

    IFG2, Регистр флагов прерываний 2

    7 6 5 4 3 2 1 0
    BTIFG              
    rw-0              


    BTIFG Бит 7 Флаг прерывания базового таймера.
    Так как другие биты в регистре IE1 могут использоваться другими модулями, рекомендуется устанавливать и сбрасывать данный бит используя инструкции BIS.B или BIC.B, а не MOV.B или CLR.B.
    0 – нет запроса прерывания
    1 – есть запрос прерывания
      Биты 6-0 Эти биты могут быть использованы другими модулями. См. документацию на конкретный МК
        Получить консультации и преобрести компоненты вы сможете у официальных поставщиков фирмы Texas Instruments,

    поставщики электронных компонентов






  •  
    Впервые? | Реклама на сайте | О проекте | Карта портала
    тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru
    ©1998-2023 Рынок Микроэлектроники