新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 開放的多媒體應用平臺OMAPTM

開放的多媒體應用平臺OMAPTM

作者: 時間:2006-05-07 來源:網(wǎng)絡 收藏

摘要:從系統(tǒng)設計入手,介紹了開放的多媒體應用平臺OMAP TM的硬件和軟件結構,及OMAP TM平臺的實現(xiàn)——DSP/BIOS TM橋技術的概念和實現(xiàn)。

本文引用地址:http://www.butianyuan.cn/article/241590.htm

關鍵詞:OMAP TM DSP/BIOS TM橋 XDAIS RTOS

今天的系統(tǒng)度設計者面對的是日益增長的應用需求,系統(tǒng)設計顯得保存,新的系統(tǒng)設計理念是在開放式系統(tǒng)平臺上進行設計。開放式平臺可以不斷地更新和下載新的應用,使產品功能常新,從而使產品在市競爭中立于不敗之地。

選擇好平臺是關鍵。本文介紹了TI公司的OMAP TM平臺(Open Multimedia Applications Platform)。它是基于DSP的開放多媒體應用平臺,已被NOKIA、ERICSSON、SONY、HANDSPRING等公司選用。

OMAP TM平臺是雙核結構,由ARM核及DSP核組成,DSP以低功耗高性能實現(xiàn)多媒體應用。目前在OMAP TM平臺上實現(xiàn)的多媒體應用有語音、音頻、圖像、視頻等。

1 OMAP TM的開放性

OMAP TM的開放性表現(xiàn)在以下三個方面:

(1)對于用戶來說,基于OMAP TM平臺的應用是開放的。針對產品的操作系統(tǒng),用戶不僅可以下載基于該操作系統(tǒng)的應用程序,還可以下載基于DSP的多媒體應用程序。也就是說OMAP TM平臺透過先進的操作系統(tǒng)平臺不僅開放了ARM,而且開放了DSP。通過DSP/BIOS TM橋,DSP的資源就如同ARM的外設一樣通過操作系統(tǒng)的API被調用。DSP/BIOS TM橋在OMAP TM平臺上實現(xiàn)了雙核的無縫連接。

(2)對于獨立的軟件制造商(ISV)來說,為OMAP TM平臺開發(fā)商業(yè)應用軟件的標準是開放。算法的兼容性及可評佑性是關鍵。只有算法的性能、占用資源及接口方式是標準的,算法才能離架。TI公司的XDAIS(eXpressDSP TM算法標準)的出臺解決了DSP算法的標準化問題,所有XDAIS兼容算法都必須得到TI公司的兼容性測試。而且DSP/BIOS TM橋提供XDAIS兼容算法接口。ISV開發(fā)的XDAIS兼容算法可直接用于OMAP TM平臺。

(3)對于原始設備制造廠商(OEM)來說,可以開放先進的操作系統(tǒng)。OMAP TM平臺支持的操作系統(tǒng)很多,如Microsoft的WINDOWS CE、Synbian的EPOC、ATI的NUCLEUS、Windriver的VXWORKS和LINUX等,OEM廠商可以按照自己的需求和LICENCE情況去定制。同時,OEM廠商還可以根據(jù)自己的特點和產品的功能去開放地選購算法和軟件。借助于第三方OS及TI的第三方網(wǎng)絡等,OEM廠商仿佛置身于一個巨大軟件超市,各種算法及軟件商品性能價格一目了然,盡可以取其所需。

OMAP TM平臺分為軟件和硬件平臺。為滿足多媒體應用的需求,硬件平臺必須高性能、低功耗;同時為滿足應用的發(fā)展需求,硬件平臺要具有不斷升級的能力。OMAP TM軟件平臺的核心是DSP/BIOS TM橋,OMAP TM的軟件平臺獨立于硬件平臺。

2 OMAP TM的硬件平臺

