《嵌入式系统原理及应用 第3版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:马维华
  • 出 版 社:北京:北京邮电大学出版社
  • 出版年份:2017
  • ISBN:9787563545667
  • 页数:360 页
图书介绍:本书从嵌入式系统的概念、发展过程、处理器分类及组成等基础知识讲起,逐步深入到嵌入式处理器,然后从指令系统到嵌入式系统程序设计,从嵌入式最小系统到数字通道、模拟通道以及相互通信通道原理及应用,再从嵌入式操作系统及其移植,到嵌入式系统应用设计实例,系统地介绍了嵌入式系统原理及其应用,有利于高校嵌入式系统相关课程的教学。全书结构合理、系统、全面、实用,每章后面都有一定量的习题。可作为高等院校计算机专业、电类专业、自动化以及机电一体化专业本科生和专科生《嵌入式系统》、《嵌入式系统体系结构》、《嵌入式系统原理及应用》及《嵌入式系统设计与开发》等课程的教材和参考书,也是一切希望了解和掌握嵌入式系统技术人员有用的工具书。

第1章 嵌入式系统概论 1

1.1嵌入式系统概述 1

1.1.1嵌入式系统的概念 1

1.1.2嵌入式系统的特点 2

1.1.3嵌入式系统的发展 3

1.1.4嵌入式系统的应用 4

1.1.5嵌入式系统的学习方法 5

1.2嵌入式处理器 6

1.2.1嵌入式处理器的分类 6

1.2.2 ARM嵌入式处理器简介 6

1.3嵌入式系统的组成 7

1.3.1嵌入式系统的硬件 7

1.3.2嵌入式系统的软件 9

1.4嵌入式操作系统 10

1.4.1嵌入式操作系统及其特点 10

1.4.2典型嵌入式操作系统 10

1.5嵌入式系统的设计方法 11

1.5.1嵌入式系统设计概述 11

1.5.2嵌入式系统的设计步骤 12

1.5.3嵌入式系统的传统设计方法 13

1.5.4嵌入式系统的硬、软件协同设计技术 15

1.6嵌入式系统的软件设计 16

1.6.1嵌入式系统的软件设计过程 16

1.6.2嵌入式操作系统的选择 17

1.6.3嵌入式软件开发工具链的构建 18

1.7嵌入式系统开发与调试工具 21

1.7.1嵌入式系统硬件开发与调试工具 21

1.7.2嵌入式系统软件开发工具 22

习题一 26

第2章 嵌入式处理器 27

2.1嵌入式处理器内核 27

2.2 ARM体系结构 28

2.3 ARM处理器的工作状态与工作模式 29

2.3.1 ARM处理器的工作状态 30

2.3.2 ARM处理器的工作模式 31

2.4 ARM处理器寄存器组织 32

2.4.1 ARM状态下的寄存器组织 32

2.4.2 Thumb/Thumb-2状态下的寄存器组织 34

2.5 ARM处理器的异常中断 35

2.5.1经典ARM处理器的异常中断 35

2.5.2 ARM Cortex-M微控制器的异常中断 37

2.5.3 ARM Cortex-M系列微控制器的堆栈 41

2.5.4 ARM Cortex-M异常的中断响应与返回过程 41

2.6 ARM的存储器格式及数据类型 42

2.6.1 ARM的两种存储字的格式 42

2.6.2 ARM存储器数据类型 43

2.7 ARM流水线技术 44

2.7.1指令流水线处理 44

2.7.2不同ARM处理器的指令流水线 45

2.8基于AMBA总线的ARM处理器芯片 45

2.8.1 AMBA总线的发展及版本 46

2.8.2基于AMBA总线的ARM处理器芯片 47

2.9典型嵌入式处理器 48

2.9.1典型ARM处理器系列 48

2.9.2 ST公司的STM32F10x系列微控制器 50

习题二 52

第3章 嵌入式系统程序设计 53

3.1 ARM指令分类及指令格式 53

3.1.1 ARM指令分类 53

3.1.2 ARM指令格式 54

3.1.3 ARM指令中的操作数符号 56

3.1.4 ARM指令中的移位操作符 56

3.2 ARM指令的寻址方式 57

3.2.1立即寻址 57

3.2.2寄存器寻址 57

3.2.3寄存器间接寻址 57

3.2.4基址加变址寻址 58

3.2.5相对寻址 58

3.2.6堆栈寻址 58

3.2.7块拷贝寻址 59

3.3 ARM指令集 59

3.3.1数据处理指令 59

