《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > OMAP5912雙核通信及數(shù)字音頻系統(tǒng)實(shí)現(xiàn)
OMAP5912雙核通信及數(shù)字音頻系統(tǒng)實(shí)現(xiàn)
摘要: 開(kāi)放式多媒體應(yīng)用平臺(tái)(()pen MuItimedia Appli一cations PIatform,,OMAP)是針對(duì)第三代手機(jī)開(kāi)發(fā)的高性能多媒體處理器,。除具有性能/功耗比的優(yōu)勢(shì)外,還提供豐富的外圍接口,,支持幾乎所有流行的有線和無(wú)線接口標(biāo)準(zhǔn),。因其出色表現(xiàn),該平臺(tái)一直得到世界主要移動(dòng)設(shè)備制造商(如諾基亞,、愛(ài)立信,、索尼等)的青睞。
Abstract:
Key words :

1OMAP5912平臺(tái)簡(jiǎn)介

        開(kāi)放式多媒體應(yīng)用平臺(tái)(()pen MuItimedia Appli一cations PIatform,,OMAP)是針對(duì)第三代手機(jī)開(kāi)發(fā)的高性能多媒體處理器,。除具有性能/功耗比的優(yōu)勢(shì)外,還提供豐富的外圍接口,,支持幾乎所有流行的有線和無(wú)線接口標(biāo)準(zhǔn),。因其出色表現(xiàn),該平臺(tái)一直得到世界主要移動(dòng)設(shè)備制造商(如諾基亞,、愛(ài)立信,、索尼等)的青睞。

        0MAP5912采用獨(dú)特的雙核結(jié)構(gòu),,內(nèi)含1個(gè)實(shí)現(xiàn)控制功能的帶有TI增強(qiáng)型ARM926EJ-S內(nèi)核的處理器和1個(gè)實(shí)現(xiàn)數(shù)據(jù)處理功能的高性能,、低功耗TMS320C55x DSP內(nèi)核。ARM處理器可用來(lái)實(shí)現(xiàn)各種通信協(xié)議,、控制和人機(jī)接口,;DSP具有多條數(shù)據(jù)地址總線,非常適合數(shù)據(jù)密集的多媒體處理(如視頻編解碼),,并具有極低的功耗[l]。為結(jié)合這兩個(gè)處理器的優(yōu)勢(shì),,使其發(fā)揮最大效率,,雙核通信機(jī)制起了至關(guān)重要的作用。

2 OMAP5912的雙核間通信方式

        在0MAP5912中實(shí)現(xiàn)ARM和DSP雙核通信方式有共享郵箱寄存器、共享存儲(chǔ)空間2種,,在實(shí)際應(yīng)用中需要配合使用這些雙核通信方式,。如雙核通信中的握手聯(lián)絡(luò),其數(shù)據(jù)量小,,可用傳遞消息及時(shí)可靠的共享郵箱用來(lái)實(shí)現(xiàn),;當(dāng)需要傳輸大量數(shù)據(jù)(如圖像數(shù)據(jù))時(shí),通常要使用高效率的共享存儲(chǔ)空間這種通信方式,。

2.1共享郵箱寄存器方式

        雙核間可相互中斷并通過(guò)郵箱寄存器傳遞少量數(shù)據(jù),。共有4套郵箱寄存器,每套郵箱寄存器由2個(gè)16 bit寄存器和1個(gè)1 bit寄存器組成,。當(dāng)一個(gè)處理器將合適的命令字寫(xiě)到命令字寄存器后,,該寄存器會(huì)產(chǎn)生中斷,對(duì)另一個(gè)處理器的標(biāo)志寄存器進(jìn)行正確設(shè)置,。被中斷的處理器通過(guò)讀標(biāo)志寄存器響應(yīng)中斷并清空標(biāo)志寄存器,。每套郵箱寄存器中,還有1個(gè)附加的數(shù)據(jù)字寄存器,,可在每次中斷時(shí)在處理器間傳送2個(gè)字的數(shù)據(jù),。通過(guò)命令和數(shù)據(jù)字通信的信息完全由用戶定義。數(shù)據(jù)字可用來(lái)表示地址指針或狀態(tài)字,。

