Download Using the hardware real-time clock (RTC)

Transcript
Contents
AN3371
Contents
1
Overview of the STM32 advanced RTC . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1
1.2
1.3
1.4
RTC calendar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.1
Initializing the calendar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.2
RTC clock configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
RTC alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.1
RTC alarm configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.2
Alarm sub-second configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
RTC periodic wakeup unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.1
Programming the Auto-wakeup unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.2
Maximum and minimum RTC wakeup period . . . . . . . . . . . . . . . . . . . . 15
RTC digital calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.1
RTC coarse calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.2
RTC smooth calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5
Synchronizing the RTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.6
RTC reference clock detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.7
Time-stamp function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.8
RTC tamper detection function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.8.1
Edge detection on tamper input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.8.2
Level detection on tamper input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.8.3
Active time-stamp on tamper detection event . . . . . . . . . . . . . . . . . . . . 25
1.9
Backup registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.10
RTC and low-power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.11
Alternate function RTC outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.12
1.11.1
RTC_CALIB output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.11.2
RTC_ALARM output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
RTC security aspects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.12.1
RTC register write protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.12.2
Enter/exit initialization mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.12.3
RTC clock synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2
Advanced RTC features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3
RTC firmware driver API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2/45
Doc ID 018624 Rev 5