# G# D$ u7 t) b9 K/ O( T! J" k$ q6 [9 `3 H9 \
將多媒體應用整合在一個元件中,因而支援高速有線和無線通訊應用這一趨勢已越來越明顯。最新的2.5G和3G手機就是一個很好的例子,它們整合了MP3音訊和MPEG4視訊等多媒體功能。手機對多媒體應用的要求主要是由3G網路帶動的,該網路可以提供遠高於現有網路的頻寬,因而使傳輸視訊流成為可能,同時也為展開其他多媒體業務提供了機會。通常情況下,這類多媒體內容豐富的應用都需要一個微控制器來執行作業系統(OS),管理人機介面(MMI)並執行其他一些常規任務。此外,還需要一個數位訊號處理器(DSP)來完成繁重的數學處理任務,例如語音編碼、視訊解碼、音訊解碼等。因此,在大多數基於多媒體的應用中都應將這些任務分散到不同的處理器中去。 8 O8 t+ Y+ p! E ; p7 Z( R; n2 X, p/ ]* S+ N$ a# N) ^) i- P# n
然而,有些半導體設計商更願意採用單處理器方案來處理這類複雜的多媒體問題。他們的方案是在一個帶內建加速器和再使用器的RSIC處理器上執行這些多媒體應用。這種處理器確實可以完成這類功能,但這並非解決多媒體問題的最佳方法。如果數據處理和訊號處理合二為一,那麼想要對數據和訊號採用不同的數學精密度或者採用不同的工具來處理就會變得很不方便。晶片也會因為要完成很多它並不擅長的功能而不得不消耗很高電能。而且,單晶片方案為將來的擴展留下的空間也很小。當元件中同時執行多項任務時,對時間要求嚴格的多媒體處理任務會被賦予最高的優先級。這樣,要在多媒體處理和響應MMI輸入這兩項任務之間切換時,就可能存在問題。因為單處理器方案必須將目前工作環境保存下來才能安排執行MMI任務,同時它還必須保證不錯過任何對即時性的要求,因此,作業系統將疲於應付多媒體應用不斷成長的需求,結果導致對MMI的響應速度變慢。 % H5 R& K5 D7 X! f3 i $ e5 i# a" M& R. K# @ L u3 `# `, x# n
開放式多媒體應用平台(OMAP)處理器內含一個增強型ARM處理器(ARM925)和TI公司最新研製出的低功耗定點DSP(TMS320C55x)。設計這一雙核心元件的目的就是為了有效處理多媒體應用和MMI應用。在這兩個核心中,ARM925用於執行作業系統(OS),而DSP用於處理所有多媒體應用。將兩個核心放在一個289接腳的晶片中,這樣不但節約電路板空間,而且可以降低功耗和成本。除了這兩個功能強大的核心外,OMAP元件中還備有各種各樣的片上週邊設備,使用戶能夠以一種幾乎無縫的方式與USB、UART、藍芽元件以及GSM模組等通用元件介面。下面分別討論OMAP元件的具體細節。 ( }6 a$ P- A4 F3 F; H" j
0 Y. j; R& S9 V3 r! f/ F) c
[attach]3688[/attach]# r2 M0 h+ P, x ^: c" M+ s1 X
OMAP硬體結構概述 4 r' ^: v: i2 c. G [! B _
$ [5 W" [; ~+ C) d
2 k f0 ?0 I1 s0 {0 oOMAP平台由一個微處理器子系統(ARM),一個DSP子系統,一個記憶體介面流量控制器、一些專用的多媒體應用週邊設備(MWA)和一個多工介面構成。OMAP中每個核心的最高執行速度都可達到150MHz,並且都可以隨作業頻率的降低而作出相應改動以節約功耗。ARM既支援32位元也支援16位元(Thumb模式)指令集。C55x DSP內有5組數據匯流排,在一個周期內允許三次讀取作業和兩次寫入作業。C55x最獨特的一點就是它具備雙MAC結構,並且其內部具有一個硬體圖形加速器。綜上所述,C55x DSP是一款高度複雜但功能強大的,專為基於多媒體的即時應用而設計低功耗元件。 + ? }8 d* _; I$ j/ @) }9 U0 L
+ a4 B7 F" V G4 e
7 h3 C2 D3 f1 u7 l6 [4 A流量控制器(TC)用於控制對外部記憶體的存取,其最高工作頻率為75MHz。TC提供三個介面,它們分別叫做外部記憶體快速介面(EMIFF),外部記憶體慢介面(EMIFS)和內部記憶體介面(IMIF)。其中,EMIFF可與SDRAM連接,而EMIFS只能與快閃記憶體和速度稍慢的ROM連接。OMAP內還有192K的內部記憶體,由ARM和DSP共享。但只有ARM才能配置DSP中的MMU(記憶體映射單元),因而決定DSP應以怎樣的方式存取這些資源。TC可以看作儲存資源的守衛,由它內部的仲裁器來決定哪個核有權利存取這些資源,以及是否可以讓兩個核同時存取這些資源。 : j, h; S. v1 n
1 t8 R6 p; E' i9 o! {$ f$ A, ?: U
為了加速數據存取速度以及執行外部記憶體內的代碼,C55x DSP中加入了數據和程式緩衝記憶體。ARM中有一個16KB的程式緩衝記憶體和一個8KB的數據緩衝記憶體。而DSP中只有一個24KB的程式緩衝記憶體。在OMAP中央有一個高性能的9通道系統直接記憶體存取器(DMA)。這個9通道DMA允許在不同的埠間傳送數據,而無需ARM干涉。DMA可作業的埠包括EMIFF、EMIFS、IMIF和周邊元件。在這個9通道DMA的頂端,有一個LCD控制器的專用DMA通道,它可以將數據從IMIF或EMIFF傳送到LCD埠。 $ ~$ D# L. C5 o 6 v3 X6 a( l4 [* s" Q! L+ e: N! v) R5 i/ u% J: Z: v" X7 B6 `: ?1 v+ d
OMAP元件中有品種豐富的片上週邊設備,這些週邊設備可分為DSP專用週邊設備、DSP公共週邊設備、MPU/DSP共享週邊設備、MPU公共週邊設備和MPU專用週邊設備,其中有些週邊設備只能用於DSP或ARM,其他的則可由二者共享。有了這些週邊設備,OMAP元件就可以和各種各樣的儲存媒介介面,例如多媒體卡、SD卡、SONY記憶卡以及各種符合串列介面標準的記憶體。此外,OMAP還能作為一個USB1.10主控器,因而基於OMAP的元件就可以直接利用印表機列印相片,而無需接一台PC機。 % O" W; |' L$ i, b2 t& X) }
$ i2 _0 e; |; t, m- V
1 C/ |: k) Q& i; g, L5 z! W) X+ g
OMAP中的兩個核心透過幾組週邊設備匯流排存取周邊元件。注意,每一個核心都有專用的週邊設備匯流排,這些匯流排又與其他匯流排連接,以實現元件內完全互聯。核心對週邊設備的存取就是這樣控制的。例如,MPU橋和DSP專用週邊設備間就沒有週邊設備匯流排連接。有一個週邊設備很值得注意,這就是共享週邊設備組中的郵箱週邊設備。這些郵箱既可以透過MPU存取,也可以透過DSP存取。這種基本用法的目的是為了方便在處理器內進行通訊。每個核心都有專用郵箱,這些郵箱可以用來給另一個核心發送消息,也可以用來產生中斷。 0 w6 G6 c, C. }+ G5 P8 V& H% _
1 t# Q& v# R6 [( T+ E4 q F
[attach]3689[/attach] & u) E, i3 e. C3 ^/ W0 }1 I7 }! AOMAP軟體概述 1 e. h( x+ _$ \7 I! A4 v
% j5 k6 e7 y& s/ J$ ~# g
4 p# O4 B z5 X( O2 z) x在DSP端,DSP橋用於管理DSP資源和數據流,並向DSP算法提供介面。DSP上執行的算法可以是自行編制的,也可以是由專業算法設計商大量提供的現成算法。在大多數多媒體元件中,系統複雜度日益增大,開發日程也日漸緊縮,因此開發商更傾向於購買第三方軟體設計商提供的算法,而不願倉促地自己編寫。 , ^, U7 X3 e7 j8 ~" |3 S0 S7 V! L # g6 d3 D L7 p4 b3 N) @1 s- L! r' @* ?4 N# R9 Z: J
對系統開發商而言,將購買的算法與自編算法整合在一起是一項非常艱巨的任務。不同的算法開發商都會有他們自己獨特的編寫算法的方式。這其中還包括對I/O介面和記憶體的不同用法。因此,在系統開發中,時間更多地被耗費在將不同廠商開發的算法整合起來,並力求使其合作順利,不出差錯。如果管理者決定為了增加產品功能而購買更多的算法,那麼情況會更糟。為了克服這一致命弱點,TI首先發起並開始領導一項算法標準定義工作,以管理DSP算法的編寫方式,並力圖使DSP算法具備類似‘即插即用’的特性。這就是eXpress DSP算法介面標準(eXpress DSP Algorithm Interface Standard),簡稱為xDAIS[2]。 ; c6 e, V l: A" F. r% h1 d6 f/ K7 l/ [ Z2 S' }- Z
, O0 r. |" }6 j9 v# M
XDAIS相容的算法將按照一系列的規則設計,以便能夠在系統中實現無縫整合。欲了解更多更深入的xDAIS情況請參看http://dspvillage.ti.com上的白皮書。下面回到我們的討論主題,DSP端的DSP橋為xDAIS相容的DSP算法提供一個介面,我們稱其為節點。圖1中詳細描繪了OMAP的軟體結構。 * u) j1 i( b- W. m/ }, m; m; l: a! h f! S; Q
5 z, N, [$ o% G3 h/ a( a+ j
DSP橋內的資源管理器(RM)上存有一個資料庫,庫中存放了DSP上所有節點的資訊。當某個應用中涉及多媒體處理任務時,RM會在DSP上為其製作一個節點,然後向ARM申請記憶體。一旦主機得知該節點的存在及其提出的記憶體要求,ARM就會針對這個多媒體任務初始化該節點。接著,RM開始執行應用,於是DSP中的節點就開始執行多媒體任務。沒有數據時DSP是不會開始進行處理的,對DSP橋而言也是如此。當ARM決定停止該任務時,它會發送一個指令以釋放DSP上的任務節點,然後DSP就將釋放該節點佔用的所有記憶體資源。這就為執行其他任務留出了空間,同時也方便了動態圖像加載類系統的實現。 / C2 u, R' K3 ]5 i
/ [5 P% D N: ^: t, a* N/ P- m2 M Y! s! E! T+ J* n' p
在開始執行一項多媒體任務時,應用軟體開發商只需完成一個他們很熟悉的函數調用,例如PlayMp3(song.mp3),系統就會播放MP3歌曲。其他的一切都由多媒體網路閘道和DSP橋處理。OMAP中採用了一種三步型軟體模型,即製作、執行和刪除。有關網路閘道的三步型軟體模型的概要可參看圖2。 * L9 z1 R* C) R3 r