打印
[STM32F1]

硬件SPI读取FLASH异常

[复制链接]
422|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
FranklinUNK|  楼主 | 2025-4-21 15:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32F103通过SPI1连接W25Q64,上电首次读取ID正常,连续读写时出现0xFF数据。片选信号用示波器抓波形发现下降沿有振铃,并联33Ω电阻后改善,这种情况需要重做PCB吗?

使用特权

评论回复
沙发
onlycook| | 2025-4-22 12:45 | 只看该作者
振铃通常由阻抗不匹配引起,导致信号反射。

使用特权

评论回复
板凳
onlycook| | 2025-4-22 12:45 | 只看该作者
走线过长或无法增加元件,则可能需要重做 PCB。

使用特权

评论回复
地板
duo点| | 2025-4-22 12:46 | 只看该作者
问题主要由信号完整性引起,通过增加电阻和电容可短期解决。若走线过长或布局受限,建议重做 PCB。

使用特权

评论回复
5
9dome猫| | 2025-4-30 23:36 | 只看该作者
振铃 是由于高速信号传输过程中,信号线的阻抗不匹配或线长过长,导致信号反射。

使用特权

评论回复
6
公羊子丹| | 2025-5-26 07:23 | 只看该作者
你那个振铃可能是走线太长或者阻抗不匹配造成的,加串联电阻是对的方向。

使用特权

评论回复
7
周半梅| | 2025-5-26 07:25 | 只看该作者
33Ω串上能改善就说明问题八成在信号完整性上,PCB如果空间允许,还是建议重新优化下走线。

使用特权

评论回复
8
帛灿灿| | 2025-5-26 07:26 | 只看该作者
我也碰到过W25Q读取异常,结果是CS线上干扰太大,后来拉了个10K下拉就稳了。

使用特权

评论回复
9
童雨竹| | 2025-5-26 07:27 | 只看该作者
SPI线有没有做地线包裹?我之前信号串扰严重,加了地包线后效果提升明显。

使用特权

评论回复
10
万图| | 2025-5-26 07:28 | 只看该作者
看你说首次读取ID正常,之后变成0xFF,大概率是CS没稳定拉低或者SPI时序被打乱了。

使用特权

评论回复
11
Wordsworth| | 2025-5-26 07:29 | 只看该作者
你可以试试用GPIO模拟SPI读几次,看是不是硬件SPI问题还是线的问题。

使用特权

评论回复
12
Bblythe| | 2025-5-26 07:30 | 只看该作者
示波器看CS波形带振铃,那CLK和MOSI信号也最好一起看下,有可能整体都有反射问题。

使用特权

评论回复
13
Pulitzer| | 2025-5-26 07:31 | 只看该作者
不一定非得重做PCB,加电阻+适当的终端匹配,有时候也能达到稳定的效果。

使用特权

评论回复
14
Uriah| | 2025-5-26 07:32 | 只看该作者
如果是批量产品,建议重做PCB做干净点,开发阶段的话软硬结合先跑起来再说。

使用特权

评论回复
15
Clyde011| | 2025-5-26 07:32 | 只看该作者
我用W25Q系列的时候,一直用10MHz以下的SPI频率,比设定的稳定性提高不少,你也可以试试看。

使用特权

评论回复
16
t60yz| | 2025-5-31 23:44 | 只看该作者
你加的33Ω限流电阻如果能稳定通信且波形干净,说明PCB走线阻抗、终端匹配、器件布局存在欠佳但可控问题。

这种电阻通常放在MCU的SPI信号线上,起缓冲/阻尼作用,防止信号反射和振铃。

使用特权

评论回复
17
t60yz| | 2025-5-31 23:44 | 只看该作者
如果PCB设计允许在SPI信号线上插入合适的串联阻抗(电阻或Ferrite beads等)且不会影响其他信号,就可以通过加阻抗解决,不必返工PCB。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

53

主题

329

帖子

0

粉丝