最近遇到STM32G4晶振两端无波形,以为没启震,最终发现是示波器探头的问题,其探头实际电容为200pf,MCU晶振管脚驱不动。实际上有一个MCO功能,可以将晶振的波形通过此功能输出到一个管脚上查看。刚好顺带了解晶振电路的原理。大家都知道,晶振电路由一个晶振和两个电容组成,另外大家也知道LC震荡电路,要是晶振可以变成电感就可以了。刚好下图是晶振的频域特性,可以看到当频率在Fs和Fa之间时为感性负载,这时就可以看作电容三点式LC振荡器,电感和电容相互充放电,不考虑损耗,不就震荡起来了吗。
另外计算Fs,Fa ,Fp的公式如下:
就可以探究下为啥200pf的探头测不出波形了。查看所用的晶振参数,可以算出,Fs=32738.295,Fa=32827.47,负载电容和Fp的关系:
可以看到比较接近32.768的是6pf左右,另外换成200pf的电容也是可以启震的,探头加上去不行,应该是两端的电容不匹配,另一个是探头的输入电阻。