Top Banner
嵌嵌嵌嵌嵌嵌嵌
54

嵌入式系統概念

Jan 04, 2016

Download

Documents

athena-gibson

嵌入式系統概念. 課程大綱. 1. 嵌入式系統的基本架構 2.CPU 、匯流排與輸出入 3. 記憶體 4. 嵌入式系統常見介面及周邊 5. 數位電路 6. 硬體設計考量 7. 最新趨勢 /1.EELiod 平台 2.INTEL PXA270 微處理器. 嵌入式系統架構基礎概念. 常見嵌入式系統所使用的 CPU 可分 : - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 嵌入式系統概念

嵌入式系統概念

Page 2: 嵌入式系統概念

課程大綱

1. 嵌入式系統的基本架構2.CPU 、匯流排與輸出入3. 記憶體4. 嵌入式系統常見介面及周邊5. 數位電路6. 硬體設計考量7. 最新趨勢 /1.EELiod 平台 2.INTEL PXA270

微處理器

Page 3: 嵌入式系統概念

嵌入式系統架構基礎概念

常見嵌入式系統所使用的 CPU 可分 : 1. 精簡指令集 (RISC,Reduced Instruction Set

Computing 的縮寫 ), 如 ARM( 英商 ),MIPS( 美商 ),ARC(ARC 原為英商 ,2009/11 被記憶體 IP 廠商 ,美商 Virage Logic 收購 , 之後 Virage Logic 於2010/6 又被美商 Synopsys 收購 ),Andes( 台商 ), 這四家是以 IP( 矽智財授權 ) 方式販售 .

RISC 這種設計思路對指令數目和定址方式都做了精簡 ,使其實現更容易 , 指令並行執行程度更好 , 編譯器的效率更高 . 一般都使用於智慧型手機 , 機上盒 ,PDA, 數位電視 ,MP3, 光碟播放機等手持式系統 .

Page 4: 嵌入式系統概念

2. 複雜指令集 (CISC,Complex Instruction Set Computer 或是 一般稱為 X86 架構 ) ,32~64bit, 如 Intel( 美商 ),AMD( 美商 ),VIA( 台商 ), 這三家是以 IC 方式販售 .

每個指令可執行若干低階操作 , 諸如從記憶體讀取 , 儲存 , 和計算操作 , 全部集於單一指令之中 .一般都使用於桌上型電腦 , 筆記型電腦 , 伺服器 , 工業電腦 , 博弈機台 .

Page 5: 嵌入式系統概念

3. Intel 8051,8bit, 如Atmel,NXP,Winbond,SyncMOS( 族煩不及備載 )…

8051 因為年代久遠 ,Intel 在此的專利權已經過期 , 很多廠商都有在生產 , 且也有其原始碼 , 所以可以在市面上看到很多修改過的特殊 8051,像是增加 IIC,SPI 介面 , 加快 CPU 頻率等 .

Page 6: 嵌入式系統概念

4. Microchip PIC,8~16bit, 但是 Microchip 之後推出的 32bit CPU 是使用 MIPS core.

Page 7: 嵌入式系統概念

單晶片簡介

單晶片微處理器→整個微處理機系統搭配簡單周邊模組與輸出入介面以單晶片型態完成。

單晶片微處理器中包含系統運作所需之周邊模組與模組驅動程式、系統程式與應用程式。

國內外有許多晶片公司,分別針對不同應用,設計有許多種單晶片微處理機系列,如:8051 、 PIC 、 ARM 、…等等 。

接下來以 Microchip 的單晶片為主要介紹對象。

Page 8: 嵌入式系統概念

嵌入式系統

學習嵌入式系統一開始最重要的就是選擇 CPU,需依照自己所要開發產品的特性做選擇 ,RISC架構比 CISC 來的省電 , 所以手持式的系統都會使用 RISC 架構的 CPU.

各家所設計的 CPU 架構不同 ,ISA(Instruction Set Architecture) 指令集當然也就不同 , 說簡單點就是撰寫組合語言的指令不一樣 , 不過如果程式都是使用 C語言撰寫 ,只要使用你所選擇CPU 廠商所提供的編譯器 (tools) 重新編譯過 ,就可以在該廠商的 CPU 上執行程式 .

Page 9: 嵌入式系統概念

嵌入式系統程式可分為 OS( 作業系統 ) 與 Non OS( 不使用作業系統 ):

1. OS: 再 OS 上執行程式 , 目前常見到Embedded OS 有 Windows CE, MicroC/OS II,Embedded Linux.

手機所使用的 OS 也算是 Embedded OS, 如Symbian,Windows Mobile,Palm OS,Linux(Android).

2. Non OS: 就是不再 OS 執行程式 ,直接撰寫程式對 CPU 內暫存器做讀寫動作 .

Page 10: 嵌入式系統概念

