當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]本文簡要介紹了MP3解碼原理,并詳細(xì)說明了MP3在FD216定點DSP上實現(xiàn)實時解碼的設(shè)計、開發(fā)流程。

摘要:FD216是智原科技公司出品的一款結(jié)構(gòu)與ADI公司的ADSP-2181相類似且指令集相兼容的高性價比16位定點DSP芯片。利用智能科技公司提供的開發(fā)工具包,可以方便地將C算法移植到FD216中。詳細(xì)介紹了在FD216評估板上用嵌入式C語言和匯編語言混合編程的方法設(shè)計并實現(xiàn)基于定點DSP的MP3實時解碼器的整個流程。
關(guān)鍵詞:DSP MP3解碼器 嵌入式C語言 匯編語言

1 FD216 16位定點DSP特點簡介

DSP(數(shù)字信號處理器)是一種特別適合于進(jìn)行數(shù)字信號處理的微處理器,主要用于實時快速地實現(xiàn)各種數(shù)字信號處理算法。FD216是一個高效能而且易于使用的16位定點DSP,包含DSP內(nèi)核、芯片內(nèi)建數(shù)據(jù)存儲器、程序內(nèi)存、兩個串行接口、一個定時器、12組可編程I/O、內(nèi)部直接內(nèi)存存?。↖DMA)接口、外部內(nèi)存接口和串行式在線仿真器(SICE)接口等,兼容ADSP-218X系列匯編代碼,最高運行速度可達(dá)到190MIPS。FD216的CM(Code Memory)、PM(Program Memory)和DM(Data Memory)是嚴(yán)格區(qū)分的,在程序設(shè)計時要將放在PM區(qū)和DM區(qū)的數(shù)據(jù)分別說明。在移植ADSP2181匯編代碼時,也要做相應(yīng)修改。

2 MP3及其解碼原理

MPEG-1 Audio Layer 3(MP3)是一個在低比特率下提供高保真音頻的壓縮標(biāo)準(zhǔn)。特別是在解碼部分,它已經(jīng)成功地應(yīng)用于多種消費類電子產(chǎn)品中。

MP3解碼原理:首選將MP3數(shù)據(jù)幀解包,解出幀頭信息和邊帶信息;然后采用霍夫曼解碼解出比特分配信息;接著在逆變換中利用頻譜系數(shù),在綜合濾波器中將32位子帶合并成一個寬帶信號。18個頻譜值執(zhí)行32位IMDCT(逆改進(jìn)型離散余弦變換),將生成的576個頻譜值變換成長度為32的18個連續(xù)的頻譜。通過18次運算,多相位綜合濾波器將這些頻譜轉(zhuǎn)換到時域,完成波形重構(gòu),生成立體聲PCM音頻數(shù)據(jù)。MP3解碼流程圖如圖1所示。

3 開發(fā)環(huán)境

目標(biāo)系統(tǒng)為智原科技公司提供的FD216 DSP評估板,系統(tǒng)環(huán)境為WIN2K,軟件環(huán)境為FD2XX工具包(DSP C compiler,assembler,linker,debugger)。

圖2為FD216開發(fā)系統(tǒng)結(jié)構(gòu)框圖。

4 MP3解碼器系統(tǒng)設(shè)計

4.1 設(shè)計要求

設(shè)計要求包括以下內(nèi)容:

(1) 功能要求:以智原科技公司提供的FD216 DSP評估板作為目標(biāo)系統(tǒng),進(jìn)行MP3解碼器設(shè)計,標(biāo)系統(tǒng)能實時解碼采樣頻率為32kHz/44.1kHz/48kHz、數(shù)據(jù)碼率從32到320kbps的MP3比特流。

(2) 解碼精度要求:定點MP3解碼精度應(yīng)符合ISO/IEC 11172-4所規(guī)定的限制精度。

4. 2 硬件設(shè)計

硬件設(shè)計包括以下內(nèi)容:

(1) 在FD216評估板上進(jìn)行正確的硬件配置。

(2) 串口0配置。FD216評估板所采用的Audio Codec是Philips公司的UDA1345TS,它與FD216的串口0相連,輸出16位或8位PCM線性數(shù)據(jù)。

(3) 串行ICE(SICE)仿真調(diào)試接口。

圖2

    4. 3 軟件設(shè)計

軟件設(shè)計包括以下內(nèi)容:

(1) C運行時間庫。C語言運行時間庫(C Run Time Library)是整個C開發(fā)工具的核心之一,提供了大量的可以直接調(diào)用的庫函數(shù)。

(2) 設(shè)置內(nèi)存映射寄存器訪問方式。

5 MP3解碼器程序設(shè)計

MP3解碼器程序設(shè)計包括以下內(nèi)容:

(1) 定點算法設(shè)計。盡管定點DSP也支持浮點運算,但浮點運算會消耗大量的指令周期和內(nèi)存,也會降低系統(tǒng)運行速度,不能應(yīng)用于MP3實時解碼。在程序設(shè)計中,首先要將MP3浮點C解碼算法轉(zhuǎn)換為定點C解碼算法。浮點算法轉(zhuǎn)換成定點算法實現(xiàn)過程比較復(fù)雜,本文不再多述。

(2) 在程序的頭部建立正確的運行頭(RunTImeHeader)文件。

(3) 內(nèi)存分頁/重疊。與ADSP-218X類似,F(xiàn)D216也是通過設(shè)置重疊存儲器選擇寄存器(PMOVLAY/DMOVLAY)來實現(xiàn)PM(CM)/DM存儲器分頁/重疊的。

圖3

    FD216的內(nèi)存結(jié)構(gòu)圖如圖3所示。

FD216系統(tǒng)說明文件FD216.SYS說明了FD216 DSP的內(nèi)存分配方式,是支持DSP程序正確運行的系統(tǒng)文件。

數(shù)據(jù)、代碼分布/重疊應(yīng)首先在HOST(PC)上對數(shù)據(jù)、代碼分別進(jìn)行內(nèi)存分頁,接著使用FD2XX開發(fā)工具包進(jìn)行編譯、匯編、鏈接,生成目標(biāo)代碼,然后下載到目標(biāo)板上運行。

(4)中斷服務(wù)子程序。FD216中斷控制器允許處理器響應(yīng)十二個中斷之一。在MP3解碼應(yīng)用中使用了如下三個中斷服務(wù)子程序:

①eset中斷服務(wù)子程序:程序運行時,首先進(jìn)入reset中斷服務(wù)子程序,即從start程序開始運行,其優(yōu)先級量高。

Jump start; rti;rti;rti; /*Reset */

②ir2_get_data外部中斷服務(wù)子程序:通過IDMA接口經(jīng)過PCI總線從HOST(PC)硬盤讀取數(shù)據(jù)的控制程序。

③intsp0中斷服務(wù)子程序:向串口0發(fā)送數(shù)據(jù)的子程序。為了實現(xiàn)MP3文件在系統(tǒng)中的實時播放,設(shè)計了雙Buffer通過串口0向Audio Codec傳送解碼后的聲音樣本數(shù)據(jù)。Intsp0中斷服務(wù)子程序流程圖如圖4所示。

(5)代碼移植:將MP3解碼算法C程序序植為可在FD216 DSP系統(tǒng)中運行的嵌入式C程序。在此需要注意以下幾點:

①由于DSP系統(tǒng)中沒有文件I/O函數(shù),應(yīng)將C程序中的文件I/O函數(shù)方式改成嵌入式系統(tǒng)中的內(nèi)存直接讀、寫方式。

②應(yīng)注意數(shù)據(jù)類型的處理:將C程序中的int類型改成short或long類型,將unsigned int類型改成unsigned short或unsigned long類型,并且為了提高程序運行效率,應(yīng)注意盡量少用(unsigned)long型,算法驗證無誤后再移植到DSP中。

③在保證程序正確性、穩(wěn)定性的前提下,應(yīng)通過修改C算法和數(shù)據(jù)結(jié)構(gòu),盡量縮減C程序中表數(shù)據(jù)的尺寸,使表在DSP內(nèi)存中占據(jù)的空間盡量小。

screen.width-500)this.style.width=screen.width-500;" border=0>

6 MP3解碼器實驗結(jié)論

6.1 算法復(fù)雜度(COmplexity)評測

通過仿真調(diào)試工具debugger對MP3解碼器在一定條件下進(jìn)行性能評估(Profile),并計算出系統(tǒng)所需要的MIPS(Million Instruction Per Second)。

MP3解碼算法復(fù)雜度為60.01MIPS,只占了系統(tǒng)最大運行能力(190MIPS)的31.58%。

6.2 實驗結(jié)果

實驗結(jié)論:系統(tǒng)功能、解碼速度、精度均符合設(shè)計要求,并且實現(xiàn)了實時解碼、回放。

本文簡要介紹了MP3解碼原理,并詳細(xì)說明了MP3在FD216定點DSP上實現(xiàn)實時解碼的設(shè)計、開發(fā)流程。在此基礎(chǔ)上亦可開發(fā)、實現(xiàn)其它格式的壓縮編碼數(shù)字音頻解碼器,如Dolby AC-3[5]、MPEG-1 Advanced Audio Coding(AAC)、Microsoft (r ) Windows Media(tm) tudio(WMA)等。利用DSP可編程特性??梢蚤_發(fā)出多格式音頻解碼器,而不需要增加其它硬件。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