OMAP TM的多媒體應用取決于它內部硬件結構的實現(xiàn),DSP是實現(xiàn)多媒體應用的關鍵。當然其內部的硬件加速器、DMA及交通控制單元等也舉足輕重。

OMAP TM硬件平臺主要由DSP核、ARM核及交通控制(TRAFFIC CONTROLLER)單元組成。這三個部分可以獨立地進行時鐘管理,有效地控制功耗。

OMAP TM平臺采用雙核技術使操作系統(tǒng)的效率和多媒體代碼的執(zhí)行更加優(yōu)化。實時性任務由DSP完成,非實時性任務和系統(tǒng)控制工作由ARM完成,從而使系統(tǒng)的功耗降至最低,成功地解決性能與功耗的最佳組合問題。

OMAP TM平臺的硬件平臺會逐步升級國,以滿足日益增長的應用需求。目前的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的軟件結構

OMAP TM的軟件結構在兩個操作系統(tǒng)上,一是基于ARM的先進的OS如EPOC、WINCE等;二是基于DSP的DSP/BIOS TM。如何使兩個操作系統(tǒng)無縫工作,是實現(xiàn)開放的軟件平臺的關鍵。這個核心技術就是首次正式應用在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應用程序中使用;

·對象為中心的設計;

·高可靠性;

·APIs與將來的版本向后兼容。

DSP/BIOS TM橋用于非對稱的,由一個通用的處理器(GP:P)和一個或多個DSP組成的多處理器環(huán)境。DSP/BIOS TM橋作為GPP OS和DSP OS的軟件組合,把兩個操作系統(tǒng)連接在一起。這種連接能夠使GPP端的客戶與DSP上的任務交換信息和數(shù)據(jù)。連接分為兩種類型的子連接,消息子連接和數(shù)據(jù)流子連接。每種子連接都按順序傳遞消息,哪個消息先到消息鏈,哪個消息就先被傳遞;同樣哪個數(shù)據(jù)流先到數(shù)據(jù)流鏈;哪個數(shù)據(jù)流就先被傳遞。每個子連接都獨立地進行操作,例如:GPP先發(fā)送數(shù)據(jù)流,然后發(fā)送消息,如果消息有高優(yōu)先級,那么消息比數(shù)據(jù)流先到DSP。

DSP任務通常用消息對象傳送控制和狀態(tài)信息,用數(shù)據(jù)流對象傳送高效時數(shù)據(jù)流。圖2表示GPP客戶端程序和DSP任務間的關系。

3.2 主機軟件結構

對于GPP操作系統(tǒng)來說,DSP/BIOS TM橋增加了API,它能使GPP應用和驅動程序同時利用DSP的資源。GPP客戶端可以通過API完成以下工作:

·初始化DSP上的信號處理任務;

·與DSP任務交換信息;

·與DPS任務雙向交換數(shù)據(jù)流;

·停止、激活、刪除DSP任務;

·進行資源的狀態(tài)查詢。

一個GPP應用程序或設備驅動程序可以使用DSP/BIOS TM橋API與DSP子系統(tǒng)上的DSP任務進行通信。例如:一個GPP WAVE設備驅動程序可以利用API發(fā)送信息給DSP任務來管理數(shù)據(jù)從ADC到DAC。

                                     GPP端DSP/BIOS TM橋API以庫的形式實現(xiàn),它調用特定硬件的設備驅動程序,如果沒有一個針對特定硬件設備驅動程序,API是不能工作的。對于GPP API來說,這些專用于DSP子系統(tǒng)的設備驅動程序執(zhí)行I/O操作和控制操作,就象其他GPP外設的設備驅動程序一樣。每個DSP設備驅動程序支持特定的DSP子系統(tǒng),如果存在同一個DSP硬件的多個實例,那么這個DSP設備驅動程序的多個實例都會在GPP OS上運行。

