教材:嵌入式系統及應用,羅蕾、李允、陳麗蓉等,電子工業出版社
嵌入式硬體系統的基本組成
嵌入式微處理器(核心)
體系結構
可采用馮•諾依曼(Von Neumann)結構或哈佛(Harvard)結構
馮•諾依曼結構
指令和資料存放在同一存儲空間中,統一編址
指令和資料通過同一條總線通路
哈佛結構
程式和資料存儲在不同的存儲空間中,獨立編制、獨立通路
設定兩條總線(程式總線和資料總線),進而使資料的吞吐率提高了一倍
指令系統
- 可采用精簡指令集系統RISC(Reduced Instruction Set Computer)或複雜指令集系統CISC(Complex Instruction Set Computer)
- 按用途分為嵌入式DSP和通用的嵌入式微處理器
- 為滿足應用領域的需要,嵌入式微處理器的指令集一般要針對特定領域的應用進行剪裁和擴充
嵌入式微處理器特點
基礎是通用的微處理器,具有體積小、品質輕、成本低、功耗低、內建度高、工作溫度寬、抗電磁幹擾、可靠性高等特性
-
內建度
嵌入式微處理器是面向應用的,其片内所包含的元件的數目和種類是由它的市場定位決定的
- 體系結構
-
算術格式(Arithmetic Format)
由于低成本和低功耗的限制,大多數的嵌入式微處理器使用定點運算;采用軟體模拟的方式實作浮點運算,會占用更多的處理器時間
-
功能單元(Functional Units)
通常包括不止一個的功能單元,典型的是包含一個ALU、移位器和MAC,處理器通常用一條指令完成乘法操作
-
流水線(Pipeline)
通常采用單周期執行指令,可能導緻比較長的流水線
-
-
指令集
為滿足應用領域的需要,嵌入式微處理器的指令集一般要針對特定領域的應用進行剪裁和擴充
- 性能
-
低端(低價、低性能)
應用在對性能要求不高但對價格和功耗有嚴格要求的應用系統中
-
中端(低功耗)
可達到較好的性能(如150MIPS 左右),采用增加時鐘頻率、加深流水深度、增加Cache及一些額外的功能塊來提高性能,并保持低功耗
-
高端
用于高強度計算的應用,使用單指令執行乘法操作、每個周期執行多條指令、多處理器來達到更高的并行度
-
-
功耗和管理
大多數嵌入式系統有功耗的限制(特别是電池供電的系統),它們不支援使用風扇和其他冷卻裝置
采用降低工作電壓、提供不同的時鐘頻率、關閉暫時不使用的功能塊來降低功耗
-
成本
處理器的價格的影響因素
- 處理器的特點:功能塊的數目、總線類型等
- 片上存儲器的大小
- 晶片的引腳數和封裝形式:如 PQFP(Plastic Quad Flat Package) 通常比 BGA(Ball Grid Array Package) 便宜
- 晶片大小(die size):取決于制造的工藝水準
- 代碼密度(code density):代碼存儲器的大小将影響價格,不同種類的處理器結構(CISC/RISC/ VLIW )有不同的代碼密度
主流的嵌入式微處理器
ARM系列
- ARM(Advanced RISC Machine) 公司是一家專門從事晶片IP設計與授權業務的英國公司
- ARM 核心是一種32位RISC微處理器,具有功耗低、成本效益高、代碼密度高等三大特色
- ARM 公司提供 CPU 核心的設計,然後授權給晶片廠商進行二次設計及生産
MIPS系列
- 無互鎖流水級的微處理器 (Microprocessor without interlocked piped stages)
- MIPS處理器是由斯坦福(Stanford)大學John Hennery教授上司的研究小組研制出來的
- 1984年MIPS計算機公司成立,和ARM公司一樣,MIPS公司本身并不從事晶片的生産活動(隻進行設計)
PowerPC系列
主要應用在通信、消費電子及工業控制、軍用裝備等領域
Super H系列等
由瑞薩科技公司(Renesas Technology Corp)開發的用于高性能價格比、小型化和高性能功耗比(MIPS/W)的嵌入式RISC處理器
嵌入式系統總線
總線是CPU與存儲器和裝置通信的機制,是計算機各部件之間傳送資料、位址和控制資訊的公共通道
-
按相對于CPU的位置劃分
片内總線:連接配接CPU内部各主要功能部件(其選擇取決于CPU Core)
片外總線:CPU與存儲器(RAM和ROM)和I/O接口之間進行資訊交換的通道(其選擇取決于應用)
-
按功能劃分
資料總線、位址總線、控制總線
- 主要參數
-
總線寬度
又稱總線位寬,指的是總線能同時傳送資料的位數。如16位總線就是具有16位資料傳送能力
-
總線頻率
總線工作速度的一個重要參數,工作頻率越高,速度越快
通常機關為 MHz
-
總線帶寬
又稱總線的資料傳送率,是指在一定時間内總線上可傳送的資料總量,用每秒最大傳送資料量來衡量
總線帶寬越寬,傳輸率越高。通常機關為 MB/s
-
- 一個微處理器系統可能含有多條總線,通過橋互連
AMBA 總線
AMBA(Advanced Microcontroller Bus Architecture)是 ARM 公司研發的一種總線規範,目前為3.0 版本
在AMBA總線規範中,定義了3種總線:
AHB(Advanced High-performance Bus)
進階高性能總線,用于高性能系統子產品的連接配接,支援突發模式資料傳輸和事務分割;可以有效地連接配接處理器、片上和片外存儲器,支援流水線操作
ASB(Advanced System Bus)
進階系統總線,也用于高性能系統子產品的連接配接,支援突發模式資料傳輸,後來由AHB總線替代
APB(Advanced Peripheral Bus)
進階外設總線,用于較低性能外設的簡單連接配接,一般是接在AHB或ASB系統總線上的第二級總線
嵌入式存儲系統
嵌入式系統的存儲結構
高速緩存 Cache
- 高速緩沖存儲器中存放的是目前使用得最多的程式代碼和資料,即主存中部分内容的副本
- 在嵌入式系統中 Cache 全部都內建在嵌入式微處理器内
- 可分為資料 Cache、指令 Cache 或混合 Cache
- 不同的處理器其 Cache 的大小不一樣
- 一般32位的嵌入式微處理器都内置 Cache
- 寫入方法
-
通寫(Write Through)
寫Cache時,Cache與對應記憶體内容同步更新
-
回寫(Write Back)
寫Cache時,隻有寫入Cache内容移出時才更新對應記憶體内容
-
主存
- 大多數嵌入式系統的代碼和資料都存儲在處理器可直接通路的存儲空間即主存中
- 嵌入式系統的主存可位于 SoC 内和 SoC 外,片記憶體儲器存儲容量小、速度快,片外存儲器容量大
-
主存儲器的特點是速度快,可以做主存的存儲器有:
ROM類:Nor Flash、EPROM、E2PROM、PROM等
RAM類:SRAM、DRAM、SDRAM等
外存
- 外存是處理器不能直接通路的存儲器,用來存放各種資訊
- 相對主存而言具有價格低、容量大的特點
- 嵌入式系統中除部分采用硬碟外,大多數采用電子盤做外存
-
在嵌入式系統中常用的外存有:
NandFlash、DOC(Disk On Chip)、CF(Compact Flash)、SD(Secure Digital)、MMC(Multi MediaCard)等
- NandFlash 和 Nor Flash
- NandFlash 是Flash Memory(快閃存儲器或快速擦寫存儲器)的一種
- NandFlash 可獨立成為外存,也可組成其他各種類型的電子盤如USB盤、CF、SD和MMC存儲卡等
- NandFlash 的基本操作包括讀、寫、塊擦除、讀相關寄存器、器件複位等
- NandFlash 具有容量大、讀寫速度快、晶片面積小等特點,主要用于外存
- Nor Flash 具有随機存儲速度快、電壓低、功耗低、穩定性高等特點,主要用于主存
輸入/輸出接口和裝置組成
- 嵌入式系統的大多數輸入/輸出接口和部分裝置已經與嵌入式微處理器內建在一起
- 輸入/輸出接口主要包括–中斷控制器、DMA、串行和并行接口
- 裝置主要有定時器(Timers)、計數器(counters)、看門狗(watchdog timers)、RTC(實時時鐘)、UARTs、PWM(Pulse width modulator)、AD/DA、顯示器、鍵盤和網絡等
- ARM CPU的I/O端口是存儲器映射的編制方式,對I/O端口的通路與對記憶體的通路方式一樣