当前位置:首页 > 工业技术
嵌入式系统及其应用  第3版
嵌入式系统及其应用  第3版

嵌入式系统及其应用 第3版PDF电子书下载

工业技术

  • 电子书积分:16 积分如何计算积分?
  • 作 者:陈启军等编著
  • 出 版 社:上海:同济大学出版社
  • 出版年份:2015
  • ISBN:9787560861364
  • 页数:511 页
图书介绍:本书介绍了嵌入式系统领域的基本原理、技术和方法,在内容上偏重电器类专业的教材选择需求,更加强调基本原理、强调硬件设计、强调软硬件交互、强调在自动化和电气领域的应用,而在更高层的软件开发上适当弱化,全书以ARM公司的Cortex-M3内核和ST公司的STM32F103系列MCU为主要介绍对象。本书适合专业教育阶段的自动化电气类本科教学,也适合具有初步经验的嵌入式系统开发者自学或研究生学习。
《嵌入式系统及其应用 第3版》目录

第1章 嵌入式系统导论 1

1.1 嵌入式系统——从部件到系统的集成 1

1.1.1 什么是嵌入式系统 1

1.1.2 嵌入式系统——从部件到系统的集成 2

1.2 计算的基本原理和历史演变 4

1.2.1 计算的概念——从数值计算到通用信息处理和智能计算 4

1.2.2 计算的基本模型:图灵机理论模型 5

1.2.3 计算的发展规律 7

1.3 计算机的基本原理和历史演变 8

1.3.1 计算机的诞生 8

1.3.2 计算机的发展 9

1.3.3 面向嵌入式应用的架构改进 12

1.4 嵌入式系统的历史沿革 14

1.5 ARM,Cortex和STM32简介 15

1.5.1 ARM系列内核 15

1.5.2 Cortex系列内核 19

1.5.3 STM32F103系列微控制器 20

1.6 嵌入式系统工程设计与开发 23

1.6.1 需求分析 23

1.6.2 架构和概要设计 24

1.6.3 详细设计与开发 25

1.6.4 测试反馈 25

1.7 本课程学习内容和目标 26

习题 26

第2章 Cortex-M3微处理器 27

2.1 Cortex-M3微处理器内核 27

2.1.1 内核体系结构 28

2.1.2 系统总线结构 30

2.1.3 寄存器 32

2.1.4 存储器管理 37

2.1.5 工作模态 50

2.1.6 异常与中断 52

2.1.7 堆栈 67

2.1.8 CoreSight调试与跟踪系统 69

2.1.9 Cortex-M3内核的其他特性 72

2.2 指令系统 75

2.2.1 Thumb-2指令分类 77

2.2.2 统一汇编语言 78

2.2.3 16-bit Thumb-2指令集编码格式 79

2.2.4 32-bit Thumb-2指令集编码格式 85

2.2.5 条件执行 96

2.2.6 未定义及不可预测指令 98

2.2.7 寄存器域编码0b1111的用途 99

2.2.8 寄存器域编码0b1101的用途 100

2.2.9 Cortex-M3常用的Thumb-2指令 101

2.2.10 Thumb-2指令与ARM体系架构下的指令比较 116

2.2.11 基于Cortex-M3的Thumb-2指令集 120

习题 131

第3章 STM32基础及最小系统设计 132

3.1 从Cortex-M3到STM32F103 132

3.1.1 微处理器、微控制器和系统 132

3.1.2 STM32F103微控制器 133

3.2 存储器与总线架构 141

3.2.1 存储子系统基本构架 141

3.2.2 存储器映像 142

3.2.3 位带绑定(Bit-Banding) 146

3.2.4 嵌入式闪存 147

3.2.5 寄存器说明 157

3.2.6 启动配置 160

3.2.7 应用实例 161

3.3 中断和事件 163

3.3.1 嵌套向量中断控制器(NVIC)及其特性 164

3.3.2 外部中断/事件控制器(EXTI) 167

3.3.3 中断寄存器描述 168

3.3.4 应用实例 171

3.4 STM32F103x的时钟系统 175

