STM32L单片机调整晶振的驱动能力

  • Post author:
  • Post category:其他


一、问题:

用STM32L073RZT6做产品时,发现单片机经常复位。最终定位是晶振问题。主要表现为,示波器无法检测出晶振的脉冲信号;

注:检测不到脉冲信号是因为,单片机的晶振引脚受到了,示波器的探针干扰;

为什么单片机的晶振引脚,怎么容易受到干扰呢?如何提高晶振的抗干扰能力呢?

二、分析排查:

晶振抗干扰能力弱,主要从两个方面去解决,一个硬件的电路是否匹配,还有就是软件配置是否合适;排查硬件没有问题后,只能是软件配置问题;

三、提高晶振驱动能力:

通过芯片技术手册,STM32L073RZT6芯片的晶振驱动能力是可以进行配置的。并且有不同的等级。如下图所示。

检查软件代码中晶振驱动能力配置情况。发现代码中没有对晶振的驱动能力(即晶振增益余量)没有进行配置,采用的是芯片的默认值,并通过寄存器发现其默认值为Lower driving capability,为最低的驱动能力,这种状态下晶振容易停振,是否可以确定是软件的晶振驱动能力配置太低了。通过更改晶振驱动能力的配置,现配置为higher driving capability驱动模式,配置代码如下图所示。

四、结果

配置完之后的测试波形如下

由于软件没有对晶振的驱动能力进行合理性配置,导致晶振的驱动能力为最低的功率驱动,导致很容易受到外界的干扰,影响表系统的正常运行。通过更改软件代码,提高晶振驱动能力,可以大大提高晶振的抗干扰能力。



版权声明:本文为weixin_42744551原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。