你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STMF407xx I2S DMA循环buffer播放DMA中断不一致问题

[复制链接]
fengge0832 提问时间:2022-5-11 20:08 / 未解决

在项目中使用STM32F407XX芯片,通过I2S外接音频codec芯片WM8978。语音数据采用8000采样率数据格式16bit,双声道。STM32 I2S单向写入音频PCM数据,采用循环DMA双buffer写入,分包左右声道64字节(stero)一包一次写入,启动后包间产生时间间隔2ms(总数据量8000x16x2/8=32000字节),产生的DMA中断大部分是2ms间隔98%,但是偶发性有50us的中断产生,也有偶发性大于2.5ms间隔产生,10s统计总的播放数据量包多50包,大约1s有4~5包是出现时间不正常。理论应是500包但实际消耗504+包,导致采集样品和播放样本就匹配,出现吱吱噪音。请问循环DMA buffer是否应该就是播放采样率即业务需求的2ms间隔,中断是应该周期/频率是一致?如何排查?

收藏 评论1 发布时间:2022-5-11 20:08

举报

1个回答
fengge0832 回答时间:2022-5-15 21:29:07

是否有官方支持?

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版