《嵌入式系統設計與開發實踐(第2版) 全面系統地介紹嵌入式硬件和固件的設計、開發、集成技術,并討論如何高效地管理開發過程。本書編排精當,采用布魯姆LO(學習目標)分類方法,保證讀者通過學習獲得預期效果。本書細膩闡明基礎乃至高級概念,每章開頭列出學習目標,然后穿插大量表格、圖和例題來解釋相應主題;章末附有課后習題、復習題和實驗練習題,以幫助讀者鞏固所學的知識。 《嵌入式系統設計與開發實踐(第2版)/嵌入式系統經典叢書》在上一版的基礎上做了全面細致的更新,融入了嵌入式系統設計領域的所有前沿開發技術
嵌入式系統設計是電子工程領域中一個非常專業的分支,該分支集合了電子學的技術優勢與機械工程的專業設計技術,將前沿科技和高端產品引入多個不同領域,如消費類電子產品、無線電通信、汽車、零售行業以及銀行業等。嵌入式系統是計算機硬件與軟件的整合體,其中,軟件編程用于開發專用的計算機系統,設計執行一項或多項特定功能。
嵌入式產業在全球范圍內提供了大量工作機會。嵌入式系統設計是一門藝術,需要有能力的人才迎接其設計挑戰,并時刻關注產品設計的時間范圍。嵌入式產業當今面臨的最大挑戰就是該領域缺乏擁有熟練技術的人員。雖然電子與計算機科技工程專業的大多數大學畢業生有天賦也有才能,但他們在嵌入式領域缺少正確的培訓,往往對嵌入式系統缺乏必需的理解。此外,缺少合適的學習教材與讀物也是造成上述危機的主要原因之一。盡管業界已經出版了許多介紹嵌入式技術的書籍,但這些書籍往往并未使用簡明易懂的系統化方法向讀者普及嵌入式系統的基礎知識;這些書籍更多是從深奧的專業領域入手,只適用于專業對口的實踐工程師。
本書是一本入門書籍,向學生全面介紹了嵌入式系統,并且可以作為實踐工程師與項目經理的技術指南,開創了此類書籍的先河。本書可以用作計算機科學與工程、信息技術、電氣工程、電子學與通信工程、儀表與控制工程等專業的本科教程,也可以作為計算機科學/信息技術/電子學專業的理學學士/理學碩士/工學碩士、計算機應用碩士以及備考印度計算機等級考試(DOEACC)B級的學生的重要參考資料。
本書介紹嵌入式系統的基礎知識、嵌入式硬件與固件的設計與開發步驟(包括硬件與固件的系統集成)以及嵌入式系統開發的生命周期管理知識。第1章~第4章介紹嵌入式系統的基本知識。第5章~第13章介紹有關嵌入式硬件與固件設計的進階知識,對于嵌入式系統的實踐工程師來說,這些知識是非常有幫助的。第15章說明了嵌入式系統設計的生命周期,該章的內容對實踐工程師和項目經理都是有益的。每章開頭列出學習目標,然后使用簡明的文字說明以及大量的表格、圖例、例題解答來闡明相應概念。每章的末尾列出重要知識點,其中包括本章小結、重要術語、課后習題(多項選擇題)以及復習題。為了方便學生在實驗室也能進行相關的實驗,本書還在相關章節提供了實驗練習題。本書附錄介紹了PIC與AVR系列微控制器,以及ARM處理器,列舉了貼近實際的最新嵌入式設計案例,將使你受益匪淺。
第Ⅰ部分 理解嵌入式系統的基本概念
第1章 嵌入式系統簡介 3
1.1 嵌入式系統的含義 3
1.2 對比嵌入式系統與通用
計算系統 4
1.3 嵌入式系統的發展歷程 5
1.4 嵌入式系統的分類 6
1.4.1 基于時代的分類 6
1.4.2 基于復雜度和性能的分類 7
1.5 嵌入式系統的主要應用領域 7
1.6 嵌入式系統的用途 8
1.6.1 數據的采集、存儲與顯示 8
1.6.2 數據通信 9
1.6.3 數據(信號)處理 10
1.6.4 監測 10
1.6.5 控制 10
1.6.6 專用用戶界面 11
1.7 可穿戴設備——嵌入式技術與
生活方式的創新結合 11
1.8 本章小結 12
1.9 重要術語 13
1.10 課后習題 14
1.11 復習題 14
第2章 典型的嵌入式系統 15
2.1 嵌入式系統的內核 17
2.1.1 通用處理器與專用處理器 17
2.1.2 專用集成電路 24
2.1.3 可編程邏輯器件 25
2.1.4 商用現貨 26
2.2 存儲器 27
2.2.1 程序存儲器 27
2.2.2 讀-寫存儲器/隨機存取
存儲器 29
2.2.3 基于接口類型的存儲器
分類 31
2.2.4 存儲器映射 31
2.2.5 嵌入式系統中的存儲器
選型 32
2.3 傳感器與激勵器 33
2.3.1 傳感器 34
2.3.2 激勵器 34
2.3.3 I/O子系統 34
2.4 通信接口 42
2.4.1 板上通信接口 43
2.4.2 外部通信接口 48
2.5 嵌入式固件 56
2.6 系統其他元件 57
2.6.1 復位電路 57
2.6.2 欠壓保護電路 58
2.6.3 振蕩器 58
2.6.4 實時時鐘 59
2.6.5 看門狗定時器 59
2.7 PCB與無源元件 60
2.8 本章小結 60
2.9 重要術語 62
2.10 課后習題 64
2.11 復習題 67
2.12 實驗練習題 68
第3章 嵌入式系統的特征與質量
屬性 69
3.1 嵌入式系統的特征 69
3.1.1 面向特定應用和特定領域 69
3.1.2 反饋與實時性 70
3.1.3 能在惡劣環境中工作 70
3.1.4 分布式 70
3.1.5 尺寸小、重量輕 71
3.1.6 低功耗、節能 71
3.2 嵌入式系統的質量屬性 71
3.2.1 工作模式下的質量屬性 71
3.2.2 非工作模式下的質量屬性 73
3.3 本章小結 75
3.4 重要術語 76
3.5 課后習題 76
3.6 復習題 78
第4章 嵌入式系統——面向特定應用與
特定領域 79
4.1 洗衣機——面向特定應用的嵌
入式系統 79
4.2 汽車——面向特定領域的嵌入式
系統 81
4.2.1 汽車嵌入式系統工作的內部
情況 81
4.2.2 汽車通信總線 82
4.2.3 汽車嵌入式市場上的主流
廠商 83
4.3 本章小結 85
4.4 重要術語 85
4.5 課后習題 86
4.6 復習題 86
第5章 使用8位微控制器8051設計
嵌入式系統 87
5.1 控制器選型時需要考慮的
因素 88
5.1.1 功能集合 88
5.1.2 運行速度 88
5.1.3 代碼存儲空間 88
5.1.4 數據存儲空間 88
5.1.5 開發環境支持 88
5.1.6 可用性 89
5.1.7 功耗 89
5.1.8 成本 89
5.2 選用8051微控制器的原因 89
5.3 基于8051的設計 89
5.3.1 8051的基本架構 89
5.3.2 存儲器結構 90
5.3.3 寄存器 96
5.3.4 振蕩器 98
5.3.5 端口 99
5.3.6 中斷 114
5.3.7 8051中斷系統 115
5.3.8 定時器 125
5.3.9 串口 132
5.3.10 復位電路 143
5.3.11 省電節能模式 144
5.4 8052微控制器 148
5.5 8051/52的衍生產品 148
5.5.1 Atmel公司的
AT89C51RD2/ED2 149
5.5.2 Maxim公司的
DS80C320/DS80C323 149
5.6 本章小結 149
5.7 重要術語 151
5.8 課后習題 151
5.9 復習題 155
5.10 實驗練習題 157
第6章 基于8051微控制器的編程 159
6.1 8051支持的各種尋址模式 160
6.1.1 直接尋址 160
6.1.2 間接尋址 160
6.1.3 寄存器尋址 161
6.1.4 立即尋址 162
6.1.5 索引尋址 162
6.2 8051指令集 166
6.2.1 數據傳輸指令 166
6.2.2 算術運算指令 171
6.2.3 邏輯指令 178
6.2.4 布爾運算指令 183
6.2.5 程序控制轉移指令 185
6.3 本章小結 187
6.4 重要術語 188
6.5 課后習題 189
6.6 復習題 195
6.7 實驗練習題 196
第7章 軟硬件協同設計與程序
建模 197
7.1 軟硬件協同設計的基本
概念 198
7.2 嵌入式設計的計算模型 199
7.2.1 數據流程圖模型 200
7.2.2 控制數據流程圖 200
7.2.3 狀態機模型 201
7.2.4 順序程序模型 204
7.2.5 并發處理模型/通信處理
模型 206
7.2.6 面向對象模型 207
7.3 統一建模語言簡介 208
7.3.1 UML構建塊 208
7.3.2 UML工具 212
7.4 軟硬件權衡 212
7.5 本章小結 213
7.6 重要術語 214
7.7 課后習題 215
7.8 復習題 216
7.9 實驗練習題 217
第Ⅱ部分 嵌入式產品的設計與開發
第8章 嵌入式硬件設計與開發 223
8.1 模擬電子元件 224
8.2 數字電子元件 225
8.2.1 集電極開路與三態輸出 225
8.2.2 邏輯門 226
8.2.3 緩沖器 227
8.2.4 鎖存器 227
8.2.5 譯碼器 228
8.2.6 編碼器 228
8.2.7 多路復用器 229
8.2.8 多路輸出選擇器 230
8.2.9 組合電路 230
8.2.10 時序電路 232
8.3 VLSI與集成電路設計 236
8.4 電子設計自動化工具 241
8.5 OrCAD EDA工具的用法 242
8.6 使用OrCAD的Capture CIS
工具實現電路圖設計 242
8.6.1 電路圖繪制窗口 245
8.6.2 電路圖繪圖工具 245
8.6.3 電路圖繪制明細 249
8.6.4 創建元件編號 251
8.6.5 設計規則檢查 252
8.6.6 創建材料清單 253
8.6.7 創建網表 254
8.7 PCB布局布線設計 257
8.7.1 布局布線構建塊 257
8.7.2 使用OrCAD布局布線工具
完成布局布線設計 262
8.7.3 PCB布局布線準則 277
8.8 印刷電路板制造 278
8.8.1 各種類型的PCB 278
8.8.2 PCB制造方法 279
8.8.3 PCB設計完成后,電路板外形
及其調試測試 280
8.9 本章小結 283
8.10 重要術語 284
8.11 課后習題 285
8.12 復習題 288
8.13 實驗練習題 289
第9章 嵌入式固件設計與開發 293
9.1 嵌入式固件設計方法 294
9.1.1 基于超循環的方法 294
9.1.2 基于嵌入式操作系統的
方法 296
9.2 嵌入式固件開發語言 296
9.2.1 基于匯編語言的開發 296
9.2.2 基于高級語言的開發 303
9.2.3 匯編語言與高級語言混合
編程 305
9.3 嵌入式C編程 308
9.3.1 對比C語言與嵌入式C
語言 308
9.3.2 對比編譯器與交叉
編譯器 308
9.3.3 在嵌入式C編程中使用C
語言 309
9.4 本章小結 358
9.5 重要術語 359
9.6 課后習題 360
9.7 復習題 365
9.8 實驗練習題 367