STM32

Регистры часов реального времени в микроконтроллерах STM32F2xx

Регистры часов реального времени используются для настройки и работы модуля RTC. Для доступа к регистрам необходимо установить бит разрешения записи PWR_CR.DBP и разрешить запись путем последовательного занесения в регистр RTC_WPR чисел 0xCA и 0x53. 

 Регистр времени RTC_TR

Регистр времени содержит значение текущего времени в BCD-формате. Доступен для записи только в режиме инициализации

Бит

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

Назв.

Резерв

PM

HT

HU

Статус

rw

rw

rw

rw

rw

rw

rw

Бит

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Назв.

Рез

MNT

MNU

Рез

ST

SU

Статус

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

Бит 22. PM: AM/PM – значение  (0: AM или 24-часовой формат, 1:PM)

Биты 21:20 HT[1:0] Десятки часов в BCD формате

Биты 19:16 HU[3:0] Единицы часов в BCD формате

Биты 14:12 MNT[2:0] Десятки минут в BCD формате

Биты 11:8 MNU[3:0] Единицы минут в BCD формате

Биты 6:4 ST[2:0] Десятки секунд в BCD формате

Биты 3:0 SU[3:0] Единицы секунд в BCD формате

 

Регистр даты RTC_DR

Регистр времени содержит значение текущей даты в BCD-формате. Доступен для записи только в режиме инициализации

Бит

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

Название

Резерв

YT

YU

Статус

rw

rw

rw

rw

rw

rw

rw

rw

Бит

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Название

WDU

MT

MU

Резерв

DT

DU

Статус

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

Биты 23:20 YT[3:0] Десятки лет в BCD формате

Биты 19:16 YU[3:0] Единицы лет в BCD формате

Биты 15:13 WDU[2:0] День недели

                               - 000: не используется

                               - 001: понедельник

                               …

                               -111: воскресенье

Бит 12 MT Десятки месяца в BCD формате

Биты 11:8 MU[3:0] Единицы месяца в BCD формате

Биты 5:4 DT[1:0] Десятки даты в BCD формате

Биты 3:0 DU[3:0] Единицы даты в BCD формате

 

Регистр управления часами RTC_CR

Бит

31

30

29

28

27

26

25

24

 

Резерв

Бит

23

22

21

20

19

18

17

16

Название

COE

OSE

POL

Рез

BKP

SUB1H

ADD1H

Статус

rw

rw

rw

rw

rw

rw

rw

Бит

15

14

13

12

11

10

9

8

Название

TSIE

WUTIE

ALRBIE

ALRAIE

TSE

WUTE

ALRBIE

ALRAE

Статус

rw

rw

rw

rw

rw

rw

rw

Rw

Бит

7

6

5

4

3

2

1

0

Название

DCE

FMT

Резерв

REFCKON

TSEDGE

WUCKSEL

Статус

rw

rw

rw

rw

rw

rw

rw

Бит 23 COE Разрешение подачи сигнала калибровки на выход. Данный бит включает выход AFO_CALIB RTC. (0: не разрешено, 1: разрешено)

Биты 22:21 OSEL[1:0] Выбор функции выхода для AFO_CALIB RTC.

                               00: Отключено

                               01: Событие A

                               10: Событие B

                               11: Сигнал выхода из спящего режима

Бит 20 POL Полярность выхода AFO_CALIB RTC (0: положительная, 1: отрицательная)

Бит 18 BKP Сохранение. При записи единицы сохраняет переход на летнее или зимнее время

Бит 17 SUB1H Вычитание 1 часа. При установке в 1 производится вычитание одного часа для перевода на зимнее время. Если текущий час равен 0, то установка бита не даст результата.

Бит 16 ADD1H Добавление 1 часа. Перевод на летнее время производится при установке бита в 1.

Бит 15 TSIE Разрешение прерывания по внешнему событию. (0: не разрешено, 1: разрешено)

Бит 14 WUTIE Разрешение прерывания по событию выхода из спящего режима. (0: не разрешено, 1: разрешено)

Бит 13 ALRBIE Разрешение прерывания по событию B. (0: не разрешено, 1: разрешено)

Бит 12 ALRAIE Разрешение прерывания по событию A. (0: не разрешено, 1: разрешено)

Бит 11 TSE Разрешение сохранения времени по внешнему событию. (0: не разрешено, 1: разрешено)

Бит 10 WUTE Разрешение выхода из спящего режима по результатам счета. (0: не разрешено, 1: разрешено)

Бит 9 ALRBE Разрешение события B. (0: не разрешено, 1: разрешено)

