你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32H743 HSE 48MHz晶振无法实现

[复制链接]
ollie_shen@163. 提问时间:2026-1-6 18:57 / 未解决

你好

根据STM32H7datasheet上的说明HSE外部晶振范围为4M-48MHz,但是我们使用官方STM32H7IIT6-EVAL评估板,对原先的HSE外部25MHz贴片无源晶振进行更换成48Mhz无源晶振后,无法从MCO-PA8引脚得到相应的48MHz频率。

总结:尝试了4M-40MHz的常规无源晶振均可,但是超过40MHz的外部无源晶振(48MHz),MCO输出波形频率为16MHz,即3分HSE频,无法输出48MHz。

请给出解决方案,或者提出我们可以改进测试的地方。十分感谢!

赞 收藏 评论4 发布时间:2026-1-6 18:57

举报

4个回答
fafa1 回答时间:2026-1-7 08:28:13

STM32H7 的 HSE 规格虽然写着“4 MHz–48 MHz”,但数据手册里还有一条极易被忽略的限制: 当 HSE ≥ 26 MHz 时,必须把 HSEEXTBYP 位置 1(即“旁路模式”),否则内部反相器增益不足,振荡幅度过小,PLL 参考计数器会直接把 HSE 当成“ 3 分频”来锁,于是你在 MCO 上看到 48 MHz → 16 MHz 的现象

。

另外,MCO 本身还有 GPIO 速度等级限制: PA8 在 Very-high speed 下最大 100 MHz,但芯片内部到焊盘的缓冲级在 40 MHz 以上衰减明显,所以 ST 官方评估板只保证 4–26 MHz 无源晶振能完整输出,48 MHz 无源晶振即使起振,也会被焊盘电容和缓冲级再“吃掉”一部分幅度,看起来就像 3 分频。

综合结论

  1. 48 MHz 无源晶振 必须 设旁路模式(HSEBYP=1,HSEON=1)。
  2. 若一定要从 MCO 引脚输出 48 MHz,请改用 有源晶振 (方波或正弦)直接灌到 OSC_IN,OSC_OUT 悬空,并把 MCO 分频设 1。
  3. 如果只是为了给 USB、ETH、SAI 等外设提供 48 MHz 参考,不必在 MCO 上硬输出,直接内部走 PLL 即可,MCO 仅作调试,40 MHz 以下无源晶振更稳妥。

照此修改后,48 MHz 信号在内部 PLL 和 USB 模块都能正常锁到 48 MHz,MCO 若仍要输出,可接受轻微衰减或改用有源方案即可

butterflyspring 回答时间:2026-1-7 10:18:49
手册上明确写明了可以支持到48MHZ,并且还有测试的条件,说明厂家经过严格验证的,肯定可以用的。


注意到MCO 输出了16MHZ的信号,所以请检查以下使用的48MHZ晶体是不是泛音晶体,这种晶体是以16Mhz 为基波的,要锁住3倍频,需要泛音电路。 如果是泛音晶体,最好还是换成基频晶体,并根据晶体厂家规格书,调整相应的外部电容参数。
qintian0303 回答时间:2026-1-7 11:02:48

外部无源晶振(48MHz)正常起振了吗?

xmshao 回答时间:2026-1-7 11:54:06

STM32H743外部HSE使用48MHz晶体应该是没问题的。

MCO的输出来源可以很多选择,未必一定直接来自HSE,也可以是别的总线时钟。

你可以先基于你说的4M-40MHz这些晶体作为时钟源,针对比较高的总线时钟通过MCO输出看看是否正常。如果这些都OK,再使用48MHZ晶体作时钟源,再作时钟配置,也通过MCO输出看看能否正常,如果不正常,可能要确认下此时的48MHz晶体是否真的震荡起来了,对晶振本身及外围电容参数做些确认或调整。

另外,顺便提醒下,如果MCO要输出较高频率时钟信号,记得将MCO管脚的输出速率相应配置高点。在CubeMx那里就是MCO对应的GPIO的输出速率选项:low speed, medium,high这些。

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版