基于DSP實現MP3解碼系統的設計,采用高性能的立體聲音頻Codec芯片TLV320A IC23 作為音頻信號數模轉換,DSP的兩個McBSP與其連接,分別作為配置接口和音頻數字接口,配置接口設置為SP I模式。USB與DSP接口實現MP3數據流與PC機之間的上傳與下載,存取MP3文件方便,存儲MP3文件的媒介選取大容量的存儲設備CF卡,系統選用可編程邏輯器件CPLD控制USB及CF卡的讀寫和片選。實驗證明該系統可以高質量完成MP3解碼、播放。
隨著數字視頻和圖像處理的發展,數字音頻技術也正在提高,尤其是以ISO / IEC 為基礎的MPEG技術。MP3是MPEG Audio LayerⅢ的縮寫,它是Hi - Fi級音頻壓縮的國際標準。目前,市場上的MP3解碼基本上都是采用專用芯片解碼,采用專用芯片解碼體積大,支持的音頻格式有限。我們采用在DSP芯片上用C語言進行軟解碼,軟解碼比較靈活,可移植性好,易于升級,解碼質量可通過軟件參數設定,通用性好。
硬件系統結構
DSP的MP3解碼系統硬件框圖如圖1所示,我們采用了低功耗的DSP芯片TMS32VC5416進行軟件解碼,32M的CF卡作為存儲MP3文件的媒介,USB接口作為與PC機進行通訊接口,傳輸數據速度快,可以在PC機下載、上傳MP3,可編程邏輯器件CPLD (選用EPM7128SL84)用于產生CF卡與USB 接口芯片的片選以及控制其讀寫。
TMS320VC5416定點DSP
TI公司的TMS320VC5416 定點運算數字信號處理器(DSP) ,其功耗低,性能高,內部采用一種改進型的哈佛總線結構:一條程序總線,3條數據總線,數據總線寬度為16位。分開的數據和指令空間使該芯片具有高度的并行操作能力,在單周期內允許指令和數據同時存取,再加上其高度優化的指令集,使得該芯片具有很高的運算速度,最高可達160MIPS。
圖1系統的硬件框圖
音頻傳輸、播放系統
TLV320A IC23介紹
D /A采用TLV320A IC23 芯片,TLV320AIC23 (以下簡稱AIC23)是一款高性能的立體聲音頻Codec芯片,內置耳機輸出放大器,支持MIC和LINE IN兩種輸入方式(二選一) ,且對輸入和輸出都具有可編程增益調節。AIC23 的模數轉換(ADCs) 和數模轉換(DACs)部件高度集成在芯片內部,采用了先進的Sigma-delta過采樣技術,可以在8K到96K的頻率范圍內20、24 bit和32 bit的采樣,ADC和DAC的輸出信噪比分別可以達到90dB 和100dB。與此同時,AIC23還具有很低的能耗,回放模式下功率僅為23 mW,省電模式下更是小于15uW。由于具有上述優點,使得AIC23是一款非常理想的音頻模擬I/O器件。
AIC23與DSP的數字音頻接口設計
DSP與AIC23連接如圖2 所示,利用USB1. 1接口器件PDIUSBD12可編程的時鐘頻率輸出12M作為立體聲音頻Codec芯片AIC23的時鐘輸入CLK12M。AIC23的配置接口支持IαC模式,也支持SPI模式,系統采用DSP的一個McBSP用SPI模式跟AIC23連接。
圖2TLV320A IC23與DSP連接圖
DSP配置為主模式,AIC23 配置為從模式。AIC23 輸出串行數據,DSP的MCBSP串口6個引腳使數據通路和控制通路與AIC23 相連。數據由BDX0、BDR0 傳輸,同步信號的控制由BFSX0、BFSR0、BCLKX0 來實現。數字音頻接口采用DSP模式,該模式與TI公司DSP的MCBSP串口兼容,該模式時序如圖3。由圖知,在LRCIN /LRCOUT信號的下降沿開始進行數據的傳輸,先左聲道數據傳輸,然后右聲道數據傳輸。
圖3A IC23的DSP模式時序
DSP需要處理來自和發向AIC23的數據,從而達到采集和播放聲音。McBSP與CPU 通信用DMA 方式,通過DMA 收到或發送完一組單元,再給CPU 中斷。采用DMA的方式,即串口每發送或接收到一個單元,都會自動觸發DMA將其搬送到一個內部的Buffer,等Buffer滿了再通過中斷方式告訴CPU處理。在DMA的中斷服務程序中為了可靠可以把這個Buffer的數據再拷貝到另一個待處理的空間,即兩級Buffer,然后置標志位,CPU在主程序中查詢標志位然后作出相應的處理。DMA 操作的Buffer可以通過寄存器配置。
USB接口實現
USB接口采用高性能、并行總線的USB接口器件PD IUSBD12 (以下簡稱D12) ,D12符合通用串行總線USB 1. 1 版規范,可與DSP微控制器實現高速并行接口[ 5 - 6 ] ,D12與DSP連接如圖4所示。
圖4D12與DSP連接圖
由CPLD產生D12的片選、以及控制對D12的讀寫; ALE接低電平,表示一個獨立的地址和數據總線配置; D12 的A0 腳與DSP的A0相連,控制D12 的命令和數據狀態。
CF卡接口設計
CF卡是一種小型化、大容量、低功耗、智能型的存儲媒體,在便攜式設備中應用廣泛。以Flash Memory(閃存)為主要載體,內部用微處理器進行時序控制和存儲管理。CF卡與DSP連接如下圖5 所示。
圖5CF卡與DSP連接
CF卡的A3~A0為數據、命令、或狀態寄存器地址線,D15~D0為數據總線,可16位或8位訪問,當片選信號CE1#和CE2#同時為低電平時,為16位訪問格式;當CE1#置高,CE2#為低電平時,為8位訪問格式。CF的存取方式有三種:Memory方式、I/O 方式、True IDE方式,該系統中CF卡工作模式選取上電默認方式,即:Memory方式,片選CE1 #、CE2 #由可編程邏輯器件EPM7128SL84對DSP的8位地址A15~A22譯碼產生。CF卡工作電壓為5 V或3. 3 V,設計選用3. 3 V工作電壓,便于數據輸出與地址可直接與DSP相接。
MP3解碼的DSP實現
MP3 文件的格式
MP3是目前世界上最流行的音頻格式之一,其采用了MPEG -1 Ⅲ層標準壓縮編碼格式。遵循MP3標準的音樂具有很高的壓縮率和較高的保真度,其壓縮比可達1:10 ~12,即1分鐘CD音質的音樂經過MP3壓縮編碼后,可以壓縮到1兆左右而基本保持不失真。MP3的壓縮率很高,失真也較小,但它的算法也較為復雜。MP3文件的內容是音頻位流數據文件,它由若干個數據幀組成,每個數據幀的構成如圖6所示。每幀中的音頻數據含有1152個原始音頻信號的采樣信息,并且經過霍夫曼編碼形成。數據幀的其它內容分別為:
頭標信息:音頻位流的一部分,它包含同步和狀態信息。校驗字:音頻位流的一部分,它包含用于錯誤檢測的信息。
輔助信息:音頻位流的一部分,它包含每幀中可用于解碼的相關信息。
縮放因子信息:音頻位流的一部分,它包含用于計算音頻數據量化比例因子的信息。
霍夫曼編碼數據:音頻位流的一部分,它包含每幀中所有原始音頻采樣數據的霍夫曼編碼。
附加數據:音頻位流的一部分,它可包含一系列用戶定義的輔助數據。
圖6MP3位流數據幀示意圖
MP3解碼
LayerⅢ采用了較復雜的比特流結構。解碼程序的流程圖如圖7所示。首先獲得每一幀的同步字,取得頭信息,從而獲得各相應參數,根據對頭信息的解析進而得到實際的一幀音頻數據。讀取主數據獲得比例因子數據,對樣本進行解碼,然后對解碼樣本順序進行倒置,如果塊類型(BlockSp lit_ type)和標志類型( Flag_typ)都為1時,對樣本進行重新排序,根據邊信息中霍夫曼碼本的選擇信息進行霍夫曼解碼,然后進行反量化,根據幀頭的立體聲信息,對反量化結果進行立體聲處理。最后通過混迭處理、IMDCT和合成濾波器重建數字音頻信號。
圖7MP3解碼流程
結束語
系統采用了高性能的芯片及性能優良的模擬接口,具有很強的信號處理能力,可以高質量地完成立體聲的解碼算法。在系統的軟硬件的基礎上,顯示器和鍵盤等,可以增加用戶接口。該系統可以集成在數碼相機等產品中增加MP3播放機功能,具有廣闊的推廣應用前景
-
dsp
+關注
關注
554文章
8059瀏覽量
350647 -
cpld
+關注
關注
32文章
1257瀏覽量
169660 -
usb
+關注
關注
60文章
7989瀏覽量
266274
發布評論請先 登錄
相關推薦
評論