單晶片微處理器之應用與功能需求

目前各類之電子與家電產品,皆可看到單晶片微處理機之蹤跡。如:電子表、微電腦控制洗衣機、防盜器、溫度控制器、電子耳溫槍、… . 等等。

舉凡對現實環境之量測、監控與互動裝置皆可看到單晶片系統之蹤影。

Page 11: 嵌入式系統概念

環境、單晶片與其他系統互動示意圖

環境參數量測與轉換

數位訊號轉換為環境參數、訊號、驅動訊號、…等

類比連續物理量 量化離散

數位訊號

其他系統資訊串列

現實環境

資訊處理,如:計 算、儲存、分析…等。時間管理,如:計時、定時、量測…等。資料通訊

Page 12: 嵌入式系統概念

單晶片微處理機之功能模組

單晶片微處理機常見之功能模組有:CPU 核心、監督單元RAM 與 EEPROM/Flash ROM計時 /計數器基本 I/O埠、傳輸介面

(RS232 、 RS485 、 USB 、 SPI 、 I2C ….)

ADC/DAC 、 PWM 、 audio 、 RF…. 等等

Page 13: 嵌入式系統概念

單晶片的優缺點

優點 : 減低產品開發成本 , 提昇功能 增加設計彈性 , 使產品有改版及升級的空間 維修成本低廉 產品的一致性高 小型化容易 易於用來實現複雜的數學及邏輯算式

缺點 : 反應速度通常不及直接組合而成的專用硬體電路 雜訊免疫能力的問題 價格較 ASIC 的元件高

Page 14: 嵌入式系統概念

單晶片微處理機之架構 -1

Page 15: 嵌入式系統概念

單晶片微處理機之架構 -2

Page 16: 嵌入式系統概念

中央處理單元( CPU )核心

CPU核心由暫存器、算數與邏輯運算單元與控制單元、指令解碼器與指令集所組成。根據指令集之設計技術,可分為複雜指令集 (CISC) 與精簡指令集(RISC) 核心。

複雜指令集 :指令數目多 (數百個 ) 、多位元組指令、指令週期長、指令功能強、運算元定址模模式多。

精簡指令集:指令數目少 (數十,一般約 50 個指令左右 ) 、以單字元組指令為主 (一個指令只需一字元,適合使用管線化 pipeline 加速技術 ) 、指令週期短,但指令功能較弱、運算元定址模模式少。

Page 17: 嵌入式系統概念

RAM 與 EEPROM/Flash ROM

隨機存取記憶體 (RAM) 供 CPU核心儲存各類資料。

可讀寫式唯讀記憶體 (EEPROM/Flash ROM)供存放程式或永久性資料,一般可透過線上寫入之動作做修改。

由於單晶系統之指令位元數有限,記憶體系統可能採用分頁技巧或暫存器定址模式,以便節省運算元之定址位元。

Page 18: 嵌入式系統概念

監督單元 (monitor unit)

對系統穩定性與多元應用之需求,單晶片微處理器皆設計監督單元,負責執行監督與管理系統, 系統重置 (Reset) 電源啟動 (Power up) 電源耗弱 (Brown out) 睡眠模式 (Sleep mode) 看門狗 (Watchdog) 中斷控制器 (Interrupt control)

Page 19: 嵌入式系統概念

系統重置 (Reset)

可分成熱機重置 (hot reset) 與冷機重置 (cold reset) 。

冷機重置 (cold reset) 指的是電源剛啟動之重置動作,此時單晶系統內之記憶體與暫存器皆處於未使用狀態,其內容為隨機之數值 (不可預測 )

熱機重置 (hot reset) 指的是正常使用中,因各種異常訊號或使用者設定,產生系統重置情況,此時單晶片系統內之記憶體與暫存器皆已設定資料。

Page 20: 嵌入式系統概念

啟動電源管理概念

電源

重置訊號

重置訊號

電源未穩定前之重置產生誤動作

誤動作,可應用啟動計時器避免

電源

應用 Power on reset避免誤動作

Power on

重置訊號 Power on reset 電路

Page 21: 嵌入式系統概念

各種常見電源不穩定現象

瞬間脈衝 接地雜訊 電源故障電源耗盡

Page 22: 嵌入式系統概念

電源 brown out 現象偵測

Page 23: 嵌入式系統概念

Sleep and Watchdog

睡眠模式:單晶系統設計睡眠模式或省電模式。如此,便可在非使用時期停止系統運作或降低運作之功率,達成節能與延長操作時間的目的。因此,設計有睡眠模式之控制,包含設定與喚醒之機制。

看門狗計時器 (Watchdog) :為預防長時間當機之事件發生,單晶片微處理機提供看門狗計時器 (Watchdog timer) ,定時檢視系統是否正常,或將系統由睡眠模式喚醒。