3.3.2程序状态寄存器访问指令 61

3.3.3分支指令 62

3.3.4加载/存储指令 63

3.3.5协处理器指令 66

3.3.6异常中断指令 67

3.4 Thumb指令集 68

3.4.1数据处理指令 68

3.4.2分支指令 69

3.4.3加载/存储指令 70

3.4.4异常中断指令 72

3.5 Thumb-2指令集 73

3.5.1数据处理指令 73

3.5.2分支指令与程序状态指令 75

3.5.3加载与存储指令 75

3.5.4中断相关指令 77

3.6 ARM处理器支持的伪指令 77

3.7 ARM汇编语言程序设计 78

3.7.1 ARM汇编语言的语句格式 78

3.7.2在汇编语言程序中常用的符号 78

3.7.3汇编语言程序中的表达式和运算符 79

3.7.4 ARM汇编器所支持的伪指令 81

3.7.5 ARM汇编语言的程序结构 83

3.8 CMSIS及其规范 84

3.8.1 CMSIS软件结构及层次 84

3.8.2 CMSIS代码规范 86

3.8.3 CMSIS文件结构 87

3.9 Boot Loader及启动文件 91

3.9.1 ARM处理器的启动过程 91

3.9.2 Boot Loader 93

3.9.3启动文件 94

3.10嵌入式C语言程序设计 100

3.10.1嵌入式C语言程序设计基础 100

3.10.2嵌入式系统程序设计过程 107

3.10.3嵌入式系统的程序结构 107

3.10.4汇编语言与C语言的混合编程 111

3.10.5固件库及其使用 113

习题三 117

第4章 嵌入式最小系统 120

4.1嵌入式最小系统的组成 120

4.2嵌入式处理器选型 120

4.2.1功能参数选择原则 121

4.2.2非功能性参数选择原则 122

4.3供电模块设计 124

4.3.1降压型电源设计 125

4.3.2升压型电源设计 125

4.3.3隔离型电源设计 126

4.3.4 STM32F10x电源设计 126

4.4时钟与复位电路设计 127

4.4.1时钟电路及时钟源选择 127

4.4.2复位模块 129

4.5调试接口设计 132

4.5.1 JTAG调试接口设计 132

4.5.2 SWD调试接口设计 133

4.5.3采用通用JTAG仿真器做SWD接口 134

4.6存储器接口设计 135

4.6.1存储器地址映射 135

4.6.2片内存储器 136

4.6.3片外存储器 136

4.6.4辅助存储器 137

4.6.5外部存储器扩展 139

习题四 142

第5章 数字输入输出系统设计 143

5.1通用输入输出端口 143

5.1.1 GPIO概述 143

5.1.2 GPIO基本工作模式 143

5.1.3 GPIO端口保护措施 147

5.1.4 GPIO端口的中断 148

5.1.5典型ARM芯片GPIO的操作 148

5.2数字信号的逻辑电平及其转换 151

5.2.1数字信号的逻辑电平 151

5.2.2数字信号的逻辑电平转换 153

5.3数字输入接口的扩展 158

5.3.1使用缓冲器扩展并行输入接口 158

5.3.2使用串行移位寄存器来扩展并行输入接口 158

5.4数字输出接口的扩展 159

5.4.1使用锁存器扩展并行输出接口 159

5.4.2使用串行移位寄存器来扩展并行输出接口 160

5.5数字输入输出接口的一般结构 160

5.5.1数字输入接口的一般结构 160

5.5.2数字输出接口的一般结构 162

5.6人机交互通道设计 164

5.6.1键盘接口设计 164

5.6.2显示接口设计 165

5.6.3人机交互接口应用 175

习题五 178

第6章 定时计数器组件 180

6.1通用定时计数器Timer 180

6.1.1内部定时功能 180

6.1.2外部计数功能 181

6.1.3捕获功能 181

6.1.4比较功能 182

6.1.5 STM32F10x系列定时器TIMx及其应用 182

6.2系统节拍定时器SysTick 192

6.3看门狗定时器WDT 194

6.3.1 IWDG 194

6.3.2 WWDG 196

6.4实时钟定时器RTC 197

6.4.1 RTC的硬件组成 198

6.4.2 RTC相关寄存器 199

6.4.3 RTC的应用 200

6.5脉宽调制定时器 204

6.5.1 PWM概述 204

6.5.2 STM32F10x系列PWM模式 206

6.5.3 PWM相关寄存器 207

6.5.4 PWM的应用 208

习题六 210

