硬汉嵌入式论坛

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

[STM32H7] 多个DMA通道同时收到消息会冲突吗?

[复制链接]

6

主题

18

回帖

36

积分

新手上路

积分
36
发表于 2022-3-4 10:26:00 | 显示全部楼层 |阅读模式
    请教各位,如果我开通多个串口通信,但是串口收发数据占用时间较长,那么如果同时多个DMA通道有收(发)数据发生的时候,会不会出现冲突,造成数据丢失的风险呢?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106905
QQ
发表于 2022-3-4 12:12:30 | 显示全部楼层
没问题,由于串口的速度比较慢,所有全部打开都处理的过来。

串口中断都处理的过来。
回复

使用道具 举报

210

主题

1044

回帖

1684

积分

至尊会员

More we do, more we can do.

积分
1684
发表于 2022-3-4 13:20:11 | 显示全部楼层
不会,逻辑上DMA是硬件实现的,支持并发。
回复

使用道具 举报

6

主题

18

回帖

36

积分

新手上路

积分
36
 楼主| 发表于 2022-3-6 10:26:18 | 显示全部楼层
好的,谢谢各位大佬。我自己测试的时候没有发现有冲突的,但是各个通道都是共用的同一个DMA,不敢确认会不会存在风险
回复

使用道具 举报

12

主题

68

回帖

104

积分

初级会员

积分
104
发表于 2022-3-6 20:45:18 | 显示全部楼层
xinhaic 发表于 2022-3-6 10:26
好的,谢谢各位大佬。我自己测试的时候没有发现有冲突的,但是各个通道都是共用的同一个DMA,不敢确认会不 ...

我之前也有这种疑问
比如你使用了两个串口和使用的同一个DMA的4个通道,在某一时刻两个串口同时接收到了数据,在串口接收寄存器更新新的数据前,DMA会先后把两个串口的数据搬运到你的buff,这是由于DMA的带宽远大于串口的带宽,完全能够处理的过来
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2023-4-26 19:54:12 | 显示全部楼层
会有风险,同一个DMA不同通道有优先级,高优先级的优先处理,如果同时串口收发,会有丢包的风险。之前我测试过会有丢包的情况
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2023-10-16 10:52:43 | 显示全部楼层
hjfbad 发表于 2023-4-26 19:54
会有风险,同一个DMA不同通道有优先级,高优先级的优先处理,如果同时串口收发,会有丢包的风险。之前我测 ...

您好,您说的这个丢包现象是不是偶尔DMA少收数据?
回复

使用道具 举报

4

主题

160

回帖

172

积分

初级会员

积分
172
发表于 2023-10-16 16:45:49 | 显示全部楼层
同一个通道肯定不行。不同的通道随便玩
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 12:12 , Processed in 0.253736 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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