Page 24: 嵌入式系統概念

中斷控制器 (Interrupt control)

中斷控制器管理功能包括中斷向量、中斷致能與遮罩、中斷優先權、中斷旗標等。

中斷向量:發生中斷時, CPU 需執行之中斷服務程式所在之位址。單晶片微處理機一般使用固定向量模式。

中斷致能與遮罩:各周邊模組之中斷功能可透過中斷控制器加以致能 (使周邊產生中斷 ) 、遮罩 (使周邊無法產生中斷 ) 。

中斷優先權:當有不同周邊產生中斷訊號時,依中斷優先權執行對應之中斷服務程式。優先權高之中斷將優先執行,優先權高之中斷訊號,可中斷優先權低之服務程式。

中斷旗標:當有周邊產生中斷訊號時,同時會設定周邊模組之中斷旗標,供 CPU辨識中斷來源。

Page 25: 嵌入式系統概念

時脈產生器 (Timing generate)

數位系統運作需要有一基本之系統時脈。並以此為基礎訊號,乘除某些數值,以便得到各周邊模組所需之工作時脈。

單晶系統中常以簡單之振盪晶體或 RC振盪電路產生基本時脈訊號。

若要產生更高之系統時脈,可應用鎖相迴路(phase lock loop, PLL)時脈合成器

若要產生較低之時脈,可經由計數器除頻產生系統時脈 。

Page 26: 嵌入式系統概念

震盪電路與除頻電路之基本方塊圖

Page 27: 嵌入式系統概念

計時 / 計數器

計時 /數模組為單晶片系統之重要模組。 輸入訊號透過預除器 (Prescaler) ,使時脈速率降低

與獲得較穩定訊號。 計數後之輸出,通過後除器 (Postescaler) ,可將計

數結果分群輸出或降低模組計數輸出速率。

妥善應用計時器模組所輸出之計數數值,可設計各種周邊應用模組。

捕抓 (capture) 模組 比較 (compare) 模組 脈波寬調變 (pulse width modulation) 模組。

Page 28: 嵌入式系統概念

計時 ( 計數 ) 器模組架構

Page 29: 嵌入式系統概念

Capture Module

Page 30: 嵌入式系統概念

捕抓 (capture) 模組之基本架構圖

Page 31: 嵌入式系統概念

比較 (compare) 模組之基本架構圖

Page 32: 嵌入式系統概念

脈波寬度調變 (PWM) 模組之基本架構圖

Page 33: 嵌入式系統概念

PWM 訊號與基本應用概念

Page 34: 嵌入式系統概念

基本 I/O 埠

單晶系統之基本輸出入模組,可設定規劃各模組位元之輸出入方向 (輸入、輸出或雙向 ) 。

輸出埠之設計模式 有開集 ( 汲 )級輸出、三態輸出、圖騰柱輸出,以

及是否資料緩衝 (buffer) 。 推動能力從數 mA至數十mA ,一般推動能力之流

入電流 (汲入 sink) 與流出電流 (源出 source) 驅動力不同。

輸入埠之設計模式 有弱提升電阻 (pullup resistance ) 輸入模式、史密

特觸發模式、資料閂鎖 (latch) 模式等。 在省電模式底下,使用者需依照資料手冊與系

統設計將所有輸出入埠設定至省電狀態。

Page 35: 嵌入式系統概念

ADC 與 DAC

ADC:類比數位轉換過程,若希望轉換完成之數位資訊保持所有原類比訊號之特徵。需依取樣定理 (sampling theorem)取樣。

DAC:將數位資訊轉換為類比訊號之轉換過程 。取樣定理 : 取樣時間為類比訊號之最高頻率

Page 36: 嵌入式系統概念

類比轉數位之轉變過程

3 6 7 4….

取樣維持 ADC

連續類比訊號 離散類比訊號 離散數位資訊

Page 37: 嵌入式系統概念

類比轉數位 (ADC) 基本架構圖

Page 38: 嵌入式系統概念
Page 39: 嵌入式系統概念

數位轉類比訊號轉變過程

3 6 7 4 ….

低通濾波器ADC

一階維持重建

離散數位資訊 離散類比訊號 連續類比訊號

Page 40: 嵌入式系統概念

數位轉類比 (DAC) 基本架構圖

Page 41: 嵌入式系統概念

周邊模組之控制方法

一般可分為兩類: 1 、直接控制模式, 2 、互動控制模式。

直接控制模式:設定後周邊模組自行運作不需額外控制,如:基本之數位輸出 /輸入埠、或PMM 模組。

互動控制模式: CPU 與周邊模組需透過一來一往之交握 (handshake) 程序、或答詢過程,才能完成正確之控制。一般依互動處理方式,分諮詢控制式與中斷控制式。

Page 42: 嵌入式系統概念

