[STM32H7] 跑USB音频会不会偶尔破音?

[复制链接]
952|19
 楼主| 周半梅 发表于 2025-4-21 07:20 | 显示全部楼层 |阅读模式
声音传输中加上DMA,中断打扰多了会不会不稳?
Clyde011 发表于 2025-4-21 07:27 | 显示全部楼层
不一定是中断问题,也可能是采样率没同步好。
Uriah 发表于 2025-4-21 07:28 | 显示全部楼层
USB audio class你是手写还是用ST库?
Pulitzer 发表于 2025-4-21 07:29 | 显示全部楼层
你的主频调到400MHz了吗?低了也不行。
Bblythe 发表于 2025-4-21 07:29 | 显示全部楼层
我换成了外部音频芯片就好多了。
Wordsworth 发表于 2025-4-21 07:30 | 显示全部楼层
用RTOS了吗?高优先级任务可能打断了传输。
公羊子丹 发表于 2025-4-21 07:31 | 显示全部楼层
你用的是全速USB还是高速?这差别挺大的。
 楼主| 周半梅 发表于 2025-4-21 07:32 | 显示全部楼层
H7的DMA配USB要开缓存对齐,不然会出怪问题。
帛灿灿 发表于 2025-4-21 07:33 | 显示全部楼层
是不是FIFO配置太小?我之前就卡在这儿。
童雨竹 发表于 2025-4-21 07:34 | 显示全部楼层
加个缓冲区可以缓解一下中断延迟。
万图 发表于 2025-4-21 07:35 | 显示全部楼层
破音大概率是丢包了,要不加点buffer试试?
她已醉 发表于 2025-6-11 14:39 | 显示全部楼层
STM32H7的USB接口支持双缓冲机制,可以在接收新一包数据的同时处理上一包数据,适用于实时数据传输,如音频数据
onlycook 发表于 2025-6-11 15:32 | 显示全部楼层
确实可能偶尔出现破音现象,且在声音传输中加入DMA后,若中断处理不当可能导致传输不稳定。
classroom 发表于 2025-6-11 15:44 | 显示全部楼层
优化DMA与中断处理合理设置DMA传输参数和中断优先级
flycamelaaa 发表于 2025-6-11 16:23 | 显示全部楼层
USB音频传输中,电脑和声卡的时钟可能不完全同步,导致数据传输错位,产生破音。
powerantone 发表于 2025-6-11 16:59 | 显示全部楼层
可能与电源噪声与信号噪声有关。
stormwind123 发表于 2025-6-11 17:00 | 显示全部楼层
中断优先级设置不合理引起的吧
probedog 发表于 2025-6-11 18:00 | 显示全部楼层
中断服务函数执行时间过长可能导致传输不稳定,进而产生破音。
duo点 发表于 2025-6-11 19:00 | 显示全部楼层
可以考虑使用双缓存机制,在DMA传输过程中交替切换接收缓冲区,防止数据覆盖和丢失。
白马过平川 发表于 2025-6-11 20:00 | 显示全部楼层
中断服务程序优化,尽量缩短中断服务程序的执行时间,避免在中断中进行耗时操作
您需要登录后才可以回帖 登录 | 注册

本版积分规则

167

主题

6128

帖子

1

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