《嵌入式系统设计与开发实践(第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