OMAP5912雙核通信及數字音頻系統實現
RF6是專門針對雙核芯片OMAP中DSP端軟件設計提出的一種參考框架[5],不但包含了外圍器件驅動模塊、線程模塊以及算法封裝模塊,還包含了用于同ARM端進行通信的模塊。RF6中數據處理的4種基本元素為:單元、通道、任務和TMS320DSP數字信號處理器標準算法(eXpressDSP Algol-ithm InteropeliabilityStandard,XDAIS)。其中,單元是算法的集合,為外界和算法提供標準接口;通道是單元的集合;任務是按時間順序執行的一系列通道,其目的是和設備驅動程序及其他任務通信。圖2為基于RF6框架的數字音頻系統結構圖。本文引用地址:http://www.104case.com/article/150186.htm
4.2 ARM端應用程序和DSP端算法
ARM端應用程序主要實現人機交互、系統控制(如傳送參數)等功能,由2個線程組成:主線程和數據處理線程。主線程提供用戶界面和調用DSIVBIOSLINK中:PROC模塊的API函數,引導和加載DsP端可執行文件。數據處理線程將從DsP端任務O傳輸過來的音頻數據幀回送給任務1,其通過調用CHNL模塊中的API函數來實現ARM和DSP間的數據傳輸。
DSP端有2個任務:任務0和任務1。任務0將交又存取的音頻數據幀分開成左、右2個聲道。任務0分別對2個聲道進行FIR濾波器處理,濾波器參數(如低通、高通)通過ARM端程序調用MSGQ模塊中的API函數來設定。然后任務0將左右聲道數據幀重新合成一個音頻信號數據幀,通過DSP/BIOS LlNK發送給ARM端。任務1與任務0非常相似,其通過DSP/BIOSLlNK從ARM端接收數據,然后對其采用音量控制算法實現聲音大小控制。
DSP端程序通過CodeComposer Studio編譯后,生成out格式的可執行文件。ARM端程序交叉編譯后生成應用程序。運行應用程序,可執行文件以參數形式傳遞給ARM端應用程序。采樣率44.1 kHz,量化精度16 bit。經測試,用戶可通過在超級終端輸入命令實現對FIR和音量的調節,其運行結果如圖3所示。
5 結束語
0MAP平臺因其特有的雙核結構,廣泛應用于實時多媒體影音數據處理、語音識別系統、網絡通信等領域。筆者以OMAP5912平臺的數字音頻系統為例介紹雙核通信的具體應用,希望能對使用OMAP的人員具有借鑒意義。
評論