18.3. Описание регистров
18.3.1. CTRL - регистр управления
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x00 |
|
CTRL |
Чтение/запись |
Чт. |
Чт. |
Чт. |
Чт. |
Чт. |
Чт. |
Чт. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Биты 7:1 - Res: резервные биты
Данные биты не используются и зарезервированы для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нули в резервные биты.
- Бит 0 - ENABLE: разрешение работы модуля RTC32
Запись в данный бит единицы разрешает работу RTC32. Время синхронизации между модулем и доменами системной синхронизации составляет половину цикла синхронизации RTC32. Под синхронизацией здесь понимается промежуток времени с момента записи в регистр до вступления выполненных изменений в силу домене синхронизации RTC32 (в данном случае до запуска счетчика реального времени).
Чтобы счетчик начал работу, также необходимо записать отличное от нуля значение в регистр периода PER.
18.3.2. SYNCCTRL - регистр управления/статуса синхронизации
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x01 |
- |
- |
- |
SYNCCNT |
- |
- |
- |
SYNCBUSY |
|
SYNCCTRL |
Чтение/запись |
Чт. |
Чт. |
Чт. |
Чт./Зап. |
Чт. |
Чт. |
Чт. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Биты 7:5 - Res: резервные биты
Данные биты не используются и зарезервированы для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нули в резервные биты.
- Бит 4- SYNCCNT: разрешение синхронизации счетчика CNT
Запись единицы в данный бит запустит синхронизацию регистра CNT из домена синхронизации RTC32 с доменом системной синхронизации. Данный бит автоматически сбрасывается по завершении синхронизации.
- Биты 3:1 - Res: резервные биты
Данные биты не используются и зарезервированы для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нули в резервные биты.
- Бит 0 - SYNCBUSY: флаг занятости модуля RTC32 синхронизацией
Данный флаг становится равным единице, когда регистры CTRL или CNT заняты синхронизацией доменов синхронизации RTC32 и системной синхронизации. Синхронизация регистра CTRL запускается одновременно с записью в него. Синхронизация регистра CNT запускается одновременно с записью его старшего байта.
18.3.3. INTCTRL - регистр управления прерываниями
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x02 |
- |
- |
- |
- |
COMPINTLVL[1:0] |
OVFINTLVL[1:0] |
|
INTCTRL |
Чтение/запись |
Чт. |
Чт. |
Чт. |
Чт. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Биты 7:4 - Res: резервные биты
Данные биты не используются и зарезервированы для использования в будущем. Для совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нули в резервные биты.
- Биты 3:2 - COMPINTLVL[1:0]: разрешение прерывания по совпадению в RTC32
С помощью данных бит можно разрешить прерывание по совпадению в RTC и задать его уровень (см. раздел 12 "Прерывания и программируемый многоуровневый контроллер прерываний"). Разрешенное прерывание генерируется при установке флага COMPIF в регистре INTFLAGS.
- Биты 1:0 - OVFINTLVL[1:0]: разрешение прерывания по переполнению RTC32
С помощью данных бит можно разрешить прерывание по переполнению RTC и задать его уровень (см. раздел 12 "Прерывания и программируемый многоуровневый контроллер прерываний"). Разрешенное прерывание генерируется при установке флага OVFIF в регистре INTFLAGS.
18.3.4. INTFLAGS - регистр флагов прерываний
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x03 |
|
INTFLAGS |
Чтение/запись |
Чт. |
Чт. |
Чт. |
Чт. |
Чт. |
Чт. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Биты 7:2 - Res: резервные биты
Данные биты являются резервными и всегда считываются с нулевыми значениями.
- Бит 1 - COMPIF: флаг прерывания по совпадению в RTC32
Данный флаг становится равным единице во время очередного приращения счетчика после обнаружения условия совпадения. Флаг сбрасывается автоматически при переходе на вектор прерывания по совпадению в RTC32. Альтернативно, флаг можно сбросить записью в него единицы.
- Бит 0 - OVFIF: флаг прерывания по переполнению RTC
Данный флаг становится равным единице во время очередного приращения счетчика после обнаружения условия переполнения. Флаг сбрасывается автоматически при переходе на вектор прерывания по переполнению RTC. Альтернативно, флаг можно сбросить записью в него единицы.
18.3.5. CNT3 - регистр счетчика 3
В регистрах CNT3, CNT2, CNT1 и CNT0 хранится 32-битное значение CNT. CNT посчитывает положительные фронты импульсов синхронизации модуля RTC32.
Запись в регистр CNT3 инициирует запуск механизма синхронизации записи нового значения CNT в домен синхронизации RTC. С момента обновления регистра до вступления в силу внесенных изменений в домене синхронизации RTC проходит до 12 циклов синхронизации УВВ. Операция записи в регистр CNT будет заблокирована, если флаг SYNCBUSY окажется равным единице.
Синхронизацию значения CNT от домена RTC к домену системной синхронизации можно выполнить записью единицы в бит SYNCCNT регистра CTRL. Обновленное и синхронизированное значение регистра CNT станет доступным после 8 циклов синхронизации УВВ.
После записи старшего байта регистра CNT, условие установки OVFIF и COMPIF, а также условия возобновления по переполнению и совпадению будут отключены в течение последующих двух циклов синхронизации RTC.
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x07 |
|
CNT3 |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
18.3.6. CNT2 - регистр счетчика 2
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x06 |
|
CNT2 |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
18.3.7. CNT1 - регистр счетчика 1
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x05 |
|
CNT1 |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
18.3.8. CNT0 - регистр счетчика 0
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x04 |
|
CNT0 |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
18.3.9. PER3 - регистр периода 3
В регистрах PER0, PER1, PER2 и PER3 хранится 32-битное значение PER. Значение PER непрерывно сравнивается со значением счетчика (CNT). При обнаружении совпадения устанавливается флаг OVFIF в регистре INTFLAGS, а во время следующего цикла синхронизации RTC32 будет выполнено обнуление счетчика.
Запись в регистр PER возможна только, когда модуль RTC32 отключен и не занят синхронизацией, т.е. когда оба бита ENABLE и SYNCBUSY равны нулю.
После записи старшего байта регистра PER, условие установки OVFIF, а также условие возобновления по переполнению будут отключены в течение последующих двух циклов синхронизации RTC.
После сброса МК регистр равен 0x0000, поэтому, чтобы счетчик начал счет, в данный регистр необходимо записать отличное от нуля значение.
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x0B |
|
PER3 |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
18.3.10. PER2 - регистр периода 2
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x0A |
|
PER2 |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
18.3.11. PER1 - регистр периода 1
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x09 |
|
PER1 |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
18.3.12. PER0 - регистр периода 0
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x08 |
|
PER0 |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
18.3.13. COMP3 - регистр сравнения 3
В регистрах COMP0, COMP1, COMP2 и COMP3 хранится 32-битное значение COMP. Значение COMP непрерывно сравнивается со значением счетчика (CNT). При обнаружении совпадения устанавливается флаг COMPIF в регистре INTFLAGS и генерируется опциональное прерывание.
Если значение COMP окажется больше значения PER, прерывания и события по совпадению в RTC не будут генерироваться вообще.
После записи старшего байта регистра COMP, условие установки OVFIF и COMPIF, а также условия возобновления по переполнению и совпадению будут отключены в течение последующих двух циклов синхронизации RTC.
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x0F |
|
COMP3 |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
18.3.14. COMP2 - регистр сравнения 2
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x0E |
|
COMP2 |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
18.3.15. COMP1 - регистр сравнения 1
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x0D |
|
COMP1 |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
18.3.16. COMP0 - регистр сравнения 0
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0x0C |
|
COMP0 |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|