周邊模組直接控制模式

處理模組資料

開始

繼續

設定模組控制資料

開始

繼續設定

設定流程 處理流程

Page 43: 嵌入式系統概念

周邊模組諮詢控制模式

設定模組控制資料

開始

繼續設定

是否資料備妥

處理模組互動資料

清除相關狀態旗標

開始

繼續諮詢

設定流程 處理流程

Page 44: 嵌入式系統概念

周邊模組中斷控制模式

模組中斷服務程式

模組產生中斷

中斷返回

設定模組控制資料設定模組中斷向量

啟動模組與系統中斷功能

開始

繼續

設定流程 處理流程

Page 45: 嵌入式系統概念

中斷服務程式之設計規則

使用中斷控制功能必須將中斷服務程式,設定至對應之中斷向量。

中斷服務程式必需執行下列步驟: 遮罩低階或全部中斷,避免中斷期間再中斷。 檢查中斷旗標,確定中斷源是那一周邊所產生。 暫存器保存與還原。 迅速處理中斷資料。 清除中斷旗,使下次中斷訊號可繼續產生。

中斷服務程式必需以最短之時間結束,避免影響系統正常運作。

中斷服務程式之資料區,避免因中斷過程影響資料之完整性。

Page 46: 嵌入式系統概念

中斷服務程式流程圖

檢查中斷旗標是否模組中斷

中斷訊號

中斷返回

遮罩低階或全部中斷保存 CPU 之暫存器

還原 CPU 之暫存器中斷致能

處理模組互動資料

清除相關中斷旗標

Page 47: 嵌入式系統概念

單晶片系統之設計與發展

系統設計開發過程包括有 規格設定分析、 系統架構設計、 軟應體功能劃分、 功能模擬與驗證、 功能與系統測試、 系統修改

Page 48: 嵌入式系統概念

單晶片之整合發展環境 ( IDE)

系統設計開發過程繁瑣,整合發展環境將所有功能整合在單一軟體界面,包括有:

專案管理、 文件編輯與編譯、 執行 ( 模擬、執行、下載執行 ) 、 除錯功能、 記憶體檢視、 反組譯功能、 及其他檢查與控制功能

Page 49: 嵌入式系統概念

單晶片微處理器學習流程

瞭解基本之單晶架構與周邊模組關係及各模組之用途。

進一步瞭解模組之應用與模組設計之技巧。 熟練基本之軟體程式技巧,透過對基本程式流

程與資料處理技巧,可以以各種語言撰寫程式(因為單晶片講究效率,一般使用非標準化之組合語言,每一種系列 CPU 有自己之語言,可經由 CPU 之 data sheet 快速學習指令集 ) 。

熟悉發展流程與發展之工具環境與應用技巧。

Page 50: 嵌入式系統概念

學習重點

專案管理 程式之撰寫與除錯 模組化之發展與除錯 模擬除錯技巧 軟硬體與系統整合除錯技巧

Page 51: 嵌入式系統概念

模組化之發展與除錯

基本技巧為使用模擬激勵與資料,並透過虛擬架構 (Dummy program)呼叫。

單步執行 (step) 、中斷點 (breakpoint) 等設定程式觀察點,分析程式執行流程與結果,並判斷與預期是否相符。

以中斷模式控制之模組,由於中斷程式會與除錯技巧中,單步執行 (step) 、中斷點(breakpoint)… 等除錯用中斷模式互相影響。

Page 52: 嵌入式系統概念

模擬仿真偵錯技巧

當硬體尚未正確完成時,一般可透過發展環境之模擬 (simulation) 或仿真 (emulation)功能進行軟硬體之除錯,可透過軟、硬體之中斷點 (breakpoint) 、流程追蹤 (trace) 、同步觸發等除錯技巧發現程式間潛藏之錯誤 (BUG) 。

模擬 (simulation) ,為整合發展環境 (IDE)提供,以軟體模擬該單晶片微處理器之核心與周邊模組功能。

仿真 (emulation) :線上仿真器 (in circuit emulation, ICE)提供單晶片微處理器之核心與周邊模組之硬體模擬,並可與外部之硬體電路連接,如此可輕易進行軟、硬體之交互偵測。

Page 53: 嵌入式系統概念

結論

單晶片系統是各種系統整合應用之核心,也是系統晶片設計之重點。由於應用與晶片種類之多樣化。因此,學習時應以各種周邊模組之設計、應用與控制概念為主,配合相關晶片之實作演練,並於相關之課程多方瞭解,如此必能收到事半功倍之效果。

由於坊間有許多單晶片微處理機之學習資料,可挑選容易實作演練之晶片系列學習。也可配合,晶片公司舉辦之設計比賽,透過比賽學習該公司所開發設計之晶片系列。

Page 54: 嵌入式系統概念