RTC实时时钟
BKP可以在VBAT维持供电时,完成主电源掉电时,保存少量数据的任务。备份寄存器和VBAT引脚同时存在,更多是为了服务RTC的。
目前,Linux、Windows、安卓这些系统,底层的计时系统都是使用的Unix时间戳,Unix Timestamp,
只计秒的好处:简化硬件电路,不用考虑年月日寄存器、仅为
时间间隔计算很方便
存储方便
但是比较占用软件资源,需要转换位年月日
2038年32的计时系统可能会出问题。
UTC的闰秒机制可能导致一分钟出现61秒的情况,
BKP会读写相关寄存器就行,RTC需要重点掌握,TAMPER引脚是一个安全保障设计,防拆功能,如果BKP里存储了一些敏感数据,可以使用TAMPER的侵入检测功能,先加一个默认的上拉和下拉电阻,到设备外壳的防拆开关和触点。在TAMPER产生下降沿或上升沿,STM32检测到侵入时间了,BKP数据自动清空并申请中断,在中断里,还可以继续保护设备,比如清楚其他存储器数据,然后设备锁死。
后备区域不只有BKP,还有RTC的相关电路,STM32后备区域特点,当VDD主电源掉电时,后备区域可由VBAT备用电池供电。
BKP主要由数据寄存器(主要部分用来存储数据,每个数据16位,1个数据寄存器存储两个字节)、状态寄存器、控制寄存器和RTC时钟校准寄存器(当输出校准时钟时,再配合寄存器,可以对RTC的误差进行校准(如何实现的?))