GD32H7开启3路SPI、6路DMA双向收发,同一时刻1路SPI、2路DMA没问题;多路同时SPI主,DMA经常失灵,不能操作SPI;SPI从,偶有错位

[复制链接]
 楼主| swpub 发表于 2024-12-12 11:56 | 显示全部楼层 |阅读模式
GD32H7开启3路SPI、6路DMA双向收发,同一时刻1路SPI、2路DMA没问题;多路同时进行SPI Master、DMA经常失灵,不能操作SPI;SPI从,偶有错位现象。

有知道的大神麻烦给解答一下,谢谢。
aozima 发表于 2024-12-12 12:20 | 显示全部楼层
看起来是SPI太快,DMA跟不上了,可以看看DMA寄存器有没有报错产生。

解决思路:
- 减小数据量(但需求不变,这点无法改变)
- 减小传输次数,增加每次传输数量,可以提高利用率。
- 利用好FIFO,提前准备数据,避免断流
- 使用性能的更高的内存,避免使用SDRAM,PSRAM等外部低速存储。

看看SPI有没有FIFO,配合DMA的连接连续传输,应该可以缓解些。
classroom 发表于 2024-12-13 13:25 | 显示全部楼层
DMA参数设置不当
classroom 发表于 2024-12-13 13:37 | 显示全部楼层
溢出错误可能导致SPI从模式数据错位
laocuo1142 发表于 2024-12-13 15:00 | 显示全部楼层
外设地址映射错误
flycamelaaa 发表于 2024-12-13 18:00 | 显示全部楼层
内部寄存器损坏或丢失
powerantone 发表于 2024-12-13 19:00 | 显示全部楼层
DMA总线故障
stormwind123 发表于 2024-12-13 19:20 | 显示全部楼层
程序逻辑错误
probedog 发表于 2024-12-13 19:20 | 显示全部楼层
主从模式选择的设置和引脚SS(片选信号)的连接不一致,可能导致数据错位。
probedog 发表于 2024-12-13 22:00 | 显示全部楼层
SPI从模式数据错位可能是由于时钟设置不当
 楼主| swpub 发表于 2024-12-20 08:33 | 显示全部楼层
应该都不行。目前还是解决不了
Amazingxixixi 发表于 2024-12-27 15:30 | 显示全部楼层
可能是中断打断了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

8

帖子

0

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