STM32 的 HSE 晶振起振不稳怎么排查?

STM32 · 3 浏览
STM32 的 HSE 晶振起振不稳怎么排查?

回答(4)

建议用逻辑分析仪抓HSERDY标志位变化,如果反复置位/清零,多半是晶振停振,检查焊接和ESD保护。
硬件小白 · 2026-08-19
补充一点:如果用的是外部时钟源,直接配HSE_Bypass模式,别让内部振荡器参与,能省很多麻烦。
码农小飞 · 2026-08-19
我遇到过类似问题,最后发现是负载电容焊错了,从15pF换成22pF就好了,先查硬件再动软件。
嵌入式老张 · 2026-08-19
HSE起振不稳通常涉及硬件、PCB布局和软件配置三方面。首先,用示波器(10x探头,带宽≥100MHz)测OSC_IN/OSC_OUT波形,正常应看到正弦波且幅度在0.4~VDD之间,若幅度过小或失真,检查负载电容(典型12~22pF,需匹配晶振CL值)和反馈电阻(1~10MΩ)。其次,检查PCB走线:晶振靠近MCU,走线短且等长,避免过孔和交叉,地线包络隔离。软件上,确认RCC配置正确,启动时等待HSERDY标志,若超时则复位重试。可尝试降低驱动能力(RCC_HSEConfig中的HSE_Bypass或调整PLL倍频)。若仍不稳,用示波器观察上电瞬间,看是否因电源噪声或ESD引起,建议在VDD脚加100nF+10uF去耦。最后,若晶振本身质量差(如ESR过高),更换品牌或改用有源晶振。
mcuku 阿沐 · 2026-08-19