310 likes | 490 Views
Fundamentals of Embedded System. 陳家裕 chiayu@nmi.iii.org.tw. Professional Specialty. Smart phone Linux and WinCE platform Application and Lib Instant Message VOIP-Session Initiation Protocol (SIP) Embedded Linux 遠端心電圖系統. 嵌入式系統範疇.
E N D
Fundamentals of Embedded System 陳家裕 chiayu@nmi.iii.org.tw
Professional Specialty • Smart phone • Linux and WinCE platform • Application and Lib • Instant Message • VOIP-Session Initiation Protocol (SIP) • Embedded Linux • 遠端心電圖系統
嵌入式系統範疇 • 硬體的晶片設計、電路與周邊設計,到軟體、韌體、系統整合,以及各式各樣的應用程式與服務提供,都是整個嵌入式系統領域包含的範疇 • 嵌入式系統概論(3) • 微電腦硬體結構(中央處理單元、記憶體單元、輸入單元與輸出單元 ) • ARM處理器(3) • DSP(3) • 作業系統(3+3….) • 計算機組織與結構(3+3….) • 網路概論(3+3…)
課程內容 • 嵌入式系統概論(1-2章) • 微處理器/匯流排架構/軟硬體介面(4,6章) • I/O與周邊裝置(5章) • 嵌入式作業系統/RTOS(7章) • 系統開發(8章)
電腦系統的五大單元 控制部門 輸入部門 記憶部門 輸出部門 資料 資料 鍵盤 滑鼠 螢幕 印表機 算數與邏輯部門 資料流程 控制流程
Embedding a computer output analog Ring! Ring! Ring! input CPU analog mem 數字鍵盤 embedded computer
嵌入式系統定義 • 英國電機工程師協會定義:嵌入式系統為控制、監視或輔助某個設備、機器或甚至工廠運作的裝置 • 用來執行特定功能 • 以微電腦與周邊構成核心 • 嚴格的時序與穩定度要求在機器控制上,稍有不慎則可能失去控制,釀成災害。 • 全自動操作循環斷電時的緊急處理,使復電後仍能回復原有的狀態。
嵌入式系統產業 • 系統:嵌入式作業系統(RTOS) • VxWORKs、Nucleus 、Palm、Windows CE、Linux • 整合式晶片:SoC • ARM、MIPS、Rambus、Mentor、Synopsys、Insilicon、DSP Group、VirageLogic、Artisan以及Parthus • 應用軟體 • 使用者端的應用軟體及伺服器端的整合軟體 • 服務 • 日本NTT DoCoMo所發展的iMode服務 • 3G • WEB 2.0
About your work • 應用程式 • Lib • 整合,測試 • porting • 軟硬體整合 • Boot Loader • OS porting • driver • 電路與周邊 • 系統工程師 • 視需求整合,設計電路週邊 • 硬體的晶片設計 • 硬體工程師(IC Design SOC設計)
Software Engineer Skill • C/C++ • Java(J2ME,J2SE,J2EE) • Linux (OS,Program,Application) • WINCE (.NET) • Platform • Socket • Thread • Porting
設計嵌入式系統 • 設計者必須依據不同領域來決定要元件 • 微處理機 • 硬體平台 • 周邊I/O裝置 • 軟體 • 同時能夠縮小體積與提升處理效率 • 省製造成本 • 省電 • 速度滿足需求
嵌入式系統的設計重點 • Real-time performance • hard real-time: if deadline missed system has failed (car brakes!) • soft real-time: missing deadline degrades performance (skipping frames on DVD playback) • Real-world I/O performance • sensor and actuators require continuous I/O (can’t batch process) • Cost • hardware/Softwarestructures, particularly memory • static code size very important (cost of ROM/RAM) • often ship millions of copies (worth engineer time to optimize cost down) • Power • expensive package and cooling affects cost, system size, weight
嵌入式系統的設計考量 • 應該有哪些功能 ? • 與現有及未來產品比較? • 選用的演算法? • 使用者介面? • 系統的生命期限是多少 ? • 升級考量 ? • 穩定性? • 製造成本? • 省電考量?
MP3 Player Design • Goal • 音樂不能間斷,有一定程度的時序要求 • Functions • MP3壓縮/解壓縮技術 • MP3資料儲存及讀取 • 音樂撥放與錄音 • 使用者介面。
Solutions • 以現有的MP3壓縮/解壓縮晶片為主軸設計。 • 此時所設計的微電腦,大部分的時間在作資料儲存及搬運的動作,目的在〝服侍〞該MP3晶片及收集使用者命令。雖有即時性需求。但來得及就夠,微電腦本身無須複雜。 • 以韌體及應用程式實作(微處理器/單晶片)。 • MP3韌體實現的差異。 • 程式最佳化 • 浮點數計算 • 其它方式或演算法簡化計算流程。 • 是否使用即時多工核心。 • 各項工作間有一定程度的時序與優先權關係。 • 多工核心的目的,是將CPU資源的分配,與實際工作內容分開,並利用核心將韌體模組化,便於維護及管理。 • 是否朝SOC ( System On Chip ) 的方向發展
網際網路能力的嵌入式系統 • 稱為Internet-enabled embedded system或Internet appliances • 網際網路提供標準的通訊方式,讓每一個具有網路位址(IP address)的系統,可以彼此溝通 • 延遲問題的重要性 • Real time? or not • 儲存空間 • 必須取捨一些不需要的網際網路服務,以縮小佔用的空間 • 個人數位助理(PDA)、雷射印表機或是傳真機
Smart Phone-智慧型行動電話 • 兼具處理資料與聲音的手機。 • 行動電話 • 無線數據 • 與電腦通訊的功能(Active Sync) • 基本文書處理 • PDA • …More • 有此一說 • PDA Phone 與Smart Phone 最大的差別是螢幕能不能觸控!
Linux for Embedded System • 開放原始碼、模組化設計 • 易於客製化可以調校出最適合我們硬體平台的核心。 • 核心程式精簡 • 穩定性夠 • 嵌入式Linux 具備且不必支付高額權利金 • 網路功能強大 Linux 的架構是修改 UNIX 系統,因此 也承襲了 UNIX 強大的網路功能。 • 通常我們都會先在 PC 端模擬嵌入式的環境,並直接在上頭開發,因此用的工具也都與開發一般 Desktop 軟體類似,良好的工具能夠增加開發的速度。
Google Map及時路況 • 只要擁有一隻支援J2ME規格的手機,便可以下載Google Map相關的軟體,讓你在手機上便能立即看到附近的即時路況。
Windows CE 6 • 微軟(2006/6/20)推出新版嵌入式作業系統Windows CE 6 beta,相較於上一版本 • 大幅增加系統執行程序數從原來的32個提高至32000個程序數。 • 並整合開發工具至Visual Studio 2005 • 1996年發佈的Windows CE 1.0至目前CE已推出十週年 • 支援多種CPU,擁有良好的通信能力 • 多工作業系統,即時作業系統
Boot Loader • 所謂開機引導程式(Boot Loader)就是當嵌入式系統硬體開機或是重設(Reset)之後所要執行的第一段軟體的程式碼。 • 相對應於我們日常生活最常接觸的個人電腦,嵌入式系統Boot Loader的部份就是由BIOS和硬碟的主要開機磁區中的OS Loader(例如:LILO或是GRUB)所組成
SoC-System on Chip • 晶片系統(System-on-chip;SoC),或稱系統單晶片。 • SoC即是將一個終端產品(或稱系統)的主要功能整合進單一晶片,因此可被視為足以包含一個完整功能的系統。 • 嵌入式運算引擎:可能是微處理器(MPU)、數位訊號處理器(DSP)、圖形處理器,為SoC資料處理及運算之核心。 • 嵌入式記憶體(Embedded Memory):可能是隨機存取記憶體(RAM)、唯讀記憶體(ROM)或是快閃記憶體(Flash)等。 • 控制邏輯電路(Control Logic Circuit)。 • 匯流排介面(Bus Interface):提供與外部記憶體及實體世界之聯繫溝通管道,如PCI匯流排、AGP繪圖匯流排、USB、IEEE1394等。 • 嵌入式軟體(Embedded Software):作為系統控制與功能設定之用,如RTOS、Middleware、Firmware等。
SoC嵌入式系統微處理器的好處 • 主要的優點在於縮小晶片的體積以及降低成本 • 利用改變內部工作電壓,降低晶片消耗功率。 • 利用減少晶片對外接腳數,簡化製造過程。 • 利用減少週邊驅動介面單元,及電路板之間的訊號傳遞,可加快微處理器資料處理的速度。 • 利用內嵌的線路以避免外部電路板在訊號傳遞時所造成系統雜訊。
SoC之架構 • 另一種比較嚴格的SoC定義 • 採用先進的製程技術(0.25um以下)。 • 必須能夠支援不同的工作電壓,使內部各類元件電路都能夠運作。 • 嵌入式記憶體容量1MB以上。 • 必須使用Reusable IP。 • 具備可規格化(Configurability)或是可程式化(Programmability)之功能。 • 具備實體世界介面(Real World Interface)。
Silicon Intellectual Property(SIP,IP) • Design Reuse是縮短SoC開發時程的有效方式,而具體的做法就是使用矽智財(Silicon Intellectual Property; SIP,簡稱IP • 矽智財是一種事先定義、驗證、可以重複使用的功能組塊。 • 若將IC想像為最終希望的圖像,那矽智財就是組合過程中各種造型的積木。 • IC設計業者可以運用功能元件資料庫中的IP,做適當組合而成為一顆IC,以加快IC設計的速度,搶產品上市的時機。 • ARM is a kind of IP • http://nsoc.eic.nctu.edu.tw/chinese.asp
WEB 2.0 • 強調使用者參予行為 • Google • mp3.com Napster • content management systems wikis • Ofoto Flickr • 諾基亞與全球最大線上相片分享社群公司 Flickr 宣布合作,N系列行動裝置使用者不需下載或安裝任何應用軟體,即可將相片和說明文字上傳到 Flickr 線上帳戶,並可使用編輯、排列、標示和分享等功能。 • Nokia N93、Nokia N73 和 Nokia N72。