嵌入式系统及其应用 第3版PDF电子书下载
- 电子书积分:16 积分如何计算积分?
- 作 者:陈启军等编著
- 出 版 社:上海:同济大学出版社
- 出版年份:2015
- ISBN:9787560861364
- 页数:511 页
第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
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《管理信息系统习题集》郭晓军 2016
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《英汉翻译理论的多维阐释及应用剖析》常瑞娟著 2019
- 《信息系统安全技术管理策略 信息安全经济学视角》赵柳榕著 2020
- 《数据库技术与应用 Access 2010 微课版 第2版》刘卫国主编 2020
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《虚拟流域环境理论技术研究与应用》冶运涛蒋云钟梁犁丽曹引等编著 2019
- 《当代翻译美学的理论诠释与应用解读》宁建庚著 2019
- 《第一性原理方法及应用》李青坤著 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019