举报
引用: ji5687 发表于 2018-12-3 15:13
DMA 并没有先左后右吧?只是一种乒乓操作。
数据流里头是 左声道+右声道。
举报
引用: 60user196 发表于 2018-12-3 15:33
你的意思是单声道wave文件播放时会丢失一半的数据。 或者说是本来只有一个通道的数据分配到两个通道里面去了。
举报
引用: ji5687 发表于 2018-12-3 15:49
不是。
如果 DAC 是单通道的,那就连续地发给它一个声道的数据就可以。不会丢失数据。
如果 DAC 是双通道的,那其中空余的声道,随意填充个数据即可。
举报
引用: 60user196 发表于 2018-12-3 15:58
哦, 可能是我没有说清楚,播放音频用的i2s总线, 我理解双通道的数据时分别发到WS为高和低的时候,但是在dma配置中并没有这些说明,所以碰到单声道数据会丢。
举报
引用: ji5687 发表于 2018-12-3 16:04
跟 DMA 没有关系的。
I2S 播放音频,一般就是使用 DMA 的乒乓方式。
举报
引用: 60user196 发表于 2018-12-3 16:19
标准的pcm文件 8bit数据,就是连续存放的,读到ram的时候也应该是连续的。用DMA可以把RAM和DAC的位数全部配置为8Bit,着样就不存在填充问题了, 只是i2s每一个ws的周期需要两个数据,如果WS为高时,取RAM【0】中的数据,那么WS为低时回去取RAM【1】中的数据,显然这是不对的。
除非有一种模式可以这样,RAM1 中存真实数据 ...
举报
举报
举报
更多回帖