OMAP5912雙核通信及數(shù)字音頻系統(tǒng)實現(xiàn)
1OMAP5912平臺簡介
開放式多媒體應用平臺(()pen MuItimedia Appli一cations PIatform,OMAP)是針對第三代手機開發(fā)的高性能多媒體處理器。除具有性能/功耗比的優(yōu)勢外,還提供豐富的外圍接口,支持幾乎所有流行的有線和無線接口標準。因其出色表現(xiàn),該平臺一直得到世界主要移動設備制造商(如諾基亞、愛立信、索尼等)的青睞。
0MAP5912采用獨特的雙核結構,內含1個實現(xiàn)控制功能的帶有TI增強型ARM926EJ-S內核的處理器和1個實現(xiàn)數(shù)據處理功能的高性能、低功耗TMS320C55x DSP內核。ARM處理器可用來實現(xiàn)各種通信協(xié)議、控制和人機接口;DSP具有多條數(shù)據地址總線,非常適合數(shù)據密集的多媒體處理(如視頻編解碼),并具有極低的功耗[l]。為結合這兩個處理器的優(yōu)勢,使其發(fā)揮最大效率,雙核通信機制起了至關重要的作用。
2 OMAP5912的雙核間通信方式
在0MAP5912中實現(xiàn)ARM和DSP雙核通信方式有共享郵箱寄存器、共享存儲空間2種,在實際應用中需要配合使用這些雙核通信方式。如雙核通信中的握手聯(lián)絡,其數(shù)據量小,可用傳遞消息及時可靠的共享郵箱用來實現(xiàn);當需要傳輸大量數(shù)據(如圖像數(shù)據)時,通常要使用高效率的共享存儲空間這種通信方式。
2.1共享郵箱寄存器方式
雙核間可相互中斷并通過郵箱寄存器傳遞少量數(shù)據。共有4套郵箱寄存器,每套郵箱寄存器由2個16 bit寄存器和1個1 bit寄存器組成。當一個處理器將合適的命令字寫到命令字寄存器后,該寄存器會產生中斷,對另一個處理器的標志寄存器進行正確設置。被中斷的處理器通過讀標志寄存器響應中斷并清空標志寄存器。每套郵箱寄存器中,還有1個附加的數(shù)據字寄存器,可在每次中斷時在處理器間傳送2個字的數(shù)據。通過命令和數(shù)據字通信的信息完全由用戶定義。數(shù)據字可用來表示地址指針或狀態(tài)字。
2.2共享存儲器方式
共享存儲器有2種方式。第一種方式由ARM通過主機接口(MPU Interface,MPUI)獲取對DSP存儲空間和I/O空間的訪問權,由ARM完成數(shù)據在雙核間的搬移。MPUI為MPU和系統(tǒng)DMA控制器與DSP及其外設的通信提供了橋梁,通過MPuI可訪問DSP的整個存儲空間及其公共外設總線。
另一種方式是ARM通過對DSP存儲管理單元(Memoy Management Unit,MMU)的設置將DSP的外部存儲空間映射到OMAP5912系統(tǒng)存儲資源中,由DSP完成雙核間的數(shù)據傳輸。OMAP5912通過通信控制器(Traffic Controller,TC)實現(xiàn)共享存儲器,這樣ARM和DSP可訪問共享的靜態(tài)隨機存儲器(StaticRAM,SRAM)、高速外部存儲器接口(I,Zxteraaal:Mem0ryInterface Fast,EMIFF)以及低速外部存儲器接口(Ex-terhal Memory Interface Slow,EMIFS)的存儲空間[2]。
3 雙核間通信的基礎應用程序
為降低上層應用開發(fā)者的實現(xiàn)難度和節(jié)省設計時間,采用雙核間通信的基礎應用程序--DSP/BIOSLINK[3],其為上述兩種雙核通信方式的實現(xiàn)。開發(fā)人員在進行上層應用程序開發(fā)時,只需使用DSP/BIOSLINK提供的接口函數(shù)。DSP/BIOS LINK允許開發(fā)人員在ARM端利用一套標準API進入和控制DSP的運行環(huán)境;用于非對稱的、由一個通用處理器(如ARM)和一個或多個DSP組成的處理器環(huán)境。圖1為DSP/BIOSLINK的軟件體系結構圖。
DSP/BIOS LINK為開發(fā)人員提供的服務有:基本的處理器控制(啟動、執(zhí)行、停止)、基于邏輯通道(CHANNEL)的數(shù)據傳輸、消息(基于MSGQ模塊)。由PROC,CHNL,MSGQ3個組件組成。PROC是PROCESSCONTROL的縮寫,負責DSP處理器在應用程序用戶空間的操作,主要功能有:DSP初始化、DSP端程序的加載、執(zhí)行和停止。CHNL是CHANNEL的縮寫,表示ARM和DSP間數(shù)據流的邏輯通道,負責ARM和DSP間的數(shù)據傳輸。CHNL是ARM和DSP之間的邏輯實體,實現(xiàn)二者的物理連接。MSGQ是MESSAGEQUEUE的縮寫,負責ARM和DSP間長短不一的消息的交互和通信。消息的接收和發(fā)送是通過消息隊列實現(xiàn)的[4]。
4 基于OMAP5912的數(shù)字音頻系統(tǒng)買現(xiàn)
筆者以基于OMAP5912_的數(shù)字音頻系統(tǒng)為例介紹OMAP雙核間通信的具體應用。系統(tǒng)在RF6(ReferenceFramework Level 6)框架基礎上實現(xiàn),整個系統(tǒng)將輸入的立體聲音頻信號按照給定的采樣率和量化精度轉化為左、右兩聲道數(shù)據幀,再對其進行有限脈沖濾波器FIR算法和聲音控制VOL算法處理,然后合成立體聲輸出。整個系統(tǒng)劃分為ARM端應用程序和DSP端算法2部分。
評論