COMPH - старший регистр сравнения счетчика реального времени 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

COMPH - старший регистр сравнения счетчика реального времени



В регистровой паре COMPH и COMPL хранится 16-битное значение COMP. Значение COMP непрерывно сравнивается со значением счетчика (CNT). При обнаружении совпадения устанавливается флаг COMPIF в регистре INTFLAGS. Чтение и запись 16-битных значений необходимо выполнять с особым вниманием. Более детально об этом см. в разделе 3.12 "Защита от изменения конфигурации".

С момента обновления регистра до вступления выполненных изменений в силу проходит два цикла синхронизации RTC. Данная задержка вызвана необходимостью синхронизации доменов синхронизации RTC и системной синхронизации. Перед записью в этот регистра необходимо опросить флаг SYNCBUSY из регистра статуса (STATUS). Равенство его нулю указывает на возможность выполнения записи.

Если значение COMP окажется больше значения PER, прерывания и события по совпадению в RTC не будут генерироваться вообще.

Бит                  
+0x0D
COMP[15:8]
COMPH
Чтение/запись Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап
Нач значение                

· Биты 7:0 - COMP[15:8]: старший байт регистра сравнения счетчика реального времени

В данных битах хранятся 8 старших бит 16-битного регистра сравнения.

COMPL - младший регистр сравнения счетчика реального времени

Бит                  
+0x0C
COMP[7:0]
COMPL
Чтение/запись Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт/Зап
Нач значение                

· Биты 7:0 - COMP[7:0]: младший байт регистра сравнения счетчика реального времени

В данных битах хранятся 8 младших бит 16-битного регистра сравнения.

Обзор регистров

Адрес Наименование Бит 7 Бит 6 Бит 5 Бит 4 Бит 3 Бит 2 Бит 1 Бит 0
+0x00 CTRL - - - - - PRESCALER[2:0]
+0x01 STATUS - - - - - - - SYNCBUSY
+0x02 INTCTRL         COMPINTLVL[1:0] OVFINTLVL[1:0]
+0x03 INTFLAGS - - - - - - COMPIF OVFIF
+0x04 TEMP TEMP[7:0]
+0x08 CNTL CNT[7:0]
+0x09 CNTH CNT[15:8]
+0x0A PERL PER[7:0]
+0x0B PERH PER[15:8]
+0x0C COMPL COMP[7:0]
+0x0D COMPH COMP [15:8]

Обзор векторов прерываний

Таблица 17.2. Векторы прерываний RTC и значения смещений их адресов

Смещение Источник Описание прерывания
0x00 OVF_vect Вектор прерывания по переполнению счетчика реального времени
0x02 PER_vect Вектор прерывания по совпадению в счетчике реального времени

Битный счетчик реального времени RTC32

Отличительные особенности

· 32-битная разрешающая способность

· Выборочный источник синхронизации

· 1.024 кГц

· 1 Гц

· Один регистр сравнения

· Один регистр периода

· Сброс таймера при переполнении

· Опциональное прерывание/событие по переполнению и совпадению

· Изолированный домен питания VBAT с возможностями динамического переключения между основным (VCC) и резервным (VBAT) питанием

Обзор

32-битный счетчик реального времени представляет собой 32-битный счетчик, который подчитывает импульсы опорной синхронизации и генерирует события и/или прерывания по достижению заданного порога сравнения и/или вершины счета (TOP). Опорная синхронизация генерируется высокоточным кварцевым генератором частоты 32.768 кГц, который спроектирован с учетом минимального энергопотребления. Счетчик реального времени, как правило, используется в экономичных режимах работы МК для сохранения счета времени и возобновления активной работы через регулярные интервалы времени.

Модуль RTC32 может синхронизироваться частотой 1.024 кГц или 1Гц, которая получена в результате деления частоты опорной синхронизации 32.768 кГц. Счетчик генерирует запрос на прерывание и/или событие по совпадению, когда его значение становится равным значению в регистре сравнения. В свою очередь, модуль RTC32 генерирует запрос на прерывание и/или событие по переполнению, когда значение счетчика становится равным значению в регистре периода. При переполнении счетчика он обнуляется.

Модуль RTC32 может генерировать прерывания и/или события как по совпадению, так и по переполнению.

Рисунок 18.1. Обзор 32-битного счетчика реального времени

Настройка синхронизации

В качестве источника синхронизации должен использоваться внешний кварцевый генератор частоты 32.768 кГц. При этом, вход синхронизации модуля RTC32 может быть соединен с выходом 1.024 кГц или 1 Гц этого генератора.

Домены синхронизации

Модуль RTC32 является асинхронным. Это означает, что он синхронзируется от отдельного источника, который полностью независим от основной системной синхронизации и производных от нее сигналов (например, синхронизация УВВ). На обновление регистров управления и счетчика требуется некоторое число циклов синхронизации RTC32 и/или УВВ. Это число циклов характеризует задержку времени от момента выполнения записи в регистр до вступления выполненных изменений в силу. Точное значение данной задержки приводится при описании каждого регистра.

Чтобы выполнить доступ к регистрам управления и счета (чтение или запись), частота синхронизации УВВ должна быть минимум в 8 раз больше частоты синхронизации RTC32 (1.024 кГц или 1 Гц), за исключением записи в регистр счетчика. Для выполнения этой операции соотношение частот должно быть не меньше 12.

Домена питания

Если в МК модуль RTC32 размещен в домене питания VBAT, то счетчик реального времени будет нормально функционировать даже при отсутствии напряжения VCC. Учтите, что при питании счетчика от домена VBAT в качестве источника синхронизации может использоваться только выход 1 Гц. Переход с питания от домена VCC к питанию от домена VBAT происходит автоматически, когда обнаруживается снижение напряжения VCC ниже рабочего уровня. После восстановления нормального уровня VCC, происходит автоматический возврат на питание от напряжения VCC.

События и прерывания

Модуль RTC32 может генерировать как прерывания, так и события. Запрос на прерывание и/или событие по совпадению генерируется, когда значение счетчика становится равным значению регистра периода. В результате переполнения, также происходит обнуление счетчика.

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

Описание регистров

CTRL - регистр управления

Бит                  
+0x00
- - - - - - - ENABLE
CTRL
Чтение/запись Чт. Чт. Чт. Чт. Чт. Чт. Чт. Чт/Зап
Нач значение                

· Биты 7:1 - Res: резервные биты

Данные биты не используются и зарезервированы для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нули в резервные биты.

· Бит 0 - ENABLE: разрешение работы модуля RTC32

Запись в данный бит единицы разрешает работу RTC32. Время синхронизации между модулем и доменами системной синхронизации составляет половину цикла синхронизации RTC32. Под синхронизацией здесь понимается промежуток времени с момента записи в регистр до вступления выполненных изменений в силу домене синхронизации RTC32 (в данном случае до запуска счетчика реального времени).

Чтобы счетчик начал работу, также необходимо записать отличное от нуля значение в регистр периода PER.



Поделиться:


Последнее изменение этой страницы: 2016-12-30; просмотров: 339; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.221.111.22 (0.012 с.)