STM32是ST公司推出的一系列基于ARM Cortex-M 32位处理器的微控制器。其中,RTC(Real Time Clock)是其中一种常见的外设,用于实时时钟的计时与定时,通常被用于时间戳或定时器应用。
RTC使用的主要是外部32.768kHz晶体振荡器作为时钟源,本文将对这一部分作详细探讨。
32.768kHz晶体振荡器是由石英晶体振荡器与集成谐振电路组成的一种振荡器。这一频率的选择是因为它刚好是2的15次方,方便二进制计数。
RTC外设需要一个稳定的时钟源,所以选择了32.768kHz晶体振荡器。在STM32中,外部振荡器的封装可以是TO-39、SMD贴片、铝电解电容封装等形式。
在使用32.768kHz晶体振荡器时,需要注意一些细节:
在一些应用场合中,如果半导体掉电或者复位,RTC计数器的计数值就会丢失,需要将实时时钟的计数值保存在芯片内部,以便于在掉电或者复位之后自动恢复。因此,在STM32的RTC外设中,提供了一个低速时钟源备份,以实现RTC计数值的自动恢复。
在大多数STM32产品中,备份低速时钟源是由专用的备份供电管脚提供的。在这种情况下,使用32.768kHz晶体振荡器作为外部时钟源,同时将其连接到备份供电管脚。这种方法可以保证即使大部分电源关闭或不工作,应用程序仍然可以访问RTC计数器。