本篇文章旨在在RT685平台上实现4组48Khz 32bit2ch的音频数据同时输入,然后把收到的数据组装成一路48Khz 32bit 8ch的音频再通过I2S输出。这种方案用法,也是应客户要求去做的,因为客户那边做出来总是有谐波问题,分析客户的情况,发现客户的主要问题有两个:
(1) 谐波问题:收到4路8字节之后直接拷贝到发送buffer去做,这个就会导致时序上的问题,没有考虑到音频数据存储池去缓冲数据,等到接收足够音频数据,至少要大于拷贝发送所需要的时间的问题,所以最后问题体现在客户测试输出音频波形发现有谐波的问题。
(2) 音频同步问题:客户收取4路音频数据之后,测试接收buffer,发现4路数据存在不同步问题。
所以,为了帮助客户,笔者帮客户直接做了这个应用demo,并且做了配套的测试音频源,用来循环发送一组48Khz采样率32bit双通道,固定递增的音频数据,比如0X00-0XFF循环发。
下面是本应用平台框图:
730