Бит 8 ALRAE Разрешение события A. (0: не разрешено, 1: разрешено)

Бит 7 DCE Разрешение калибровки. Значение предделителя PREDIV_A должно быть больше 6.

Бит 6 FMT Формат времени (0: 24 часовой, 1: 12 часовой)

Бит 4 REFCKON Разрешение определения опорной частоты. (0: не разрешено, 1: разрешено)

Бит 3 TSEDGE Установка фронта срабатывания для внешнего события. (0: передний, 1: задний). При смене фронта, TSE должен быть сброшен.

Биты 2:0 WUCKSEL[2:0] Источник частоты для счетчика выхода из спящего режима.

                               000: RTC/16

                               001: RTC/8

                               010: RTC/4

                               011: RTC/2

                               10x: ck_spre (обычно 1 Гц)

                               11x: ck_spre (обычно 1 Гц) и добавление одного бита в счетчик WUT

Биты 7,6,4 регистра управления доступны для записи только в режиме инициализации. Биты 2:0 могут быть изменены при RTC_CR WUTE = 0 и RTC_ISR WUTWF = 1

 

Регистр инициализации и состояния часов RTC_ISR

Бит

31

30

29

28

27

26

25

24

 

23

22

21

20

19

18

17

16

Название

Резерв

Бит

15

14

13

12

11

10

9

8

Название

Рез

TAMP1F

TSOVF

TSF

WUTF

ALRBF

ALRAF

Статус

rc_w0

rc_w0

rc_w0

rc_w0

rc_w0

rc_w0

Бит

7

6

5

4

3

2

1

0

Название

INIT

INITF

RSF

INITS

Рез

WUTWF

ALRBF

ALRAF

Статус

rw

r

rc_w0

r

r

r

r 

Бит 13 TAMP1F Флаг обнаружения несанкционированного доступа

Бит 12 TSOVF Переполнение буфера внешних событий. Флаг устанавливается, когда TSF уже установлен. Рекомендуется проверять и очищать данный флаг одновременно с TSF.

Бит 11 TSF Флаг внешнего события.

Бит 10 WUTF Флаг выхода из спящего режима.

Бит 9 ALRBF Флаг события B. Устанавливается, когда значение счетного регистра совпадает с RTC_ALRMBR

Бит 8 ALRAF Флаг события A. Устанавливается, когда значение счетного регистра совпадает с RTC_ALRMAR

Бит 7 INIT Режим инициализации (0: рабочий режим, 1: режим инициализации). При установке 1, счетчик времени останавливается, доступна запись в счетные регистры и предделитель. Счет возобновляется после сброса данного бита.

Бит 6 INITF Флаг инициализации. (0: рабочий режим, 1: режим инициализации)

Бит 5 RSF Флаг синхронизации. Устанавливается аппаратно, когда счетные регистры копируется в теневые регистры (RTC_TRx  и RTC_DRx). (0: регистры не синхронизированы, 1: регистры синхронизированы)

Бит 4 INITS Флаг состояния инициализации.  Устанавливается аппаратно, когда происходит инициализация счетного регистра. (0: счетный регистр не инициализирован, 1: счетный регистр инициализирован)

Бит 2 WUTWF Флаг установки значения таймера пробуждения (0: рабочий режим , 1: режим установки)

Бит 1 ALRBWF Флаг установки времени события B (0: рабочий режим, 1: режим установки)

Бит 0 ALRAWF Флаг установки времени события A (0: рабочий режим, 1: режим установки)

Регистр RTC_ISR защищен от записи, за исключением битов 13:8.

 

Регистр предделителей RTC_PREP

Бит

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

Название

Резерв

PREDIV_A

Статус

rw

rw

rw

rw

rw

rw

rw

Бит

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Название

Резерв

 

PREDIV_S

Статус

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

 

 

 

 

Биты 22:16 PREDIV_A[6:0] Асинхронный предделитель. Для расчета значения используется формула ck_apre frequency = RTCCLK frequency/(PREDIV_A+1)

Биты 12:0 PREDIV_S[12:0] Синхронный предделитель. Для расчета значения используется формула ck_spre frequency = ck_apre frequency/(PREDIV_S+1)

Регистр доступен только в режиме инициализации. Также регистр защищен от записи.

 

Регистр пробуждения RTC_WUTR

Бит

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

Название

Резерв

Статус

Бит

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Название

WUT

Статус

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

 

 

 

 

Биты 15:0 WUT[15:0] Значение периода пробуждения

Регистр защищен и доступен для записи, если WUTWF=1

 