2.2共享存儲(chǔ)器方式

        共享存儲(chǔ)器有2種方式,。第一種方式由ARM通過(guò)主機(jī)接口(MPU Interface,MPUI)獲取對(duì)DSP存儲(chǔ)空間和I/O空間的訪問(wèn)權(quán),,由ARM完成數(shù)據(jù)在雙核間的搬移,。MPUI為MPU和系統(tǒng)DMA控制器與DSP及其外設(shè)的通信提供了橋梁,通過(guò)MPuI可訪問(wèn)DSP的整個(gè)存儲(chǔ)空間及其公共外設(shè)總線,。

        另一種方式是ARM通過(guò)對(duì)DSP存儲(chǔ)管理單元(Memoy Management Unit,,MMU)的設(shè)置將DSP的外部存儲(chǔ)空間映射到OMAP5912系統(tǒng)存儲(chǔ)資源中,由DSP完成雙核間的數(shù)據(jù)傳輸,。OMAP5912通過(guò)通信控制器(Traffic Controller,,TC)實(shí)現(xiàn)共享存儲(chǔ)器,這樣ARM和DSP可訪問(wèn)共享的靜態(tài)隨機(jī)存儲(chǔ)器(StaticRAM,,SRAM),、高速外部存儲(chǔ)器接口(I,Zxteraaal:Mem0ryInterface Fast,EMIFF)以及低速外部存儲(chǔ)器接口(Ex-terhal Memory Interface Slow,,EMIFS)的存儲(chǔ)空間[2],。

3 雙核間通信的基礎(chǔ)應(yīng)用程序

        為降低上層應(yīng)用開(kāi)發(fā)者的實(shí)現(xiàn)難度和節(jié)省設(shè)計(jì)時(shí)間,采用雙核間通信的基礎(chǔ)應(yīng)用程序--DSP/BIOSLINK[3],,其為上述兩種雙核通信方式的實(shí)現(xiàn),。開(kāi)發(fā)人員在進(jìn)行上層應(yīng)用程序開(kāi)發(fā)時(shí),,只需使用DSP/BIOSLINK提供的接口函數(shù)。DSP/BIOS LINK允許開(kāi)發(fā)人員在ARM端利用一套標(biāo)準(zhǔn)API進(jìn)入和控制DSP的運(yùn)行環(huán)境,;用于非對(duì)稱的,、由一個(gè)通用處理器(如ARM)和一個(gè)或多個(gè)DSP組成的處理器環(huán)境。圖1為DSP/BIOSLINK的軟件體系結(jié)構(gòu)圖,。

        DSP/BIOS LINK為開(kāi)發(fā)人員提供的服務(wù)有:基本的處理器控制(啟動(dòng),、執(zhí)行、停止),、基于邏輯通道(CHANNEL)的數(shù)據(jù)傳輸,、消息(基于MSGQ模塊)。由PROC,,CHNL,,MSGQ3個(gè)組件組成。PROC是PROCESSCONTROL的縮寫(xiě),,負(fù)責(zé)DSP處理器在應(yīng)用程序用戶空間的操作,,主要功能有:DSP初始化、DSP端程序的加載,、執(zhí)行和停止,。CHNL是CHANNEL的縮寫(xiě),表示ARM和DSP間數(shù)據(jù)流的邏輯通道,,負(fù)責(zé)ARM和DSP間的數(shù)據(jù)傳輸,。CHNL是ARM和DSP之間的邏輯實(shí)體,實(shí)現(xiàn)二者的物理連接,。MSGQ是MESSAGEQUEUE的縮寫(xiě),,負(fù)責(zé)ARM和DSP間長(zhǎng)短不一的消息的交互和通信。消息的接收和發(fā)送是通過(guò)消息隊(duì)列實(shí)現(xiàn)的[4],。

4 基于OMAP5912的數(shù)字音頻系統(tǒng)買現(xiàn)

        筆者以基于OMAP5912_的數(shù)字音頻系統(tǒng)為例介紹OMAP雙核間通信的具體應(yīng)用,。系統(tǒng)在RF6(ReferenceFramework Level 6)框架基礎(chǔ)上實(shí)現(xiàn),整個(gè)系統(tǒng)將輸入的立體聲音頻信號(hào)按照給定的采樣率和量化精度轉(zhuǎn)化為左,、右兩聲道數(shù)據(jù)幀,,再對(duì)其進(jìn)行有限脈沖濾波器FIR算法和聲音控制VOL算法處理,然后合成立體聲輸出,。整個(gè)系統(tǒng)劃分為ARM端應(yīng)用程序和DSP端算法2部分,。