3.5 基于STM32的最小系统参考设计 176

习题 180

第4章 DMA控制器 181

4.1 主要特性 181

4.2 功能描述 182

4.2.1 DMA处理 184

4.2.2 仲裁器 184

4.2.3 DMA通道 185

4.2.4 可编程的数据传输宽度、对齐方式和数据大小端 187

4.2.5 错误管理 189

4.2.6 DMA请求映像 189

4.3 DMA寄存器 190

4.4 DMA应用实例 194

习题 198

第5章 通用和复用功能I/O模块 199

5.1 GPIO功能描述 199

5.1.1 通用目标I/O(GPIO) 200

5.1.2 原子位设置或位清除 201

5.1.3 外部中断/唤醒线 201

5.1.4 复用功能(AF) 201

5.1.5 I/O复用功能的软件重新映射 202

5.1.6 GPIO锁定机制 202

5.1.7 输入配置与输出配置 202

5.1.8 复用功能配置 203

5.1.9 模拟输入配置 204

5.2 GPIO寄存器描述 205

5.3 复用功能I/O和调试配置(AFIO) 208

5.3.1 引脚功能选择 208

5.3.2 BXCAN复用功能重映射 208

5.3.3 JTAG/SWD复用功能重映射 209

5.3.4 定时器复用功能重映射 210

5.3.5 USART复用功能重映射 211

5.3.6 12C复用功能重映射 212

5.3.7 SPI复用功能重映射 212

5.4 AFIO寄存器描述 212

5.5 GPIO和AFIO寄存器地址映像 217

5.5.1 GPIO寄存器地址映像 217

5.5.2 AFIO寄存器地址映像 218

5.6 应用实例 218

习题 220

第6章 定时器原理与应用 221

6.1 定时/计数器的基本原理与实现方法 221

6.1.1 完全硬件实现 221

6.1.2 纯软件方式 222

6.1.3 微控制器中的可编程定时/计数器 222

6.2 STM32高级定时/计数器 223

6.2.1 STM32高级定时器的主要特点 223

6.2.2 高级定时器概述 224

6.3 STM32高级定时器寄存器描述 225

6.4 STM32高级定时器工作原理及应用 242

6.4.1 定时器的时基信号 242

6.4.2 重复计数器 248

6.4.3 定时器定时应用实例 249

6.4.4 输入捕获 250

6.4.5 输出比较模式 251

6.4.6 STM32高级定时器捕获/比较应用实例 255

6.4.7 STM32高级定时器触发工作模式 259

习题 261

第7章 STM32的USART模块 262

7.1 串行通信概述 262

7.2 串行通信的基本原理 262

7.2.1 USART的扩展——RS232C接口和标准 262

7.2.2 RS232C的连接 264

7.2.3 流控和握手 265

7.2.4 组帧和分帧 266

7.2.5 错误检测和CRC校验 266

7.2.6 RS485 267

7.3 STM32F103的串行通信模块 267

7.3.1 基本结构和连接 268

7.3.2 单字节传输 269

7.3.3 分频设置和波特率选择 270

7.3.4 基于RTS和CTS硬件握手协议的流控过程 271

7.3.5 常用全双工异步通信的发送配置 273

7.3.6 全双工异步通信的接收配置 274

7.3.7 关于传输错误 275

7.3.8 多处理器通信 276

7.3.9 校验控制 276

7.3.10 LIN模式 276

7.3.11 USART同步模式 276

7.3.12 单线半双工通信 277

7.3.13 智能卡 277

7.3.14 IrDA SIR ENDEC功能块 278

7.3.15 利用DMA实现连续通信 279

7.3.16 中断请求 280

7.4 USART寄存器描述 281

7.5 USART应用实例分析 289

习题 292

第8章 STM32的SPI模块 293

8.1 串行外设接口概述 293

8.2 串行外设接口SPI的基本原理 294

8.2.1 主从式连接架构 294

8.2.2 接口信号线介绍 295

8.2.3 数据传输的时序模式 296

8.2.4 多个从机的连接 297

8.3 STM32F103的串行外设接口模块 297

8.3.1 基本结构和连接 298

