[STM32H7] DMA传输偶尔丢一帧数据,CPU负载没超但表现不稳定

[复制链接]
464|15
Clyde011 发表于 2025-11-10 07:28 | 显示全部楼层 |阅读模式
视频流用DMA传输到SDRAM,偶尔丢一帧,但CPU负载还很低。逻辑分析仪显示DMA通道没出错。感觉像DMA自己“偷懒”,偶尔就没触发传输。
 楼主| Clyde011 发表于 2025-11-10 07:31 | 显示全部楼层
我觉得可能是DMA和LCD共用总线冲突。
公羊子丹 发表于 2025-11-10 07:32 | 显示全部楼层
可能是缓存一致性问题,H7这块挺坑的。
周半梅 发表于 2025-11-10 07:32 | 显示全部楼层
DMA传输前记得清cache,不然会丢帧。
帛灿灿 发表于 2025-11-10 07:33 | 显示全部楼层
你用的是AXI总线?带宽也可能不够。
童雨竹 发表于 2025-11-10 07:34 | 显示全部楼层
我之前加了DMB指令同步才稳定。
万图 发表于 2025-11-10 07:35 | 显示全部楼层
H7的DMA在高频下确实偶发丢包。
Wordsworth 发表于 2025-11-10 07:36 | 显示全部楼层
要不你试试关掉Cache测试下?
Bblythe 发表于 2025-11-10 07:37 | 显示全部楼层
有时中断优先级也会影响DMA完成信号。
Pulitzer 发表于 2025-11-10 07:39 | 显示全部楼层
如果用了DCACHE记得invalidate一下。
Uriah 发表于 2025-11-10 07:41 | 显示全部楼层
H743的SDRAM延迟挺高的,影响实时性。
内政奇才 发表于 2025-11-10 15:21 | 显示全部楼层
可能是缓冲区不足吧
又见江南雨 发表于 2025-11-10 16:22 | 显示全部楼层
增大缓冲区大小,或优化ISR。
故里说长安 发表于 2025-11-10 16:23 | 显示全部楼层
DMA传输完成中断的优先级低了?
海滨消消 发表于 2025-11-10 17:24 | 显示全部楼层
检查中断优先级配置, DMA传输完成中断要具有足够高的优先级。
甜心puppy 发表于 2025-11-10 17:54 | 显示全部楼层
如果 ISR 执行时间过长,可能会导致 DMA 无法及时启动下一次传输。
麻花油条 发表于 2025-11-10 20:25 | 显示全部楼层
建议优化 ISR 代码,减少不必要的操作
豌豆爹 发表于 2025-11-10 21:26 | 显示全部楼层
可能是DMA配置有问题
classroom 发表于 2025-11-10 21:26 | 显示全部楼层
如果SDRAM的访问延迟较高,或者存在其他总线竞争,可能会导致DMA传输不稳定。
cr315 发表于 2025-11-10 22:27 | 显示全部楼层
STM32H7 的总线矩阵配置可能会影响 DMA 传输性能。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

185

主题

6260

帖子

0

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