4.1 RF6框架簡(jiǎn)介

        RF6是專門(mén)針對(duì)雙核芯片OMAP中DSP端軟件設(shè)計(jì)提出的一種參考框架[5],不但包含了外圍器件驅(qū)動(dòng)模塊,、線程模塊以及算法封裝模塊,,還包含了用于同ARM端進(jìn)行通信的模塊。RF6中數(shù)據(jù)處理的4種基本元素為:?jiǎn)卧?、通道,、任?wù)和TMS320DSP數(shù)字信號(hào)處理器標(biāo)準(zhǔn)算法(eXpressDSP Algol-ithm InteropeliabilityStandard,,XDAIS)。其中,,單元是算法的集合,為外界和算法提供標(biāo)準(zhǔn)接口,;通道是單元的集合,;任務(wù)是按時(shí)間順序執(zhí)行的一系列通道,其目的是和設(shè)備驅(qū)動(dòng)程序及其他任務(wù)通信,。圖2為基于RF6框架的數(shù)字音頻系統(tǒng)結(jié)構(gòu)圖,。

 

4.2 ARM端應(yīng)用程序和DSP端算法

        ARM端應(yīng)用程序主要實(shí)現(xiàn)人機(jī)交互、系統(tǒng)控制(如傳送參數(shù))等功能,,由2個(gè)線程組成:主線程和數(shù)據(jù)處理線程,。主線程提供用戶界面和調(diào)用DSIVBIOSLINK中:PROC模塊的API函數(shù),引導(dǎo)和加載DsP端可執(zhí)行文件,。數(shù)據(jù)處理線程將從DsP端任務(wù)O傳輸過(guò)來(lái)的音頻數(shù)據(jù)幀回送給任務(wù)1,,其通過(guò)調(diào)用CHNL模塊中的API函數(shù)來(lái)實(shí)現(xiàn)ARM和DSP間的數(shù)據(jù)傳輸。

        DSP端有2個(gè)任務(wù):任務(wù)0和任務(wù)1,。任務(wù)0將交又存取的音頻數(shù)據(jù)幀分開(kāi)成左,、右2個(gè)聲道。任務(wù)0分別對(duì)2個(gè)聲道進(jìn)行FIR濾波器處理,,濾波器參數(shù)(如低通,、高通)通過(guò)ARM端程序調(diào)用MSGQ模塊中的API函數(shù)來(lái)設(shè)定。然后任務(wù)0將左右聲道數(shù)據(jù)幀重新合成一個(gè)音頻信號(hào)數(shù)據(jù)幀,,通過(guò)DSP/BIOS LlNK發(fā)送給ARM端,。任務(wù)1與任務(wù)0非常相似,其通過(guò)DSP/BIOSLlNK從ARM端接收數(shù)據(jù),,然后對(duì)其采用音量控制算法實(shí)現(xiàn)聲音大小控制,。

        DSP端程序通過(guò)CodeComposer Studio編譯后,生成out格式的可執(zhí)行文件,。ARM端程序交叉編譯后生成應(yīng)用程序,。運(yùn)行應(yīng)用程序,可執(zhí)行文件以參數(shù)形式傳遞給ARM端應(yīng)用程序,。采樣率44.1 kHz,,量化精度16 bit。經(jīng)測(cè)試,,用戶可通過(guò)在超級(jí)終端輸入命令實(shí)現(xiàn)對(duì)FIR和音量的調(diào)節(jié),,其運(yùn)行結(jié)果如圖3所示。
 

5 結(jié)束語(yǔ)

        0MAP平臺(tái)因其特有的雙核結(jié)構(gòu),,廣泛應(yīng)用于實(shí)時(shí)多媒體影音數(shù)據(jù)處理,、語(yǔ)音識(shí)別系統(tǒng),、網(wǎng)絡(luò)通信等領(lǐng)域。筆者以O(shè)MAP5912平臺(tái)的數(shù)字音頻系統(tǒng)為例介紹雙核通信的具體應(yīng)用,,希望能對(duì)使用OMAP的人員具有借鑒意義,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。