音頻數據處理的基本框架

簡單的回顧一下使用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的機制,具體如下圖所示:

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