打印
[研电赛技术支持]

SDIO+DMA传输数据会影响SIP4+DMA传输数据,怎么解决?

[复制链接]
114|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 叽叽歪歪7788 于 2024-11-14 13:36 编辑

问题描述:GD32F407II使用SIP4全双工+DMA1通道4作为从机只发送数据,同时SDIO+DMA通道3向SD卡写入数据,程序在运行过程中,只要SDIO开启了DMA就会导致SPI4发送数据出现数据丢失。
C:\Users\admim\Desktop\01\1.png
C:\Users\admim\Desktop\01\.2.png

1.png (21.03 KB )

应用图

应用图

2.png (339.7 KB )

所使用的DMA通道

所使用的DMA通道

使用特权

评论回复
沙发
onlycook| | 2024-11-14 15:03 | 只看该作者
检查DMA1通道3(用于SDIO)和DMA1通道4(用于SPI4)的优先级设置。如果SDIO的DMA优先级高于SPI4的DMA优先级,当SDIO活动频繁时,可能会抢占SPI4的DMA资源,导致SPI4的数据传输被延迟或中断。

使用特权

评论回复
板凳
laocuo1142| | 2024-11-14 16:36 | 只看该作者
调整DMA优先级,使SPI4的DMA能够有足够的资源来及时传输数据。

使用特权

评论回复
地板
flycamelaaa| | 2024-11-14 17:06 | 只看该作者
检查SPI4和SDIO的中断处理函数,它们是否能够正确处理中断,并且没有导致优先级反转或死锁的情况。

使用特权

评论回复
5
powerantone| | 2024-11-14 18:26 | 只看该作者
减少中断的使用,或者优化中断处理代码

使用特权

评论回复
6
jcky001| | 2024-11-14 19:49 | 只看该作者
使用调试器逐步跟踪SPI4和SDIO的DMA传输过程,观察是否有异常行为。

使用特权

评论回复
7
probedog| | 2024-11-14 20:00 | 只看该作者
可能是总线冲突

使用特权

评论回复
8
classroom| | 2024-11-14 21:12 | 只看该作者
检查SPI4和SDIO的引脚连接,没有短路或断路问题。

使用特权

评论回复
9
两只袜子| | 2024-11-14 22:00 | 只看该作者
换SPI4和SDIO的外设或GD32F407II芯片

使用特权

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

本版积分规则

1

主题

1

帖子

0

粉丝