開放的多媒體應(yīng)用平臺OMAPTM
摘要:從系統(tǒng)設(shè)計入手,介紹了開放的多媒體應(yīng)用平臺OMAP TM的硬件和軟件結(jié)構(gòu),及OMAP TM平臺的實現(xiàn)——DSP/BIOS TM橋技術(shù)的概念和實現(xiàn)。
本文引用地址:http://m.butianyuan.cn/article/241590.htm關(guān)鍵詞:OMAP TM DSP/BIOS TM橋 XDAIS RTOS
今天的系統(tǒng)度設(shè)計者面對的是日益增長的應(yīng)用需求,嵌入式系統(tǒng)設(shè)計顯得保存,新的系統(tǒng)設(shè)計理念是在開放式系統(tǒng)平臺上進行設(shè)計。開放式平臺可以不斷地更新和下載新的應(yīng)用,使產(chǎn)品功能常新,從而使產(chǎn)品在市競爭中立于不敗之地。
選擇好平臺是關(guān)鍵。本文介紹了TI公司的OMAP TM平臺(Open Multimedia Applications Platform)。它是基于DSP的開放多媒體應(yīng)用平臺,已被NOKIA、ERICSSON、SONY、HANDSPRING等公司選用。
OMAP TM平臺是雙核結(jié)構(gòu),由ARM核及DSP核組成,DSP以低功耗高性能實現(xiàn)多媒體應(yīng)用。目前在OMAP TM平臺上實現(xiàn)的多媒體應(yīng)用有語音、音頻、圖像、視頻等。
1 OMAP TM的開放性
OMAP TM的開放性表現(xiàn)在以下三個方面:
(1)對于用戶來說,基于OMAP TM平臺的應(yīng)用是開放的。針對產(chǎn)品的操作系統(tǒng),用戶不僅可以下載基于該操作系統(tǒng)的應(yīng)用程序,還可以下載基于DSP的多媒體應(yīng)用程序。也就是說OMAP TM平臺透過先進的操作系統(tǒng)平臺不僅開放了ARM,而且開放了DSP。通過DSP/BIOS TM橋,DSP的資源就如同ARM的外設(shè)一樣通過操作系統(tǒng)的API被調(diào)用。DSP/BIOS TM橋在OMAP TM平臺上實現(xiàn)了雙核的無縫連接。
(2)對于獨立的軟件制造商(ISV)來說,為OMAP TM平臺開發(fā)商業(yè)應(yīng)用軟件的標(biāo)準(zhǔn)是開放。算法的兼容性及可評佑性是關(guān)鍵。只有算法的性能、占用資源及接口方式是標(biāo)準(zhǔn)的,算法才能離架。TI公司的XDAIS(eXpressDSP TM算法標(biāo)準(zhǔn))的出臺解決了DSP算法的標(biāo)準(zhǔn)化問題,所有XDAIS兼容算法都必須得到TI公司的兼容性測試。而且DSP/BIOS TM橋提供XDAIS兼容算法接口。ISV開發(fā)的XDAIS兼容算法可直接用于OMAP TM平臺。
(3)對于原始設(shè)備制造廠商(OEM)來說,可以開放先進的操作系統(tǒng)。OMAP TM平臺支持的操作系統(tǒng)很多,如Microsoft的WINDOWS CE、Synbian的EPOC、ATI的NUCLEUS、Windriver的VXWORKS和LINUX等,OEM廠商可以按照自己的需求和LICENCE情況去定制。同時,OEM廠商還可以根據(jù)自己的特點和產(chǎn)品的功能去開放地選購算法和軟件。借助于第三方OS及TI的第三方網(wǎng)絡(luò)等,OEM廠商仿佛置身于一個巨大軟件超市,各種算法及軟件商品性能價格一目了然,盡可以取其所需。
OMAP TM平臺分為軟件和硬件平臺。為滿足多媒體應(yīng)用的需求,硬件平臺必須高性能、低功耗;同時為滿足應(yīng)用的發(fā)展需求,硬件平臺要具有不斷升級的能力。OMAP TM軟件平臺的核心是DSP/BIOS TM橋,OMAP TM的軟件平臺獨立于硬件平臺。
2 OMAP TM的硬件平臺
OMAP TM的多媒體應(yīng)用取決于它內(nèi)部硬件結(jié)構(gòu)的實現(xiàn),DSP是實現(xiàn)多媒體應(yīng)用的關(guān)鍵。當(dāng)然其內(nèi)部的硬件加速器、DMA及交通控制單元等也舉足輕重。
OMAP TM硬件平臺主要由DSP核、ARM核及交通控制(TRAFFIC CONTROLLER)單元組成。這三個部分可以獨立地進行時鐘管理,有效地控制功耗。
OMAP TM平臺采用雙核技術(shù)使操作系統(tǒng)的效率和多媒體代碼的執(zhí)行更加優(yōu)化。實時性任務(wù)由DSP完成,非實時性任務(wù)和系統(tǒng)控制工作由ARM完成,從而使系統(tǒng)的功耗降至最低,成功地解決性能與功耗的最佳組合問題。
OMAP TM平臺的硬件平臺會逐步升級國,以滿足日益增長的應(yīng)用需求。目前的ARM核選用ARM95TDMI,其上可以運行先進的操作系統(tǒng)如WINDOWS CE、EPOC等。DSP核采用TMS320C55X TM DSP,其上運行的RTOS是DSP/BIOS TM。TMS320C55X TM DSP有高度并行能力,它的32位讀寫能力天功能強大的EMIF、雙流水線的獨立操作及雙MAC的運算能力,以及它的變長指令、用戶自定義的并行指令是優(yōu)異的多媒體性能的保證。其采用模塊化的IDLE模式,最大程度地降低了功耗。OMAP TM硬件平臺的框圖如圖1所示。
3 OMAP TM的軟件結(jié)構(gòu)
OMAP TM的軟件結(jié)構(gòu)在兩個操作系統(tǒng)上,一是基于ARM的先進的OS如EPOC、WINCE等;二是基于DSP的DSP/BIOS TM。如何使兩個操作系統(tǒng)無縫工作,是實現(xiàn)開放的軟件平臺的關(guān)鍵。這個核心技術(shù)就是首次正式應(yīng)用在OMAP TM平臺上的DSP/BIOS TM橋。
3.1 DSP/BIOS TM橋
DSP/BIOS TM橋用于連接DSP/BIOS和其他通用處理器(GPP)上的OS。GPP在OMAT TM里是ARM,還可以是MTPS(Microprocessor without Interlocked Pipe Stage)等。DSP/DIOS TM橋具有以下特點:
·高性能;
·有效利用GPP和DSP的資源;
·可移植到不同的GPP和DSP硬件平臺上;
·可移值到不同的GPP和DSP操作系統(tǒng)上;
·支持多個DSP和一個GPP;
·從GPP應(yīng)用程序中使用;
·對象為中心的設(shè)計;
·高可靠性;
·APIs與將來的版本向后兼容。
DSP/BIOS TM橋用于非對稱的,由一個通用的處理器(GP:P)和一個或多個DSP組成的多處理器環(huán)境。DSP/BIOS TM橋作為GPP OS和DSP OS的軟件組合,把兩個操作系統(tǒng)連接在一起。這種連接能夠使GPP端的客戶與DSP上的任務(wù)交換信息和數(shù)據(jù)。連接分為兩種類型的子連接,消息子連接和數(shù)據(jù)流子連接。每種子連接都按順序傳遞消息,哪個消息先到消息鏈,哪個消息就先被傳遞;同樣哪個數(shù)據(jù)流先到數(shù)據(jù)流鏈;哪個數(shù)據(jù)流就先被傳遞。每個子連接都獨立地進行操作,例如:GPP先發(fā)送數(shù)據(jù)流,然后發(fā)送消息,如果消息有高優(yōu)先級,那么消息比數(shù)據(jù)流先到DSP。
DSP任務(wù)通常用消息對象傳送控制和狀態(tài)信息,用數(shù)據(jù)流對象傳送高效時數(shù)據(jù)流。圖2表示GPP客戶端程序和DSP任務(wù)間的關(guān)系。
3.2 主機軟件結(jié)構(gòu)
對于GPP操作系統(tǒng)來說,DSP/BIOS TM橋增加了API,它能使GPP應(yīng)用和驅(qū)動程序同時利用DSP的資源。GPP客戶端可以通過API完成以下工作:
·初始化DSP上的信號處理任務(wù);
·與DSP任務(wù)交換信息;
·與DPS任務(wù)雙向交換數(shù)據(jù)流;
·停止、激活、刪除DSP任務(wù);
·進行資源的狀態(tài)查詢。
一個GPP應(yīng)用程序或設(shè)備驅(qū)動程序可以使用DSP/BIOS TM橋API與DSP子系統(tǒng)上的DSP任務(wù)進行通信。例如:一個GPP WAVE設(shè)備驅(qū)動程序可以利用API發(fā)送信息給DSP任務(wù)來管理數(shù)據(jù)從ADC到DAC。
GPP端DSP/BIOS TM橋API以庫的形式實現(xiàn),它調(diào)用特定硬件的設(shè)備驅(qū)動程序,如果沒有一個針對特定硬件設(shè)備驅(qū)動程序,API是不能工作的。對于GPP API來說,這些專用于DSP子系統(tǒng)的設(shè)備驅(qū)動程序執(zhí)行I/O操作和控制操作,就象其他GPP外設(shè)的設(shè)備驅(qū)動程序一樣。每個DSP設(shè)備驅(qū)動程序支持特定的DSP子系統(tǒng),如果存在同一個DSP硬件的多個實例,那么這個DSP設(shè)備驅(qū)動程序的多個實例都會在GPP OS上運行。
DSP設(shè)備驅(qū)動程序為GPP端的API完成很多功能,它負責(zé)DSP的自舉工作,為DSP裝入RTOS和應(yīng)用程序代碼,并啟動DSP運行。一旦DSP已經(jīng)初始化并且RTOS進行運行狀態(tài),DSP設(shè)備驅(qū)動程序就開始于GPP和DSP間的消息和數(shù)據(jù)流的傳遞工作。與它對等的DSP上的DSP主機驅(qū)動程序。DSP設(shè)備驅(qū)動程序和DSP主機驅(qū)動程序?qū)λ鶄鬟f的內(nèi)容并不關(guān)心。
3.3 DSP軟件結(jié)構(gòu)
對于DSP RTOS,DSP/BIOS TM橋增加了目標(biāo)獨立的流式I/O界面(STRM)、消息界面(NODE)和資源管理(RM)服務(wù)器。RM服務(wù)器就象DSP RTOS的一個任務(wù)一樣運行,并服務(wù)于GPP的命令和查詢。一旦GPP端的程序通過GPP端的API發(fā)出請求,RM服務(wù)器響應(yīng),啟動或停止DSP信號處理節(jié)點。
由RM服務(wù)器的任務(wù)采用STRM和NODE界面,作為對應(yīng)的GPP客戶程序的服務(wù)器,并根據(jù)GPP客戶程序發(fā)出的信息進行處理工作。典型的,一個DSP任務(wù)用設(shè)備獨立的流式I/O把數(shù)據(jù)從源端傳送到罕主端,并在數(shù)據(jù)傳送過程中進行特定的處理和轉(zhuǎn)換。例如:一個WAVE音頻任務(wù)從GPP WAVE設(shè)備驅(qū)動程序接收到數(shù)據(jù)后,可能要執(zhí)行音頻解壓縮(ADPCM,MPEG,CELP),然后把解壓縮的線性采樣送到DAC。
3.4 DSP/BIOS TM橋的功能組件
DSP/BIOS TM橋的功能組件如圖3所示。
在典型配置中,GPP與一個或多個DSP相連,最終用戶在GPP上的應(yīng)用程序調(diào)用媒體服務(wù)模塊或驅(qū)動程序,通過DSP/BIOS TM橋來管理DSP資源。
資源管理器負責(zé)動態(tài)高度DSP資源,監(jiān)控DSP資源,動態(tài)裝入DSP代碼,發(fā)生請求沖突時,負責(zé)實現(xiàn)DSP資源的管理策略。資源管理器在平臺管理器之上。平臺管理器負責(zé)靜態(tài)裝入DSP代碼,啟動或停止DSP實現(xiàn)數(shù)據(jù)流。平臺管理器位于GPP OS適配器及負責(zé)及DSP通信的連接驅(qū)動器之上。
DSP上的RTOS是基礎(chǔ),它通過主機連接驅(qū)動器與GPP通信。在DSP RTOS的上面是資源管理(RM)服務(wù)器。RM服務(wù)器的主要職責(zé)是在資源管理器的控制下動態(tài)地創(chuàng)建、執(zhí)行、刪除DSP處理節(jié)點,其他職責(zé)包括改變?nèi)蝿?wù)的優(yōu)先級并響應(yīng)資源管理器的配置命令和狀態(tài)查詢。一個專門的流用來接收來自資源管理器的命令,另一個專門的流用來發(fā)響應(yīng)信號給資源管理器。
DSP任務(wù)節(jié)點是DSP上單獨執(zhí)行的線程,它實現(xiàn)信號處理算法。任務(wù)節(jié)點通過固定長度的短消息和與設(shè)備無關(guān)的流式I/O互相通信或與GPP通信。
3.5 舉例說明DSP/BIOS TM橋的實現(xiàn)過程
在這個例子中用DSP進行濾波,GPP應(yīng)用程序調(diào)用API控制DSP上的音頻濾波任務(wù)。API用來控制DSP,但GPP和DSP之間沒有數(shù)據(jù)流,如圖4所示。
為初始化DSP上的濾波器任務(wù),GPP應(yīng)用程序要完成的工作如下:
·連接到DSP;
·分配濾波器任務(wù)節(jié)點及ADC和DAC設(shè)備節(jié)點;
·連接節(jié)點;
·創(chuàng)建DSP上的節(jié)點;
·啟動濾波器節(jié)點。
為終止DSP上的濾波器應(yīng)用,GSP應(yīng)用程序完成的工作如下:
·調(diào)DSP節(jié)點,終止API發(fā)消息到濾波器來終止處理;
·刪除濾波器節(jié)點和ADC,DAC節(jié)點;
·與DSP分離。
作為雙核的OMAP TM平臺,其最大的特點是開放性及其軟件平臺和硬件平臺的獨立性,同時基于C的ARM和基于XDAIS算法的DSP使OMAP TM平臺易于開發(fā)和維護,功能強大且可在線升級。軟件平臺的核心DSP/BIOS TM橋并不依賴于固定的操作系統(tǒng),具有可移植性,允許操作系統(tǒng)的更新。DSP/BIOS TM橋技術(shù)是實現(xiàn)開放的多媒體應(yīng)用的核心技術(shù)。XDAIS兼容算法具有可重入和可重定位特性,因此不僅為算法提供標(biāo)準(zhǔn)的界面,而且具有多通道特性,因此不僅為算法提供標(biāo)準(zhǔn)的界面,而且具有多通道特性,并能直接在OMAP TM平臺上運行,是TI推薦的算法封裝方式。目前已經(jīng)有眾多的第三方開發(fā)出大量XDAIS兼容算法。OAP TM的軟件開發(fā)集成環(huán)境支持多核的CCS2.0 IDE、XDS510及XDS560仿真器,同時TI還提供OMAP TM EVM做的評估工具。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論