[STM32H5] SPI高速模式下偶尔读到的数据像漂移了一位

[复制链接]
801|33
Uriah 发表于 2025-11-14 07:21 | 显示全部楼层 |阅读模式
SPI 拉到高频后,偶尔会出现数据整体像错了一位,看起来像时钟和数据没踩准。查过时钟相位设置,也尝试调慢一点,但问题还会偶尔冒出来,概率不高但很烦。
Clyde011 发表于 2025-11-14 07:23 | 显示全部楼层
换一颗从设备看看能不能排除器件差异。
公羊子丹 发表于 2025-11-14 07:24 | 显示全部楼层
我遇到过这是因为线太长,导致采样沿被拖慢。
周半梅 发表于 2025-11-14 07:25 | 显示全部楼层
你试试反相 CPHA 或 CPOL,某些器件特别挑边沿。
帛灿灿 发表于 2025-11-14 07:26 | 显示全部楼层
高速下布线长度差别很明显,你看下是不是走线不对称。
童雨竹 发表于 2025-11-14 07:27 | 显示全部楼层
可以先降到中频段测试,看问题缩小不。
万图 发表于 2025-11-14 07:28 | 显示全部楼层
抖动可能来自主时钟,你的 PLL 设置也检查下。
Wordsworth 发表于 2025-11-14 07:29 | 显示全部楼层
我曾经因为使用推挽模式导致过冲太大,换成弱驱动就好了。
Bblythe 发表于 2025-11-14 07:30 | 显示全部楼层
用示波器量一下数据和时钟的相对位置会很直观。
Pulitzer 发表于 2025-11-14 07:31 | 显示全部楼层
有时候从 DMA 读会比轮询稳定,你可以试试。
 楼主| Uriah 发表于 2025-11-14 07:32 | 显示全部楼层
外设的预取缓冲最好关掉一次测试。
dukedz 发表于 2025-11-14 09:15 | 显示全部楼层
spi 高速的时候
io 驱动强度有设置高一些吗?要高一些才行
线路有多长?要短一些才行
spi 高速错位的原因:https://blog.d-l.io/spi-delay-compensation-cn
sesefadou 发表于 2025-11-14 20:22 | 显示全部楼层
SPI 配置是否完全匹配              
fengm 发表于 2025-11-16 20:39 | 显示全部楼层
时序裕量不足              
jackcat 发表于 2025-11-17 13:08 | 显示全部楼层
高频下未优化的 PCB 布局会引入信号反射和振铃,破坏数据稳定性
nomomy 发表于 2025-11-17 13:52 | 显示全部楼层
对于CPHA=0:通常数据在时钟的第一个边沿稳定,第二个边沿采样;
对于CPHA=1:数据在时钟的第一个边沿开始变化,在第二个边沿采样。
wangdezhi 发表于 2025-11-17 15:03 | 显示全部楼层
长走线、未匹配终端电阻或未加缓冲芯片,可能引发时钟信号畸变,造成数据错位。
dspmana 发表于 2025-11-17 15:39 | 显示全部楼层
时钟相位和极性配置不匹配              
i1mcu 发表于 2025-11-17 16:56 | 显示全部楼层
MISO 信号抖动              
nomomy 发表于 2025-11-17 18:27 | 显示全部楼层
SPI的时钟极性和相位决定了数据采样的边沿。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

186

主题

6565

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部