新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 基于DSP的MP3解碼系統設計

        基于DSP的MP3解碼系統設計

        作者: 時間:2008-05-09 來源:網絡 收藏

        隨著數字視頻和圖像處理的發展,數字音頻技術也正在提高,尤其是以ISO/IEC為基礎的MPEG技術。是MPEGAudioLayerⅢ的縮寫,它是Hi-Fi級音頻壓縮的國際標準。目前,市場上的基本上都是采用專用芯片,采用專用芯片體積大,支持的音頻格式有限。我們采用在芯片上用C語言進行軟解碼,軟解碼比較靈活,可移植性好,易于升級,解碼質量可通過軟件參數設定,通用性好。

        硬件結構

        解碼硬件框圖如圖1所示,我們采用了低功耗的芯片TMS32VC5416進行軟件解碼,32M的CF卡作為存儲MP3文件的媒介,USB接口作為與PC機進行通訊接口,傳輸數據速度快,可以在PC機下載、上傳MP3,可編程邏輯器件CPLD(選用EPM7128SL84)用于產生CF卡與USB接口芯片的片選以及控制其讀寫。

        TMS320VC5416定點DSP

        TI公司的TMS320VC5416定點運算數字信號處理器(DSP),其功耗低,性能高,內部采用一種改進型的哈佛總線結構:一條程序總線,3條數據總線,數據總線寬度為16位。分開的數據和指令空間使該芯片具有高度的并行操作能力,在單周期內允許指令和數據同時存取,再加上其高度優化的指令集,使得該芯片具有很高的運算速度,最高可達160MIPS。

         

        音頻傳輸、播放

        TLV320AIC23介紹

        D/A采用TLV320AIC23芯片,TLV320AIC23(以下簡稱AIC23)是一款高性能的立體聲音頻Codec芯片,內置耳機輸出放大器,支持MIC和LINEIN兩種輸入方式(二選一),且對輸入和輸出都具有可編程增益調節。AIC23的模數轉換(ADCs)和數模轉換(DACs)部件高度集成在芯片內部,采用了先進的Sigma-delta過采樣技術,可以在8K到96K的頻率范圍內20、24bit和32bit的采樣,ADC和DAC的輸出信噪比分別可以達到90dB和100dB。與此同時,AIC23還具有很低的能耗,回放模式下功率僅為23mW,省電模式下更是小于15uW。由于具有上述優點,使得AIC23是一款非常理想的音頻模擬I/O器件。

        AIC23與DSP的數字音頻接口

        DSP與AIC23連接如圖2所示,利用USB1.1接口器件PDIUSBD12可編程的時鐘頻率輸出12M作為立體聲音頻Codec芯片AIC23的時鐘輸入CLK12M。AIC23的配置接口支持IαC模式,也支持SPI模式,系統采用DSP的一個McBSP用SPI模式跟AIC23連接。DSP配置為主模式,AIC23配置為從模式。AIC23輸出串行數據,DSP的MCBSP串口6個引腳使數據通路和控制通路與AIC23相連。數據由BDX0、BDR0傳輸,同步信號的控制由BFSX0、BFSR0、BCLKX0來實現。數字音頻接口采用DSP模式,該模式與TI公司DSP的MCBSP串口兼容,該模式時序如圖3。由圖知,在LRCIN/LRCOUT信號的下降沿開始進行數據的傳輸,先左聲道數據傳輸,然后右聲道數據傳輸。

        DSP需要處理來自和發向AIC23的數據,從而達到采集和播放聲音。McBSP與CPU通信用DMA方式,通過DMA收到或發送完一組單元,再給CPU中斷。采用DMA的方式,即串口每發送或接收到一個單元,都會自動觸發DMA將其搬送到一個內部的Buffer,等Buffer滿了再通過中斷方式告訴CPU處理。在DMA的中斷服務程序中為了可靠可以把這個Buffer的數據再拷貝到另一個待處理的空間,即兩級Buffer,然后置標志位,CPU在主程序中查詢標志位然后作出相應的處理。DMA操作的Buffer可以通過寄存器配置。

        USB接口實現

        USB接口采用高性能、并行總線的USB接口器件PDIUSBD12(以下簡稱D12),D12符合通用串行總線USB1.1版規范,可與DSP微控制器實現高速并行接口,D12與DSP連接如圖4所示。

        由CPLD產生D12的片選、以及控制對D12的讀寫;ALE接低電平,表示一個獨立的地址和數據總線配置;D12的A0腳與DSP的A0相連,控制D12的命令和數據狀態。

        CF卡接口

        CF卡是一種小型化、大容量、低功耗、智能型的存儲媒體,在便攜式設備中應用廣泛。以FlashMemory(閃爍存儲器)為主要載體,內部用微處理器進行時序控制和存儲管理。CF卡與DSP連接如下圖5所示。

        CF卡的A3~A0為數據、命令、或狀態寄存器地址線,D15~D0為數據總線,可16位或8位訪問,當片選信號CE1#和CE2#同時為低電平時,為16位訪問格式;當CE1#置高,CE2#為低電平時,為8位訪問格式。CF的存取方式有三種:Memory方式、I/O方式、TrueIDE方式,該系統中CF卡工作模式選取上電默認方式,即:Memory方式,片選CE1#、CE2#由可編程邏輯器件EPM7128SL84對DSP的8位地址A15~A22譯碼產生。CF卡工作電壓為5V或3.3V,選用3.3V工作電壓,便于數據輸出與地址可直接與DSP相接。

        MP3解碼的DSP實現

        MP3文件的格式

        MP3是目前世界上最流行的音頻格式之一,其采用了MPEG-1Ⅲ層標準壓縮編碼格式。遵循MP3標準的音樂具有很高的壓縮率和較高的保真度,其壓縮比可達1:10~12,即1分鐘CD音質的音樂經過MP3壓縮編碼后,可以壓縮到1兆左右而基本保持不真。MP3的壓縮率很高,失真也較小,但它的算法也較為復雜。MP3文件的內容是音頻位流數據文件,它由若干個數據幀組成,每個數據幀的構成如圖6所示。每幀中的音頻數據含有1152個原始音頻信號的采樣信息,并且經過霍夫曼編碼形成。數據幀的其它內容分別為:

        頭標信息:音頻位流的一部分,它包含同步和狀態信息。

        校驗字:音頻位流的一部分,它包含用于錯誤檢測的信息。

        輔助信息:音頻位流的一部分,它包含每幀中可用于解碼的相關信息。

        縮放因子信息:音頻位流的一部分,它包含用于計算音頻數據量化比例因子的信息。

        霍夫曼編碼數據:音頻位流的一部分,它包含每幀中所有原始音頻采樣數據的霍夫曼編碼。

        附加數據:音頻位流的一部分,它可包含一系列用戶定義的輔助數據。

        MP3解碼

        LayerⅢ采用了較復雜的比特流結構。解碼程序的流程圖如圖7所示。首先獲得每一幀的同步字,取得頭信息,從而獲得各相應參數,根據對頭信息的解析進而得到實際的一幀音頻數據。讀取主數據獲得比例因子數據,對樣本進行解碼,然后對解碼樣本順序進行倒置,如果塊類型(BlockSplit_type)和標志類型(Flag_typ)都為1時,對樣本進行重新排序,根據邊信息中霍夫曼碼本的選擇信息進行霍夫曼解碼,然后進行反量化,根據幀頭的立體聲信息,對反量化結果進行立體聲處理。最后通過混迭處理、IMDCT和合成濾波器重建數字音頻信號。

        結束語

        系統采用了高性能的芯片及性能優良的模擬接口,具有很強的信號處理能力,可以高質量地完成立體聲的解碼算法。在系統的軟硬件的基礎上,顯示器和鍵盤等,可以增加用戶接口。該系統可以集成在數碼相機等產品中增加MP3播放機功能,具有廣闊的推廣應用前景。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 邹城市| 紫云| 彝良县| 乌鲁木齐市| 安塞县| 成都市| 天峨县| 乐山市| 牡丹江市| 枞阳县| 东宁县| 土默特右旗| 黄骅市| 专栏| 濮阳县| 慈溪市| 辽中县| 商河县| 屏边| 平果县| 万源市| 襄城县| 德令哈市| 缙云县| 平罗县| 博客| 马山县| 长白| 肥城市| 九寨沟县| 乌兰县| 财经| 朔州市| 东海县| 宁武县| 额尔古纳市| 铅山县| 衡南县| 漾濞| 江口县| 繁昌县|