硬件Bring-up时,晶振不放心,最自然的动作就是拿示波器去量。
结果有时候特别尴尬:不量的时候系统偶尔还能跑,探头一碰晶振脚,直接不起振了。
这种情况先不要把晶振拆掉。你手里的探头,本身可能已经成了晶振电路的一部分。
为什么一个10×探头都能把晶振“压住”MCU常见的Pierce Oscillator,两边都有很小的负载电容,晶体本身又工作在微小能量下。
普通10×被动探头虽然输入电阻很高,但输入电容常常还有几pF到十几pF。
ST的晶振应用笔记举过例子:普通示波器探头约9.5pF,而低电容Active Probe大约1pF。对一个本来就在pF量级上工作的晶振回路,多出来这几pF不是小变化。
Microchip也明确提醒过:探头增加的电容和损耗,足以让振荡器停振。

图1:直接测晶振节点时需要低输入电容探头,图中示意探头电容低于1pF。
晶振脚不是“随便找个点量一下”如果一定要直接量XI/XO,优先用低电容Active Probe或FET Probe。
没有这种探头时,至少选输入电容尽可能小的高阻探头,并把接地做得非常短。普通长鳄鱼夹地线不适合这里。
有些芯片可以在内部Clock Output、MCO/CLKOUT脚把系统时钟输出出来。只是确认“晶振到底有没有工作”时,测这个缓冲后的时钟往往更稳。

图2:晶振节点的探测方式会直接影响观测到的波形,短接地和低负载非常重要。

图3:典型Pierce晶振回路,XI/XO两侧的负载电容本来就在pF量级。
一碰就停,也可能说明振荡裕量不大探头会影响电路,但一个裕量很充足的晶振系统,通常不会因为极小的额外负载就完全崩掉。
如果轻轻加一点探头电容就停振,值得继续查晶振ESR、负载电容选值、PCB寄生、驱动能力和Startup Margin。
所以“探头导致停振”不能只得出一句“以后别量了”。它也可能提示这个晶振回路本身已经在稳定边缘。
Layout上也有几件事值得回头看晶体和两颗负载电容尽量靠近芯片,XI/XO走线短,别让高速数字线、SW节点从旁边穿过去。
两颗电容到地的回路也要短。Datasheet要求串联Rs或者限制驱动等级时,按当前料号推荐值做,不要照搬上一颗MCU。
调这类问题时,先确认“测量有没有把电路改掉”,再判断“晶振有没有坏”。

图4:晶振上电后需要经过启动过程才能建立稳定振幅,启动裕量不足时更容易受外部负载影响。
声明:
本文由凡亿教育整理,转载请注明来源!
投稿/招聘/广告/课程合作/资源置换 请加微信:13237418207

扫码关注




















![[物联网] 基于OpenMV+Arduino的水果分拣装置](https://api.fanyedu.com/uploads/image/41/aad5f83a450cb87dbd8e896c8bd7bc.jpg)





















