TI中文支持网
TI专业的中文技术问题搜集分享网站

请问ti工程师mcasp总线接入多路i2s后的EDMA配置方式?

请问一下TI的工程师:

       我们公司之前的音频处理方案是使用C6748的mcasp接一路I2Scodec,mcbsp接一路PCM格式的codec。最后分别通过edma的asp和bsp总线进行数据搬运,然后做运算。现在我们的方案要改一下,需要外接6~8个mic所以现在只用mcasp总线连接3~4个codec,而且都用i2s连接。

       我评估了一下主要的修改在asp的驱动上,需要把pinset和axr0~axr7的通道再重新分配一下。dma这块我检查了一下好像不需要怎么改动。唯一不太确定是是dma的buf数据排列和事件触发的机制。首先说下时间触发机制。我的edma目前只绑定了mcasp的Tx和Rx两个事件,但是我的接收通道接了4路codec,那么每次事件更新是其中一路codec的数据更新了还是4个一起都更新了传递到DSP?

       第二个是DMA里面buf的数据排列,之前只接收一路I2S的时候比较清楚,buf里面就是I2S的左右通道数据像下面这样:L1|R1(L1 表示第一路i2s左通道数据)

 现在我接了4路I2S的dma里面的buf是不是4个通道i2s这样排序的?

 L1|R1|L2|R2|L3|R3|L4|R4|

 我只需要把每次搬运的数据量乘以4就可以了,其他的事件触发和链可以不修改。

 因为我们新的板子还在打板,要清明后一周才能回来,所以想在硬件邮寄回来之前把问题搞清楚。请ti了解这个工程师帮我看看。

taoyu:

回复 Tony Tang:

谢谢tony,那是我理解错了。这样的话一个通道的帧同步和4个通道的帧同步其实一样都是1个事件。我只需要把buf取值的数据调整一下,再把buf扩大4倍就可以了,其他的dma的设置不需要修改。

Tony Tang:

回复 taoyu:

是的。一个事件一定要把MCASP FIFO里的数据读完。比如你用的4条RX,那么一个接收事件,就要读4个数。 另外,你会用到McASP的FIFO吗?

赞(0)
未经允许不得转载:TI中文支持网 » 请问ti工程师mcasp总线接入多路i2s后的EDMA配置方式?
分享到: 更多 (0)