NXP MCU 技术论坛
直播中

李巍

7年用户 1400经验值
私信 关注
[问答]

i.MX8M的SPI通信,SPI在长传输中停止的情况是什么原因造成的?

所以我正在开发与 NXP i.MX8M 的 SPI 通信(使用 spidev 设备),我遇到了 SPI 在长传输(> 4096 字节)中停止的情况。我还发现这是一个 uP 限制,很多人都遇到同样的问题。
我注意到与人们提出的问题不同的是:通常,人们有这个问题,他们经历的差距大约是 5 us。问题是,在我的情况下,有时差距是 5 us,但在其他情况下,它可以扩展到 500 us。这一切似乎都是随机发生的。

在图像中,可以观察到有 8 次短暂的停顿,直到第 9 次占据了很长一段时间,以此类推。
任何想法为什么会发生这种情况?

回帖(1)

微风挽雨

2023-10-9 16:24:40
SPI 在长传输中停止的可能原因有很多,可能是由于噪声、信号完整性问题、时序问题、硬件故障、软件问题等导致的。为了解决这个问题,可以尝试以下方法:

1.检查硬件连接和布局,确保信号传输的质量。

2.增加 SPI 时钟频率,减少传输时间,从而减少中止的可能性。

3.优化 SPI 接口的软件驱动程序,确保数据传输的时序和完整性。

4.增加 SPI 主机缓存的大小,减少传输时的中断和延迟。

5.考虑使用其他高速接口,如 SDIO、USB 等。

总之,需要进行全面的分析和测试,找出问题的根本原因,并采取合适的措施解决。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分