第7章 模拟输入输出系统设计 213

7.1模拟输入输出系统概述 213

7.2传感器及变送器 213

7.2.1传感器 214

7.2.2变送器 215

7.3信号调整的电路设计 216

7.3.1信号调理电路的功能及任务 216

7.3.2信号滤波 217

7.3.3信号放大 220

7.3.4激励与变换 221

7.4模/数转换器及其接口设计 223

7.4.1片上ADC及其应用 223

7.4.2片外ADC及其应用 231

7.5数/模转换器 233

7.5.1片内DAC及其应用 233

7.5.2片外DAC及其应用 237

7.6典型模拟输入输出系统实例 238

7.6.1温度变送器设计要求 238

7.6.2温度变送器硬件系统设计 239

习题七 241

第8章 互连通信接口设计 243

8.1串行异步收发器 243

8.1.1串行异步收发器UART/USART 243

8.1.2 UART的应用 247

8.2 RS-232接口及其应用 251

8.2.1 RS-232接口 251

8.2.2基于RS-232的双机通信 253

8.2.3 STM32F10x基于RS-232的接口 254

8.3 RS-485接口及其应用 255

8.3.1 RS-485接口 255

8.3.2 RS-485的隔离应用 258

8.3.3 RS-485主从式多机通信的应用 259

8.4 I2 C总线接口 261

8.4.1 I2 C总线概述 261

8.4.2 STM32F10x的I2 C功能模块及寄存器结构 263

8.4.3 I2C总线接口的应用 267

8.5 SPI串行外设接口 269

8.5.1 SPI串行外设接口概述 269

8.5.2典型SPI结构 270

8.5.3 SPI接口的应用 270

8.6 CAN总线接口 274

8.6.1 CAN总线概述 274

8.6.2典型片上CAN控制器的组成及相关寄存器 276

8.6.3 CAN总线接口的应用 281

8.7 Ethernet以太网控制器接口的应用 284

8.7.1 Ethernet控制器概述 284

8.7.2基于片上以太网控制器的以太网接口连接 285

8.7.3以太网接口的应用 286

8.8 USB接口 289

8.8.1 USB接口的组成 289

8.8.2 USB接口连接 291

8.8.3 USB接口的应用 292

8.9无线通信模块及其接口 294

8.9.1常用无线通信模块 294

8.9.2无线通信模块接口与MCU的连接 296

习题八 297

第9章 嵌入式操作系统及其移植 298

9.1嵌入式操作系统概述 298

9.1.1嵌入式操作系统的一般结构 298

9.1.2嵌入式操作系统的特点与分类 298

9.2典型嵌入式操作系统μC/OS-Ⅱ 300

9.2.1 μC/OS-Ⅱ操作系统概述 300

9.2.2 μC/OS-Ⅱ的任务及其管理 303

9.2.3 μC/OS-Ⅱ的系统服务 306

9.3 μC/OS-Ⅱ的移植 309

9.3.1 μC/OS-Ⅱ移植的一般方法 309

9.3.2 μC/OS-Ⅱ移植到STM32F10x微控制器 313

9.4基于μC/OS-Ⅱ下的应用程序设计 316

9.4.1 μC/OS-Ⅱ的初始化与main()函数结构 316

9.4.2 μC/OS-Ⅱ用户任务的三种结构 317

9.4.3 μC/OS-Ⅱ应用程序设计实例 318

习题九 323

第10章 嵌入式应用系统设计实例 325

10.1系统设计要求 325

10.1.1系统总体要求 325

10.1.2主要功能与技术指标 326

10.2需求分析与体系结构设计 326

10.2.1需求分析 326

10.2.2系统体系结构设计 328

10.3最小系统设计 329

10.3.1嵌入式处理器的选型 329

10.3.2电源设计 330

10.3.3最小系统构成 331

10.3.4 MCU资源分配 333

10.4通道设计 335

10.4.1通道模块元器件选型 335

10.4.2模拟通道设计 335

10.4.3数字通道设计 338

10.4.4互连通信接口 343

10.5嵌入式硬件综合 345

10.5.1硬件原理图综合 345

10.5.2硬件PCB板设计 347

10.6嵌入式软件设计 348

10.6.1无操作系统下的软件设计 349

10.6.2有操作系统下的软件设计 350

10.7系统调试 351

10.7.1硬件调试概述 351

10.7.2电源模块的调试 353

10.7.3最小系统调试 353

10.7.4通道调试 354

10.7.5系统综合调试 358

习题十 359

参考文献 360