音频数据处理的基本框架

简单的回顾一下使用DSP处理音频数据所需要的基本配置。

首先是音频采集播放的基本流程:采集-前处理(回声消除、噪声抑制、音量调节、混响处理等)-编码-传输-解码-后处理-播放。

暂时不对过程中处理和编解码进行分析,主要记录下DSP中进行采集和播放的基本准备。

DSP 的实时处理的实现能够将采集到的数据先存储到SDRAM 中,在需要处理的时候利用EDMA 实现Ping Pong 缓冲,将待处理的数据分批搬运到片内存储器,结合高速缓存和片内内存设计合适的数据结构,并将数据对齐,这样大大减小了数据搬移带来的开销。

文章中涉及到的程序以ADSP-SC589为例。

采集与传输

通常可以通过AD采样设备获取数据或者设备传输数据到DSP。

AD采样需要设置相应的采样频率,音频传输需要设置传输时的速率以及音频块的大小。

1.AD采样需要设置相应的采样频率,音频传输需要设置传输时的速率以及音频块的大小。

2.配置端口的引脚与功能。

AD采样以及数据传输都需要配置相应的端口与引脚,ADI提供了一种方便的模式,即可以通过SRU函数对DAI引脚进行配置即可。

例如下面这段程序,硬件部分已经将引脚DAI0_PB01-04与ADAU1761(AD采样模块)的引脚相连,于是只需要将引脚的功能配置到端口0上就可以。

ADAU1761相当于一个简易的DSP,但是缺少很多功能,有时间可以简单的介绍一下它。

3.对端口进行相应的配置

DSP中每个端口都用对应的DMA通道,在使用前需要将它打开。

之后对端口进行相应的配置,可以配置传输数据方式。例如进行多通道数据传输,可以配置传输数据的通道数。

每个DMA也都用固定的中断触发,可以在对端口进行配置时将相应的终端函数配置好。对于数据的处理一般在此处进行。

为了加快数据处理的速度,DMA进一步引入了ping-pong的机制,具体如下图所示:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章