微信图片_20220824085504.jpg


1

  概 述   


常见的RTC芯片,大致可分为三类:

  • 非集成RTC:只有RTC计时电路,不集成晶体,不集成温度补偿电路,这类芯片的计时精度主要取决于外接晶体的精度,而且受温度影响大,通常在室温环境下才能够保持较高的精度。

  • 集成晶体的RTC:将RTC计时电路和晶体集成,但一般没有温度补偿电路,同样是只有在室温环境下才能够保持较高的精度。

  • 集成RTC:RTC计时电路、晶体、温度补偿电路(含温度传感器)都集成在一颗芯片中,出厂时进行调校。这类RTC的计时精度可以做的很高,由于温度补偿电路,其受温度的影响非常小。

PT32x033综合这三者的优势和应用场景,集成的RTC支持内部低速RC震荡时钟(LSI)或低速外部晶体或陶瓷谐振器时钟(LSE),一个内部的高精度补偿机制提供最大0.953ppm的补偿单元,可以为血糖仪应用提供高精度和高准度的实时时钟。



1.1


无需外部分立元件!集成振荡电路的LSE时钟


微信图片_20220824085549.png

1.集成振荡电路的LSE时钟


仅需一个32.768Khz的晶振!即可实现LSE时钟。

PT32x033集成了片内的可变电容和可调电阻,作为振荡电路的负载电容和反馈电阻,可变电容支持2pF~30pF的调节,反馈电阻支持6~8MΩ的调节,降低了电容和电阻的成本,为PCB Layout提供更友好的支持。

两个寄存器被用于配置这些集成的分立器件:

外部低速时钟控制寄存器1(RCC_LSECR1)(地址0x4000_1828)

外部低速时钟控制寄存器2(RCC_LSECR2)(地址0x4000_182C)


 注  调整负载电容时,应当考虑数据手册中给出的引脚电容。

1.2


带补偿机制的RTC实时时钟


实时时钟是一个独立的定时器,在系统复位时或低功耗模式下,RTC的设置不变,内部计数器仍旧计数。

RTC拥有一组日历寄存器组,一个连续计数的计数器用于更新这组寄存器,在相应软件配置下,可提供日历时钟的功能,修改这个日历寄存器组的值可以重新设置系统当前的时间和日期,计数器则从修改的时间点继续开始计数。

一组软件配置的闹钟寄存器组则用于支持RTC的闹钟功能,当闹钟发生时,中断或者标志置位。

内部的高精度补偿机制提供最大0.953ppm的补偿单元。

微信图片_20220824085823.jpg

2.RTC的框图


1.2.1


RTC配置的例程


RTC的基本配置在标准库函数钟,仅需几个简单的步骤,如下图所示。

微信图片_20220824085900.png

3.RTC配置例程

 注  

1. 默认的参数配置使用LSE作为RTC时钟源

2. 保障RTC正常运行,任何情况下,都应避免关闭RTC时钟源



1.2.2


使用RTC补偿机制补偿RTC


微信图片_20220824090012.png

通过设置RTC_CR寄存器(地址0x4001_3C00)的TME位为1以使能RTC补偿机制,通过配置RTC_TRIM寄存器的TRIM[8:0]位(地址0x4001_3C3C),以选择所要补偿的值,补偿机制公式如下:

微信图片_20220824090045.png


其中:

  • TRTC_BEACON为1hz的时标信号周期值

  • T1hz为理论的1hz信号周期值


微信图片_20220824090105.png

 注  

1. TRIM[8:0]为9位的有符号数

2. 补偿机制仅建议在MCU外部工作环境(温度、湿度)波动较小的场合使用

3. RTC补偿机制以时标信号为参考,使用时,需要使能时标信号输出

来源: 芯师爷 作者: