[应用方案] 多 PDMA 通道同时收发,数据缓冲区覆盖,怎么分配中断优先级

[复制链接]
56|35
robincotton 发表于 2026-7-18 08:07 | 显示全部楼层
硬件级流控与 FIFO 配合              
51xlf 发表于 2026-7-18 11:07 | 显示全部楼层
系统调度中断,所有 PDMA 均可抢占 Tick,保证 DMA 数据搬运不被任务调度阻塞。
iyoum 发表于 2026-7-18 14:07 | 显示全部楼层
同外设一组 PDMA 中断统一层级,避免互相抢占撕裂数据流
linfelix 发表于 2026-7-18 15:04 | 显示全部楼层
双缓冲如何避免数据覆盖?              
louliana 发表于 2026-7-18 19:47 | 显示全部楼层
PDMA 控制器内部仲裁              
febgxu 发表于 2026-7-18 21:13 | 显示全部楼层
ISR 内只做三件事:清除中断标志、更新缓存读写指针、释放无阻塞信号量
lihuami 发表于 2026-7-18 21:54 | 显示全部楼层
做 Ping-Pong / 环形 FIFO 隔离,多通道共用全局缓存、无独立缓存
mickit 发表于 2026-7-18 22:26 | 显示全部楼层
禁止在 PDMA 中断内进入长临界区、读写 Flash、I2C 等待应答。
claretttt 发表于 2026-7-19 08:55 | 显示全部楼层
波形计算、数据解析、字符串打印全部丢给 RTOS 任务处理
olivem55arlowe 发表于 2026-7-19 10:38 | 显示全部楼层
PDMA 传输完成中断、半传输中断同优先级抢占混乱,环形 Buffer 读写指针更新不同步
backlugin 发表于 2026-7-19 11:52 | 显示全部楼层
单纯依赖中断及时响应是非常脆弱的。当高频中断频繁打断低频中断时,CPU 上下文切换开销巨大。PDMA 的双缓冲或环形缓冲配合 HT/TC 中断才是防覆盖的标准解法。
alvpeg 发表于 2026-7-19 12:28 | 显示全部楼层
对大数据量通道,优先启用DMA双缓冲或循环缓冲。
1988020566 发表于 2026-7-19 14:03 | 显示全部楼层
单通道循环 buf,前半段被覆盖时 CPU 还在读前半
21mengnan 发表于 2026-7-19 16:22 | 显示全部楼层
故障中断 > 数据保活类中断 (防覆盖) > 低速业务通道 > 后台处理通道;同通道内错误中断优先级高于数据完成中断。
abotomson 发表于 2026-7-19 17:50 | 显示全部楼层
高负载通道中断阻塞低优先级 PDMA 中断,数据来不及搬运、来不及更新缓存指针,下一轮 DMA 新数据直接覆盖未处理旧数据
ingramward 发表于 2026-7-19 18:17 | 显示全部楼层
半传输中断有什么作用?              
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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