8.3.2 时钟信号的相位和极性 299

8.3.3 数据帧格式 300

8.3.4 SPI从模式 300

8.3.5 SPI主模式 301

8.3.6 状态标志 302

8.3.7 CRC计算 302

8.3.8 利用DMA的SPI通信 303

8.3.9 错误标志 303

8.3.10 中断 304

8.4 SPI寄存器描述 304

8.5 SPI应用实例分析 309

习题 314

第9章 I2C总线原理及其应用 315

9.1 I2C总线概述 315

9.1.1 I2C总线特点 315

9.1.2 I2C总线标准的发展历史 316

9.1.3 I2C总线术语 316

9.2 I2C总线原理 317

9.2.1 I2C硬件构成 317

9.2.2 位传输 318

9.2.3 数据传输格式 319

9.3 STM32 I2C模块原理 322

9.3.1 STM32 I2C模块特点 322

9.3.2 I2C寄存器描述 323

9.3.3 STM32 I2C模块的通信实现 333

9.4 STM32 I2C扩展EEPROM应用 338

9.4.1 概述 339

9.4.2 管脚描述 339

9.4.3 串行EEPROM芯片的寻址 339

9.4.4 写操作方式 340

9.4.5 读操作方式 341

9.4.6 STM32 I2C模块扩展24C64应用 342

习题 348

第10章 CAN总线原理及其应用 349

10.1 CAN总线概述 349

10.1.1 CAN总线通信概述 349

10.1.2 CAN报文传输 351

10.2 STM32的CAN通信模块 353

10.2.1 STM32 bxCAN通信模块概述 353

10.2.2 控制寄存器描述 354

10.2.3 邮箱寄存器描述 362

10.2.4 CAN过滤器寄存器 366

10.3 STM32 bxCAN模块工作过程 367

10.3.1 bxCAN模块工作模式 367

10.3.2 bxCAN模块数据发送管理 368

10.3.3 bxCAN模块数据接收管理 370

10.3.4 bxCAN模块标识符过滤器 371

10.3.5 bxCAN模块出错管理 373

10.3.6 bxCAN模块位时间特性 373

10.3.7 bxCAN通信与出错中断管理 374

10.4 STM32 CAN应用实例 376

10.4.1 CAN总线硬件设计 376

10.4.2 STM32 CAN通信软件示例 376

习题 381

第11章 STM32的模拟数字转换模块 382

11.1 A/D变换的基本原理 382

11.1.1 采样 383

11.1.2 量化 383

11.1.3 编码 384

11.2 ADC模块的主要技术指标和选型考虑 386

11.2.1 位数 386

11.2.2 采样速率 386

11.2.3 分辨率 386

11.2.4 量化误差 387

11.2.5 绝对精度 388

11.2.6 相对精度 388

11.2.7 偏移误差 388

11.2.8 增益误差 388

11.2.9 AD线性误差 389

11.2.10 微分非线性 390

11.2.11 积分非线性 390

11.2.12 输入失调电压 391

11.2.13 输入失调电流 391

11.2.14 输入阻抗 391

11.2.15 增益带宽积GBP 392

11.2.16 运放的单位增益带宽 392

11.2.17 运放建立时间 392

11.2.18 压摆率 393

11.3 ADC模块的外围软硬件设计 393

11.3.1 电压测量与峰值测量 394

11.3.2 单路测量与多路测量 394

11.3.3 异步测量和同步测量 394

11.3.4 关于电压基准 394

11.3.5 查询式A/D 395

11.3.6 中断式A/D 396

11.3.7 Timer驱动的周期采样 396

11.3.8 外部触发式启动A/D 397

11.3.9 同步A/D 398

11.3.10 DMA数据传输 398

11.3.11 STM32F103的A/D变换模块 398

11.4 STM32F103 ADC寄存器介绍 400

11.5 STM32F103的ADC模块的使用 408

11.5.1 ADC的使能 408

11.5.2 ADC时钟 408

11.5.3 通道选择 408

11.5.4 转换模式 409

11.5.5 模拟看门狗 409

11.5.6 扫描模式 410

