硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1627|回复: 8
收起左侧

[技术讨论] 两个spi发送数据,为什么不能同时发送数据,而是一前一后

[复制链接]

1

主题

3

回帖

6

积分

新手上路

积分
6
发表于 2024-12-26 16:24:10 | 显示全部楼层 |阅读模式
大家好,我目前遇到了一个问题不知道有没有大佬能解决
就是我现在在使用GD32F407的芯片,使用两个SPI,SPI0和SPI1都使用DMA通道进行数据发送,然后目前的现象:只有当SPIO的DMA发送完成之后再进行SPI1deDMA数据的发送,所有的数据才会正常的显示,如果我直接调用spi0的dma1ch3的发送函数,紧接着调用spi1d的dma0ch4的发送函数,就是没有进行发送完成的标志位的判断或者没有进DMA发送完成中断,就第一个spi发送数据还没有发完,第二个spi就来抢占了,(我自己在逻辑上认为是:由于DMA作为cpu搬运的小助手,两个spi的数据应该可以同时发送数据,可能在调用的时间稍微会有点差距,但是实际上应该都可以发送成功)但是不知道为什么,感觉两个spi是串行的一次性只能发一个,不知道是哪里的问题
回复

使用道具 举报

5

主题

162

回帖

177

积分

初级会员

积分
177
发表于 2024-12-26 16:39:51 | 显示全部楼层
你应该考虑的是再两个不同的DMA控制器上进行两组不同的spi发送,在同一个DMA上的两个通道同时发送的话,大概率会被DMA仲裁顺序
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2024-12-26 20:24:11 | 显示全部楼层
2859932063 发表于 2024-12-26 16:39
你应该考虑的是再两个不同的DMA控制器上进行两组不同的spi发送,在同一个DMA上的两个通道同时发送的话,大 ...

我觉得你说的有道理
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117530
QQ
发表于 2024-12-27 07:26:48 | 显示全部楼层
你的这个已经是dma0ch4和dma1ch3,两个不同的DMA外设,应该互不影响的。
回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2024-12-27 09:00:46 | 显示全部楼层
2859932063 发表于 2024-12-26 16:39
你应该考虑的是再两个不同的DMA控制器上进行两组不同的spi发送,在同一个DMA上的两个通道同时发送的话,大 ...

我目前就是在两个DMA上进行发送的,一个是spi0的DMA1通道3,和spi1的dma0通道4,然后根据数据手册我看到说确实是两个DMA有两个AHB线,但是现象很是奇怪
回复

使用道具 举报

5

主题

162

回帖

177

积分

初级会员

积分
177
发表于 2024-12-27 11:04:24 | 显示全部楼层
wsq 发表于 2024-12-27 09:00
我目前就是在两个DMA上进行发送的,一个是spi0的DMA1通道3,和spi1的dma0通道4,然后根据数据手册我看到 ...

看一下你调用函数的底层,是不是有busy状态没解除的情况下调用了第二次可能会有一个等待
回复

使用道具 举报

6

主题

306

回帖

324

积分

高级会员

积分
324
发表于 2024-12-27 13:38:31 | 显示全部楼层
看你调用的DMA函数是同步的还是异步的,
回复

使用道具 举报

15

主题

53

回帖

98

积分

初级会员

积分
98
发表于 2025-2-14 17:19:31 | 显示全部楼层
fxyc87 发表于 2024-12-27 13:38
看你调用的DMA函数是同步的还是异步的,

DMA函数还有同步,异步啊,那是不是同步下,我使用两个不同的DMA同时传输两个外设的数据也可以同步传输了
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2025-6-25 11:44:14 | 显示全部楼层
我能不能看下你的两个SPI设备是怎么连的呢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 16:23 , Processed in 0.044210 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表