二、 OMAP 處理器硬體及軟體開發環境
2.1 OMAP1510 處理器
本論文主要使用以 OMAP1510 微處理器為核心,並利用德州儀器(Texas Instruments) 所 開 發 的 嵌 入 式 單 板 Innovator Development Kit 為 開 發 環 境 。 所 以 本 章 節 將 對
OMAP 為 Open Multimedia Architecture Platform 的縮寫,OMAP1510 是一個有雙核 心的微處理器,使用 TI-enhanced ARM925 微處理器並結合 TMS320C55x DSP 核心。
OMAP 具有高效能平衡以及低功率消耗的能力,且擁有極佳的數值能力。本小節將簡述 OMAP 的背景及其架構。
2.1.1 OMAP 開發背景
德州儀器公司(Texas Instruments,TI)以 DSP 微處理器的優越性能著名,近年來更 推出一項先進的技術由 RISC 整合 DSP 的 SOC 嵌入式系統微處理器:OMAP。OMAP 最大的特點在整合了 TI DSP 核心及 ARM 的 RISC 架構和各種週邊控制器的設計,其應 用定位於即時的多媒體影音資料處理、語音辨識系統、網際網路通訊及無線通訊等訊號 分析應用。OMAP 採用的 TI 的 TMS320C55X DSP,適合處理大量即時多媒體資料,比 如說 MPEG1、MPEG2、MPEG4 或是其他音訊資料等。此外 OMAP 本身就是一個以 ARM925 RISC 為主體的微處理器,可以作為嵌入式作業系統的控制核心,用於處理人
機介面等系統功能主控的相關運算傳輸。另外 OMAP 功率消耗方面也有驚人的表現,
可以在很低的功率下完成資料處理的動作。
OMAP 開放式的架構,並提供了一套標準界面,協助廠商發展新的應用軟體或是增 加新的功能。OMAP 架構可移植性高,並且相容於大多數的作業系統,例如:Symbian OS™、Linux、Microsoft® Windows CE 3.0 和.NET 以及 Palm OSO 等。廠商可利用 OMAP 微處理器做出效能最高、電力消耗低的 2.5G 與 3G 無線裝置,並讓軟體工程師輕易運用 即時 DSP 功能。此外 TI 發展出 DSP/BIOS Bridge 架構,設計人員利用最佳的方式,把 資料分析計算工作適當地分配給 ARM RISC 和 DSP 微處理器,使得系統呈現出最佳的 運算效能,並能節省功率的消耗(Power Manager)。
在軟體方面,面對新的硬體平台與新的產品需求,嵌入式軟體技術也勢必要大大提 升,基本上 OMAP 架構微處理器內部的 DSP 微處理器核心與 ARM RISC 微處理器核心 分別由兩個不同的系統所控制,DSP 微處理器核心是採用 TI 所自己研發的微核心(Micro Kernel)多工即時的系統,稱為 DSP/BIOS。在 DSP/BIOS 的架構上面可以提供軟體工程 師方便開發符合即時運算效率的軟體元件工作。在 ARM 部分,一般常看到的嵌入式作 業系統,Linux 和 WinCE 等都有支援,並且可以用來控制整個系統的運作。由於兩個部 分分屬於不同的系統所管理,為了發揮由 ARM 操作和 DSP 運算的分工效能,兩個處理 器之間的資料流通就成為研發重點,TI 針對這點提出 DSP/BIOS Bridge 架構,能夠讓應 用程式開發人員在雙處理器架構下撰寫程式,就有如在單一處理器的感覺一樣方便,在 下一個章節,所討論到的 DSP Gateway 便是以其為基準,所提出的溝通方式。
2.1.2 RISC 加入 DSP 處理器理由
為了支援多媒體應用聲音訊號處理以及其他應用,例如本論文中的腦波訊號分析,
數位訊號技術顯得重要。但是做數位訊號處理,其中運算一般而言是相當大量的,已經 超出一般 RISC 微處理器所能負荷的,雖然嵌入式微處理器的指令處理時脈速度一直在 進步,但是這速度提升有限,最重要的根本方法還是需要對於運算處理有特別設計電 路,增加常用的訊號處理運算指令集,TI 系列的 DSP 微處理器,便是具有這方面的特 性。本論文中,在處理腦波訊號時,如同視訊與音訊的播放都是一種信號處理工作,同 樣是要用到大量的運算。TI 自己的優勢:DSP 微處理器,就是支援信號處理運算,而且 相較於 RISC 處理器,DSP 每個時脈週期內消耗比 RISC 更少電力。DSP 用更少的指令 完成一個重複大量數學運算的演算法,並在一個時脈週期內執行更多的指令。當一個應 用程式執行時,一顆 RISC 處理器,執行其他程式時受到影響,加上缺乏 DSP 指令集,
受限於 RISC CPU 本身信號處理能力的限制,效能往往不佳。有鑑於此,TI 在 ARM 的 架構上再加入 DSP 的微處理器,讓整個系統保有 RISC 微處理器,支援多種作業系統的 平台特性,同時具有強力運算能力的 DSP 微處理器。OMAP 架構能讓 DSP 與 RISC 處 理器並行工作,程式設計工程師可使用 DSP 功能做計算上處理,RISC 執行擅長的命令 與控制功能。
2.1.3 OMAP1510 硬體架構
TI 的 OMAP 1510 硬體結構圖,如圖 2-1所示,包含 175MHz 的 ARM925 和 200MHz 的 TMS320c55x,整合了多功能的周邊控制元件,例如 LCD 控制器、記憶體擴充介面、
紅外線介面、觸控式面版擴充介面及 USB 介面等,是一顆高度整合性的多功能嵌入式 系統微處理器。目前有許多世界性的大廠宣佈將以 OMAP 作為新一代無線通訊的新資 訊家電產品核心,如 Nokia、SONY 及 Ericsson 等。以下是 OMAP1510 的特性,分別就 OMAP 整體及 DSP 和 ARM 部分的探討[17]:
32K x 16-bit on-chip dual-access RAM (DARAM) (64 KB)
48K x 16-bit on-chip single-access RAM (SARAM) (96 KB)
16 KB I-cache, 8 KB D-cache
Video hardware accelerators for DCT, iDCT, pixel interpolation, and motion estimation for video compression
2. TI925T ARM9TDMI Core:
ARM 既支援 32 位元也支援 16 位元(Thumb 模式)指令集,ARM925 用於執行作業 系統(OS)。以下為 ARM925 的介紹:
可達 175MHz(最大處理頻率),且電壓在 1.5v(一般情況)
16KB I-cache; 8KB D-cache
192-KB of shared internal SRAM - frame buffer
Support for 32-bit and 16-bit (Thumb mode) instruction sets
Data and program MMUs
Two 64-entry translation look-aside buffers (TLBs) for MMUs
17-word write buffer
圖 2-1 OMAP1510 微處理器架構圖
資料來源:Texas Instruments http://www.ti.com/[17]
2.1.4 OMAP1510 DSP 內部記憶體
在前面 OMAP1510 的規格中,在 DSP 核心部分的內部記憶體,列出有 DARAM 和 SARAM.。事實上 OMAP1510 內部有三種不同的內部記憶體給 DSP 使用,分別是 DARAM(Dual Access Memory),SARAM(Single Access Memory)和 PDROM(Program and Data ROM)。一般可以使用的為 DARAM 和 SARAM,而 PDROM 在 DSP Gateway(ARM 與 DSP 溝通的橋梁,在第三章將會詳細說明)並沒有使用。表 2-1是這三個記憶體在使 用時,DSP 和 ARM 相對於 MPU 實體記憶體的對應位置,圖 2-2則用圖形的方式表示 出記憶體圖的對應關係。
表 2-1 OMAP1510 內部記憶體位置對應表 DSP
Byte Address
MPU Physical Address
Linux
Virtual Address Size
DARAM
資料來源:Linux DSP Gateway Specification Rev 2.0[1]
圖 2-2 OMAP1510 內部記憶體堆疊圖 資料來源:Linux DSP Gateway Specification Rev 2.0[1]