本帖最后由 Killoser 于 2022-6-8 10:12 编辑

ST处理器的RTC时钟所使用的32.768KHz晶振的选型

当利用ST处理器做产品开发时,如果有使用其中的RTC功能,而且使用外部32.768KHz的晶振作为其时钟源,如果晶振及其负载电容选择不当,可能会出现时钟非常不准,甚至出现晶振不起振的情况。

特别是批量生产出货量比较大时,更有可能碰到部分产品的晶振不起振的情况。

晶振电路

几乎所有的振荡电路都采用了Pierce(皮尔斯)电路。

该电路简单,工作有效而且稳定。

如下,该设计包含一个反相器、一个电阻、一个石英晶体、两个小电容。

石英晶体在此作为高选择度的滤波元件:
3a583813fd1a4e3ea5b914f798be9991?from=pc.jpg
皮尔斯振荡电路

激励功率计算公式如下:

Inv:内部反相器器,作用等同于放大器。
Q:石英或陶瓷晶振。
Rf:内部反馈电阻(它的存在使反相器工作在线性区, 从而使其获得增益,作用等同于放大器)。
RExt:外部限流电阻。
CL1和CL2:两个外部负载电容。
Cs:由于PCB布线及连接等寄生效应引起的等效杂散电容(OSC_IN和OSC_OUT管脚上)

跨导裕度的要求

早在1988年, Eric Vittoz发表了晶振RLC动态等效电路的相关理论研究。

根据该理论,反相器跨导gm必须大于gmcrit才能满足起振条件,为保证可靠性,还必须满足至少5倍的关系;即:gmargin = gm / gmcrit>5;
而gmcrit = 4 x ESR x (2πF)² x (C0 + CL)²,

ESR、C0、CL都可以从晶振规格书中获取,gm可以从处理器的规格书中获得;

以Murata的晶振为例,如下图:
d8243f3651bb4aa095a434bd99531873?from=pc.jpg
Murata晶振参数

对于负载电容为12.5pF的电容,其gmcrit = 4 x ESR x (2πF)² x (C0 + CL)² 7d477cdd95ab4f86bb1a375365e4d38f.jpg a15c087f7fe048c4965bfe726631614b.jpg
即处理器的标称的跨导gm必须要大于5x1.987uA/V=9.94uA/V。

ST 处理器支持的晶振

从STM32F051R8T6的规格书中,

我们知道,其跨导gm为:
2240aa3f2125432cbaeee2db7f3d4293?from=pc.jpg
STM32F051R8T6的跨导

从规格书中,我们知道,STM32F051R8T6的晶振驱动能力可以通过(RCC_BDCR)寄存器进行配置,默认为高驱动能力。


cb35c824bb4a4ed0ab39889dc8f8704b?from=pc.jpg

晶振驱动能力的选择

由此,当STM32F051R8T6的处理器选择晶振的中-高或者高驱动能力时,可以使用负载电容为12.5pF的晶振。

对于STM32F103RCT6,则是另一种情况,规格书标称的参数为:

87ea1b55ae6e4b29a4fe6625d0fba63e?from=pc.jpg

STM32F103RCT6的跨导

STM32F103RCT6的晶振驱动能力不能通过寄存器设置,其固定为5uA/V。

不满足负载电容为12.5pF的晶振的跨导要求,只能使用负载电容为6pF的晶振。

来源:物联网全栈开发