DSP設備驅動程序為GPP端的API完成很多功能,它負責DSP的自舉工作,為DSP裝入RTOS和應用程序代碼,并啟動DSP運行。一旦DSP已經(jīng)初始化并且RTOS進行運行狀態(tài),DSP設備驅動程序就開始于GPP和DSP間的消息和數(shù)據(jù)流的傳遞工作。與它對等的DSP上的DSP主機驅動程序。DSP設備驅動程序和DSP主機驅動程序對所傳遞的內容并不關心。

3.3 DSP軟件結構

對于DSP RTOS,DSP/BIOS TM橋增加了目標獨立的流式I/O界面(STRM)、消息界面(NODE)和資源管理(RM)服務器。RM服務器就象DSP RTOS的一個任務一樣運行,并服務于GPP的命令和查詢。一旦GPP端的程序通過GPP端的API發(fā)出請求,RM服務器響應,啟動或停止DSP信號處理節(jié)點。

由RM服務器的任務采用STRM和NODE界面,作為對應的GPP客戶程序的服務器,并根據(jù)GPP客戶程序發(fā)出的信息進行處理工作。典型的,一個DSP任務用設備獨立的流式I/O把數(shù)據(jù)從源端傳送到罕主端,并在數(shù)據(jù)傳送過程中進行特定的處理和轉換。例如:一個WAVE音頻任務從GPP WAVE設備驅動程序接收到數(shù)據(jù)后,可能要執(zhí)行音頻解壓縮(ADPCM,MPEG,CELP),然后把解壓縮的線性采樣送到DAC。

3.4 DSP/BIOS TM橋的功能組件

DSP/BIOS TM橋的功能組件如圖3所示。

在典型配置中,GPP與一個或多個DSP相連,最終用戶在GPP上的應用程序調用媒體服務模塊或驅動程序,通過DSP/BIOS TM橋來管理DSP資源。

資源管理器負責動態(tài)高度DSP資源,監(jiān)控DSP資源,動態(tài)裝入DSP代碼,發(fā)生請求沖突時,負責實現(xiàn)DSP資源的管理策略。資源管理器在平臺管理器之上。平臺管理器負責靜態(tài)裝入DSP代碼,啟動或停止DSP實現(xiàn)數(shù)據(jù)流。平臺管理器位于GPP OS適配器及負責及DSP通信的連接驅動器之上。

DSP上的RTOS是基礎,它通過主機連接驅動器與GPP通信。在DSP RTOS的上面是資源管理(RM)服務器。RM服務器的主要職責是在資源管理器的控制下動態(tài)地創(chuàng)建、執(zhí)行、刪除DSP處理節(jié)點,其他職責包括改變任務的優(yōu)先級并響應資源管理器的配置命令和狀態(tài)查詢。一個專門的流用來接收來自資源管理器的命令,另一個專門的流用來發(fā)響應信號給資源管理器。

DSP任務節(jié)點是DSP上單獨執(zhí)行的線程,它實現(xiàn)信號處理算法。任務節(jié)點通過固定長度的短消息和與設備無關的流式I/O互相通信或與GPP通信。

3.5 舉例說明DSP/BIOS TM橋的實現(xiàn)過程

在這個例子中用DSP進行濾波,GPP應用程序調用API控制DSP上的音頻濾波任務。API用來控制DSP,但GPP和DSP之間沒有數(shù)據(jù)流,如圖4所示。

為初始化DSP上的濾波器任務,GPP應用程序要完成的工作如下:

·連接到DSP;

·分配濾波器任務節(jié)點及ADC和DAC設備節(jié)點;

·連接節(jié)點;

·創(chuàng)建DSP上的節(jié)點;

·啟動濾波器節(jié)點。

為終止DSP上的濾波器應用,GSP應用程序完成的工作如下:

·調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橋技術是實現(xiàn)開放的多媒體應用的核心技術。XDAIS兼容算法具有可重入和可重定位特性,因此不僅為算法提供標準的界面,而且具有多通道特性,因此不僅為算法提供標準的界面,而且具有多通道特性,并能直接在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不再難懂)


評論


相關推薦

技術專區(qū)

關閉