篇名 : 作者 : 吳佳倫 私立立志中學 訊三 3 班
壹 前言 無論是過去或未來, 過去中電腦是一個不普及的設備, 而至今已經不能沒有它們的存在, 科技的進步則是最大的主因, 目前我們所使用的電器產品中, 例如 :ipod 手機 入耳式耳機... 等 就有使用到嵌入式系統的設計, 在不久的將來更會運用到生活中, 現在的嵌入式科技已是一種趨勢, 更有許多公司借用這些人才與設備來大大提升我們的生活便利性, 未來的發展更是不可小覷, 而生為現代人更應知道這些現代科技的轉變, 明白我們生活週遭的大轉變 貳 正文 一 何謂嵌入式 什麼是 嵌入式系統 呢?依據英國電機工程師協會的定義, 嵌入式系統為控制 監視或輔助設備 機器或甚至工廠運作的裝置 它是一種電腦軟體與硬體的綜合體, 並且特別強調 量身定做 的原則, 也就是基於某一種特殊用途, 我們就會針對這項用途開發出截然不同的一項系統出來, 也就是所謂的客制化 (Customize) 在新興的嵌入式系統產品中, 常見的有手機 PDA GPS Set-Top-Box 或是嵌入式伺服器 (embedded server) 及精簡型終端設備 (thin client) 等 除了台灣之外, 事實上全世界的廠商都非常看好這一塊市場, 並且前仆後繼的投下大量的研發, 期望藉此渡過景氣隆冬, 下圖是由知名的產業分析機構 IDC 所作的嵌入式系統相關產品的趨勢預估 ( 註一 ) 圖一 全球嵌入式系統相關產品產量預估
資料來源 :IDC,In-Stat,Forward Concept,The Strategis Gro.,U&S,CCL/ITIS,1999 (MIC 整理 ) 嵌入式系統最初是為了工業電腦而設計, 在資訊產品普及與數位家電興起後, 嵌入式系統已逐漸普及到我們日常生活中, 從資訊家電 網路產品, 到可攜式裝置, 都看得到它的蹤跡 嵌入式系統的特色之一是不需要很多外接的零配件, 能在小面積元件上完成特定功能, 具有穩定 小尺寸等特點 過去嵌入式系統較難普及的原因, 是積體電路集成度和製程水平尚無法突破 但是現在人們已經可以生產出大量低成本的微型矽元件, 並以此為基礎發展出了許多可編程邏輯和微處理 / 控制器, 這些元件可以用軟體技術來實現或更改硬體功能, 搭配特定的作業系統或用戶介面, 可以實現許多新型態應用, 如 PDA STB 上網機等 我們將基於這些元件的設計稱為嵌入式系統設計 這些設計得益於半導體製程的進展 硬體平台性能的提升 複雜演算法的實現, 以及更多先進的電子自動化設計工具 可以說, 嵌入式系統讓 EDA 工具獲得了更大的發展, 各種針對嵌入式應用的工具如編譯 佈局佈線 合成 模擬 測試 驗證 編程等工具不斷在自動化與智慧化方面獲得提升 另外, 嵌入式系統也同時帶動了一批運用 HDL( 硬體描述語言 ) 進行各種積體電路功能模塊設計的公司, 進而延伸出了專用 IP 內核這個產業 這些 IP 內核採用 HDL 來描述其功能和架構, 在經過驗證後, 便成為不同功能的 IP 內核 目前 IP 產業正迅速成長, 而為了加速設計, 這些 IP 廠商也提出了 可再使用 IP 的設計觀念, 為設計人員提供更多選擇 在軟體發展部份, 為了配合嵌入式系統, 業界已發展出多種嵌入式作業系統 (Embedded Operation System) 這些即時作業系統的功能強大, 儘管其內核比起 PC 作業系統來說非常小, 但它能作為設計人員的開發平台, 代表性的作品有微軟的 Win CE NT Embedded;Linux Palm OS 等 ( 註二 ) 二 嵌入式系統的概略性之發展流程 : 系統分析 定義系統規格 設計系統硬體 開發系統程式 整合
測試在實務上實際經歷的發展流程, 大概分述如下 : 壹 訂立需求 嵌入式系統的應用乃是根據使用者的需求, 其發展出來的成果, 最後將成為市場上販售的商品, 因此, 訂立的目標就必須符合市場或是潮流等需求, 例如 : 需要解讀特定的檔案格式? 要不要 USB 擴充功能 等等需求 貳 選擇嵌入之作業系統 與一般個人電腦所使用的作業系統比較, 嵌入式系統所使用的作業系統可概略地分為 RTOS(Real Time Operating System) 即時作業系統及通用型嵌入式系統兩大類 常見的有 Embedded Linux WindRiver VxWorks QNX Accelerated Technology 的 Nucleus Plus Symbian Windows CE... 等等 參 選擇發展平台與建立開發環境 開發主機與嵌入式目標平台之間需要透過串列埠 網路埠 或內部電路仿真器 (In-Circuit Emulator, ICE) 來進行通訊 需要安裝的嵌入式系統軟體發展工具套件, 包括 : (1) 整合開發環境 (Integrated Development Environment, IDE) 工具 (2) 編譯鏈結偵錯工具鍊 (Tool chain) (3) 作業系統 (Operating System) 相關套件 (4) 硬體發展板 (Development board) 或硬體模擬器 (Simulator)ARM MIPS NIOS II DSP 等都是可用的單晶片發展平台 肆 選擇儲存媒介 科技不斷的進步, 可供選擇的儲存媒介非常多元且多樣, 例如 : DISK ON CHIP(DOC) FLASH ROM 或是其他儲存媒介上 而依我所見未來的將會開始以人工智慧來研發而人共智慧的主要語言如下 : (1)LISP (2)PROLOG... 等研發 ( 註三 )
伍 精簡作業系統 通常嵌入式系統設備其儲存容量極小因此需將作業系統之功能縮減至最佳狀態, 為配合硬體需求作業系統必須包含硬體所需之功能, 刪減其餘不必要功能藉以此縮減核心程式大小以便嵌入於 DISK ONCHIP( 或其他儲存設備 ) 中, 同時在縮減作業系統功能中必須兼顧保留多工作業與網路協定之功能, 當嵌入式作業系統最佳化後, 還會多做一個 ROMization 的動作, 以製作出可執行的影像檔並燒錄到目標平台的 ROM 或是 Flash 裡面, 然後在目標平台上執行我們的程式 陸 提供硬體執行驅動程式及除錯之環境 偵錯除錯也是嵌入式系統中很重要的一環, 若以 ARM9 CPU 發展自動網路 MP3 下載器所需硬體環境為例, 若以目標要包括下載歌曲 即時顯示歌曲資訊 撥放歌曲 等功能, 則須提供硬體周邊連結之介面 EX: PARALLEL PORT NETWORK 等等, 先以 parallel port 製作硬體以便除錯, 如硬體周邊所有功能皆可正常運作後即換用 network 方式連結, 確保硬體周邊功能正常, 至此才是完整的發展程序 柒 撰寫模組 / 整合測試 此階段已經邁入實際使用的步驟, 將經過除錯 確認可用的程式, 也就是結合軟硬體組合撰寫之驅動程式, 將之轉換成模組 (model), 於產品生產的過程裡便可以達到複製並量化的目的, 或應需求放入核心程式中達到一開機立即驅動所有硬體功能 ( 註四 ) 參 結論 其實在找這些相關資料時, 都沒有想到我的生活中有許多大大小小的事物時由嵌入式系統來控制, 大至家電, 小至耳機產品, 令我沒想到一件小小的耳機竟然暗藏玄機, 實在讓我意外的許久, 更意外的事現在的科技發達已到我不知道的境界去了, 可見科技的世界之大, 如今我的生活已經少不了科技產品的存在了, 所以想藉此瞭解生活中我所不知道科技研究, 想必未來的科技會更加的進步
肆 引註資料 註一 尊龍科技專欄 http://playstation2.idv.tw/iacolumns/jl000009.html ( 檢索日期 2008/10/15) 註二 奇摩知識 http://tw.knowledge.yahoo.com/question/question?qid=1106080 804208 ( 檢索日期 2008/10/10) 註三 台科大檢定研究所 電腦硬體裝修學科研究大全 ( 台北縣 : 勁園台科大圖書, 民 97) 頁 2-5 註四 奇摩知識 http://tw.knowledge.yahoo.com/question/question?qid=1607042 911531&q=1106080804208&p=%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%B3% BB%E7%B5%B1 ( 檢索日期 2008/10/10)