晶振明明在振,示波器探头一碰为什么反而停了?
晶振明明在振,示波器探头一碰为什么反而停了?
板子偶发不起振,最直接的动作当然是拿示波器看晶振。
可探头刚碰到OSC脚,波形没看到,系统反而彻底不跑了;探头拿开、重新上电,有时又恢复。
这种现象不能直接得出“晶振本来就没振”的结论。因为你测的不是一个低阻数字输出,探头本身已经进入了振荡回路。
MCU常见Pierce Oscillator里,晶体、内部反相放大器、反馈和外部Load Capacitors一起构成振荡环路。
OSC_IN、OSC_OUT节点通常比较敏感,ST在AN2867里甚至把走线长度、负载电容对称、周围地和Test Point数量都列为稳定性因素。
因此看到16MHz晶振,不代表可以像测16MHz GPIO那样随手挂一支探头。

图1:工艺/结构示意。
因为高频下不能只看10MΩ这个直流输入电阻,还要看Input Capacitance。
普通10×无源探头常带来数pF到十几pF量级输入电容。对一个本来CL只有几pF到十几pF的晶振网络来说,这不是一个可以忽略的小数。
探头接上去,相当于在这一侧又并了一颗电容,改变实际负载、环路相位和起振条件。振荡裕量足够的板子可能只是频率略偏;裕量不足的板子可能直接停振。

图2:关键影响因素。
NXP在晶振设计资料里建议,直接测XTAL启动时使用低电容有源探头,输入电容最大约1pF,或者通过Buffer Board降低测量扰动。
更早的NXP振荡器应用笔记也建议优先观察Buffered Clock Output,而不是让测量设备直接扰动晶振环路。
如果MCU能把HSE/LSE通过MCO、CLKOUT之类引脚输出,调启动问题时往往更适合先看这个缓冲后的时钟。

图3:排查判断示意。
先核对晶体的CL、ESR和MCU推荐范围,再重新计算外部CL1/CL2,别忽略PCB寄生电容。
检查晶振是不是贴近MCU、两条线是否短而对称、下面有没有高速线穿过、附近有没有频繁翻转信号。
如果一定要直接测OSC节点,用低电容Active Probe,并把Ground连接做得尽量短。
“探头一碰就停”不只是测量麻烦,它也可能在提醒你:这个设计的Negative Resistance / Gain Margin本来就不宽裕。

图4:实际处理建议。
声明:
本文由凡亿教育整理,转载请注明来源!
投稿/招聘/广告/课程合作/资源置换 请加微信:13237418207






哔哩哔哩
微信公众号
小红书
抖音
知乎
西瓜视频
头条
微信视频号
