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

在使用STM32F722RET6芯片时,RCC时钟无法跑在216MHz,仅能运行在一半频率,AHB总线上的外设也仅能减半运行,请问时PCB设计问题还是芯片问题?

[复制链接]
非人类的邪灵 提问时间:2025-12-8 20:36 / 未解决

最开始出现的问题是:通过CubeIDE配置时钟树,外部无源晶振为25MHz,分频25,倍频432,再分频2,将SYSCLK配置为216MHz,写入一个简单的LED_IO测试程序,芯片直接变砖。后续无法重新写入,写入会报E31错误,并显示无法擦除Flash,只能通过按下硬件reset并执行.\STM32_Programmer_CLI.exe -c port=SWD mode=UR freq=100 -e all命令擦除。 后续尝试较低频率,25MHz,HSE配置SYSCLK在180MHz,在该频率下,虽然依然无法运行代码,但是可以重新写入与debug,于是通过debug发现,其运行到SystemClock_Config();函数的if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_7) != HAL_OK)语句会稳定进入void HardFault_Handler(void);根本无法配置时钟。 一路降频到108MHz±2MHz(120MHz都不行),程序可以稳定运行。 于是我先将SYSCLK妥协的运行在108MHz上,但是试图通过调整分频系数,让APB1与APB2上的时钟可以跑满,但是依然运行不稳定,偶尔可以,但是一般会在数秒内内停止运行进入HardFault_Handler(void)。

后续考虑时PCB中晶振不起振,两驱晶振波形如下: c5601266256b4fa7ddb0362e4ff7a479.jpg

虽然峰峰值略微偏小,但是频率正常,为防止是由于外部晶振峰峰值偏小导致的硬件错误。在RCC中关闭HSE直接采用HSI,通过16分频,432倍频,2分频得到216MHz,刚开始可以IO测试程序可以运行,但是后续我配置了一个定时器上的PWM输出,程序直接不稳定,偶尔可以输出PWM波形,但是无法稳定,在数十秒内会随机进入HardFault_Handler(void)。

PCB与原理如图:

image.png

2e6744205980d1eb6b66d89751f174dc.png

供电使用LDO,AMS1117_3.3,考虑过电源问题,后续直接采用外部可调直流电源直接供电,故障依旧。

image.png
image.png
2e6744205980d1eb6b66d89751f174dc.png
收藏 评论0 发布时间:2025-12-8 20:36

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版