Регистр калибровки RTC_CALIBR         

Бит

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

Название

Резерв

Статус

Бит

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Название

Рез

DCS

Резерв

DC

Статус

rw

rw

rw

rw

rw

rw

 

 

 

 

Бит 7 DCS Знак калибровочной константы (0: положительная константа, 1: отрицательная константа)

Биты 4:0 DC[4:0] Калибровочная константа

                               DCS=0 (положительная константа)

                               00000: + 0 ppm

00001: + 4 ppm (Округленное значение)

00010: + 8 ppm (Округленное значение)

...

11111: + 126 ppm (Округленное значение)

DCS = 1 (отрицательная константа)

00000: −0 ppm

00001: −2 ppm (Округленное значение)

00010: −4 ppm (Округленное значение)

...

11111: −63 ppm (Округленное значение)

Регистр доступен только в режиме инициализации. Также регистр защищен от записи.

 

Регистр задания события A RTC_ALRMAR

Регистр задания события B RTC_ALRMBR

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

Бит

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

Название

MSK4

WDSEL

DT

DU

MSK3

PM

HT

HU

Статус

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

Бит

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Название

MSK2

MNT

MNU

MSK1

ST

SU

Статус

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

 

Бит 31 MSK4 – Маска даты (0: дата учитывается, 1:дата не учитывается)

Бит 30 WDSEL – Выбор дня недели (0: используется дата, 1: DU[3:0] определяет день недели, DT[1:0] не используется)

Биты 29:28 DT[1:0] Десятки даты в BCD формате

Биты 27:24 DU[3:0] Единицы даты в BCD формате

Бит 23 MSK3 – Маска часов (0: часы учитывается, 1:часы не учитывается в сравнении)

Бит 22. PM: AM/PM – формат (0: AM или 24-часовой формат, 1:PM)

Биты 21:20 HT[1:0] Десятки часов в BCD формате

Биты 19:16 HU[3:0] Единицы часов в BCD формате

Бит 15 MSK2 – Маска минут (0: минуты учитываются, 1: минуты не учитываются)

Биты 14:12 MNT[2:0] Десятки минут в BCD формате

Биты 11:8 MNU[3:0] Единицы минут в BCD формате

Бит 7 MSK1 – Маска секунд (0: секунды учитываются, 1: секунды не учитываются)

Биты 6:4 ST[2:0] Десятки секунд в BCD формате

Биты 3:0 SU[3:0] Единицы секунд в BCD формате

Регистры доступны для записи когда ALRBWF или ALRAWF установлены, или в режиме инициализации.

 

Регистр защиты от записи RTC_WPR

Регистр доступен только для записи. Используется для разблокировки доступа к регистрам RTC.

 

Регистр времени внешнего события RTC_TSTR

Регистр даты внешнего события RTC_TSDR

Пара регистров, доступных только для чтения, в которых сохраняется дата наступления внешних событий. Формат полностью аналогичен соответствующим счетным регистрам RTC_TR, RTC_DR.

 

Регистр альтернативных функций RTC_TAFCR             

Бит

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

Название

Резерв

ALARMOUT TYPE

TSIN SEL

TAMP1 INSEL

Статус

rw

rw

rw

Бит

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Название

Резерв

TAMPIE

TAMP1 TRG

TAMP1E

Статус

rw

rw

rw

 

 

 

Бит 18 ALARMOUTTYPE – Тип выхода AFO_ALARM (0: открытый коллектор, 1: стандартный выход)

Бит 17 TSINSEL – Вход, используемый для TIMESTAMP (0: RTC_AF1, 1: RTC_AF2)

Бит 16 TAMP1INSEL – Вход, используемый для TAMPER1 (0: RTC_AF1, 1: RTC_AF2)

Бит 2 TAMPIE – Разрешение прерывания по событию TAMPER1 (0: запрещено, 1: разрешено)

Бит 1 TAMP1TRG – Активный уровень события TAMPER1(0: передний фронт и высокий уровень, 1: задний фронт и низкий уровень)

Бит 0 TAMP1E – Разрешение обнаружения события TAMPER1(0: запрещено, 1: разрешено)

 

Регистры резервного хранения RTC_BKPxR

Двенадцать 32-разрядных регистров, работающих от напряжения Vbat, при отключении Vdd. Системный сброс, переход в спящий режим не приводят к обнулению данных регистров.

 

 Еще по теме:

Модуль часов реального времени в STM32Fxx

STM32. Работа с базовыми портами ввода/вывода

 

You have no rights to post comments