I.MX6UL RTC实时时钟简介

1.I.MX6UL RTC简介

I.MX6Ul 实时时钟为SNVS,SNVS 直译过来就是安全的非易性存储,SNVS 里面主要是一些低功耗的外设,包括一个
安全的实时计数器(RTC)、一个单调计数器(monotonic counter)和一些通用的寄存器

SNVS分为SNVS_HP和 SNVS_LP也就是高功耗域(SNVS_HP)和低功耗域(SNVS_LP)

78/5000

下图说明了SNVS的低功耗和芯片电源域。

I.MX6UL RTC实时时钟简介

2.重要寄存器

1.LPCR

I.MX6UL RTC实时时钟简介

SRTC使能位

2.LPSRTCMR

SNVS_LP安全实时计数器MSB寄存器包含15个最高有效位LP安全实时计数器的位。

I.MX6UL RTC实时时钟简介

3.LPSRTCLR

SNVS_LP安全实时计数器LSB寄存器包含32个最低有效位安全实时计数器的位。

I.MX6UL RTC实时时钟简介

以上是数据手册中对SRTC的介绍,但经过测试发现并不准确,实测结果如下

SRTC 计数器是 32 位的,不是 47 位!
SNVS_SRTCMR 的 bit14:0 这 15 位是 SRTC 计数器的高 15 位。
SNVS_SRTCLR 的 bit31:bit15 这 17 位是 SRTC 计数器的低 17 位。

 

 

总结:

使用实时时钟只需要对 LPSRTCMR和LPSRTCLR寄存器进行操作

读取这两个寄存器就可以得到正确的时间

设置时间时只需向这两个寄存器写入争取的值即可

最后记得使能LPCR寄存器中的第0位来开启SRTC