11.5.7 注入通道管理 410

11.5.8 间断模式 411

11.5.9 校准 411

11.5.10 数据对齐 411

11.5.11 可编程的通道采样时间 412

11.5.12 外部触发转换 412

11.5.13 DMA请求 413

11.5.14 双ADC模式 413

11.5.15 温度传感器/VREFINT内部通道 416

11.5.16 中断 417

11.6 基于STM32F103的A/D变换示例 417

习题 420

第12章 STM32支撑开发环境 421

12.1 嵌入式系统开发的流程 421

12.1.1 嵌入式项目的生命周期 421

12.1.2 嵌入式软件的开发环节 422

12.1.3 交叉编译与软件调试 422

12.2 基于Keil MDK的STM32开发支撑环境 424

12.2.1 ARM开发工具 424

12.2.2 基于Keil MIDK的STM32开发环境 425

12.2.3 开发环境硬件连接 426

12.2.4 基于Keil的软件开发流程 426

12.3 STM32启动文件解析 436

12.4 ARTX嵌入式操作系统使用初步 443

12.5 嵌入式系统软件开发的高级主题 445

12.5.1 形式化规范与证实技术 445

12.5.2 设计架构与模式 445

12.5.3 低功耗软件设计 447

习题 447

第13章 基于STM32的多功能综合实验板设计 448

13.1 综合实验板介绍 448

13.2 MDVSTM32-107实验板模块设计 449

13.2.1 电源电路设计 449

13.2.2 通用I/O口电路设计 450

13.2.3 基于I2C总线扩展 450

13.2.4 CAN总线扩展 452

13.2.5 USB总线扩展 453

13.2.6 智能卡接口电路 453

13.2.7 I2S扩展音频电路 453

13.2.8 RS232扩展和IrDA扩展 456

13.2.9 SD卡扩展电路 456

13.2.10 TFT液晶扩展电路 456

13.2.11 电机扩展接口 457

13.2.12 以太网扩展 460

13.2.13 AD电路扩展 460

13.2.14 MCU电路设计 460

13.2.15 调试电路设计 461

13.2.16 扩展接口 463

习题 465

第14章 基于STM32的电动自行车控制器设计 466

14.1 直流无刷电机的基本原理 466

14.1.1 直流无刷电机结构 466

14.1.2 直流无刷电机工作原理 467

14.2 直流无刷电机应用系统设计 470

14.2.1 硬件电路实现 472

14.2.2 软件电路实现 478

习题 484

第15章 AMR单相电能表的参考设计 485

15.1 需求和目标系统特性 485

15.2 硬件设计方案 486

15.2.1 层次化硬件架构和接口设计 486

15.2.2 测量电路 486

15.2.3 MCU和外设电路 487

15.2.4 供电电路 488

15.2.5 磁保持继电器 489

15.3 STPM10测量集成芯片 489

15.3.1 STPM10测量芯片介绍 489

15.3.2 STPM10与MCU的接口 489

15.3.3 使用DMA的SPI读过程 493

15.3.4 STPM10校准 493

15.4 账户管理 494

15.5 目标机的测试与评估 495

15.5.1 目标机 495

15.5.2 AMR的评估 496

习题 497

第16章 面向物联网的智能硬件设计 498

16.1 嵌入式系统设备应用框架 498

16.2 物联网设备硬件设计 499

16.2.1 电源电路 500

16.2.2 MCU电路 501

16.2.3 USB转UART电路 501

16.2.4 按键与显示电路 502

16.2.5 主板接口电路 503

16.2.6 扩展板传感器电路 503

16.2.7 扩展板RGB LED灯与电机驱动电路 504

16.2.8 扩展板距离检测和光敏电路 505

16.2.9 扩展板显示电路 505

16.2.10 扩展板接口电路 506

16.2.11 扩展板其他电路 506

16.3 物联网设备软件设计 507

16.3.1 物联网设备软件一般框架 508

16.3.2 基于MiCO操作系统的软件框架 509

16.4 总结 509

习题 510

主要参考文献 511

相关图书
作者其它书籍
返回顶部