书籍详情
嵌入式系统原理与物联网实践
作者:沈建华,王慈 编
出版社:清华大学出版社
出版时间:2022-06-01
ISBN:9787302609650
定价:¥79.80
购买这本书可以去
内容简介
本书系统介绍了嵌入式系统的基本原理和物联网应用开发的基础知识。详细讲述了MCU应用相关的各种外设模块的工作原理和编程结构,包括ARM Cortex-M4内核、ARMv7和RISC-V指令系统、MCU系统控制、存储器、通用输入输出、定时器、模拟外设、通信接口等。同时,对嵌入式软件设计方法、RTOS、物联网技术及应用架构等做了阐述。最后介绍了两个基于阿里云IoT平台的物联网应用开发示例,以及低功耗系统设计和电磁兼容性的基础知识。本书对嵌入式系统的基本原理和技术的描述具有通适性、不特别针对某个MCU。本书配套有完整的教学资源,包括教学课件、实验PPT、MOOC资源,以及基于ST、TI、平头哥等多种MCU开发板的配套实验例程,方便师生选用。本书可作为高等院校计算机、电子与通信、自动化、仪器仪表等专业嵌入式系统、物联网、微机接口、单片机等课程的教材,也适合广大从事MCU和物联网应用系统开发的工程技术人员作为学习、参考用书。
作者简介
暂缺《嵌入式系统原理与物联网实践》作者简介
目录
第 1 章 嵌入式系统与微控制器概述 1
1.1 嵌入式系统概述 1
1.1.1 嵌入式系统的发展 1
1.1.2 嵌入式系统的特点 2
1.1.3 嵌入式系统的组成 3
1.1.4 嵌入式系统的种类 5
1.1.5 嵌入式系统的调试方法 6
1.1.6 嵌入式系统的应用 11
1.2 嵌入式处理器概述 12
1.2.1 嵌入式处理器 12
1.2.2 嵌入式处理器的分类 13
1.2.3 典型 MCU 介绍 18
1.3 本章小结 25
1.4 习题 26
第 2 章 ARM Cortex-M 处理器27
2.1 ARM 处理器概述 27
2.2 ARM 处理器架构 28
2.2.1 ARM 体系结构版本 28
2.2.2 ARM 处理器 30
2.3 Cortex-M 处理器内核及功能介绍 32
2.4 ARM Cortex-M4 编程模型 37
2.4.1 处理器的工作模式和特权级别 37
2.4.2 ARM Cortex-M4 寄存器 38
2.4.3 ARM Cortex-M4 异常处理 41
2.5 本章小结 47
2.6 习题 47
第 3 章 指令系统 48
3.1 ARM 指令格式 48
3.2 条件码 49
3.3 ARM 指令的寻址方式 50
3.4 ARMv7 架构指令集—Thumb-2 指令集 55
3.4.1 存储器访问指令 56
3.4.2 通用数据处理指令 60
3.4.3 乘法和除法指令 65
3.4.4 分支和分支控制指令 67
3.4.5 饱和运算指令 SSAT 和 USAT 69
3.4.6 位段操作指令 70
3.4.7 杂项指令 71
3.5 RISC-V 指令集简介 75
3.5.1 RISC-V 寄存器 75
3.5.2 寻址方式和指令示例 76
3.5.3 RISC-V 标准模块和指令使用 77
3.5.4 RISC-V 和其他指令集的比较 79
3.6 汇编程序设计 80
3.6.1 ARM 汇编语言格式规范 80
3.6.2 ARM 汇编语言编写格式示例 82
3.7 本章小结 82
3.8 习题 83
第 4 章 系统控制 85
4.1 功能组件 85
4.1.1 复位控制 85
4.1.2 时钟控制 89
4.1.3 电源管理 92
4.1.4 嵌套向量中断控制器 93
4.1.5 DMA 控制器 98
4.2 初始化配置 104
4.3 操作实例 107
4.3.1 时钟例程一 107
4.3.2 时钟例程二 112
4.4 本章小结 114
4.5 习题 114
第 5 章 存储器 116
5.1 存储器分类 116
5.1.1 RAM 存储器 116
5.1.2 ROM 存储器 122
5.1.3 Flash 存储器 124
5.1.4 铁电存储器 FRAM 129
5.1.5 存储控制器 132
5.1.6 存储器性能指标 136
5.2 微控制器存储器系统 137
5.2.1 存储器地址映射 137
5.2.2 位带操作 139
5.2.3 存储格式 140
5.3 操作示例 143
5.3.1 变量地址观察例程 143
5.3.2 Flash 擦写例程 145
5.4 本章小结 149
5.5 习题 149
第 6 章 基本外设 151
6.1 通用输入/输出端口(GPIO) 151
6.1.1 GPIO 简介 151
6.1.2 GPIO 示例 154
6.1.3 初始化配置 155
6.1.4 操作实例 155
6.2 通用定时器/计数器 159
6.2.1 通用定时器简介 159
6.2.2 定时器示例 161
6.2.3 初始化配置 163
6.2.4 操作实例 163
6.3 脉冲宽度调制(PWM) 167
6.3.1 PWM 简介. 167
6.3.2 PWM 示例. 169
6.3.3 操作实例 170
6.4 看门狗定时器(WDT) 174
6.4.1 WDT 简介 175
6.4.2 MCU 中的看门狗 175
6.4.3 操作实例 176
6.5 实时时钟(RTC) 179
6.5.1 RTC 简介 179
6.5.2 RTC 示例 180
6.5.3 操作实例 181
6.6 本章小结 186
6.7 习题 187
第 7 章 通信外设 188
7.1 数字通信系统概述 188
7.2 UART 接口 189
7.2.1 UART 简介 189
7.2.2 波特率 193
7.2.3 UART 示例 193
7.2.4 初始化配置 195
7.2.5 操作实例 195
7.3 SPI 接口 198
7.3.1 SPI 简介 198
7.3.2 SPI 示例 200
7.3.3 初始化配置 202
7.3.4 操作实例 202
7.4 I2C 接口 204
7.4.1 I2C 简介 204
7.4.2 I2C 示例 209
7.4.3 初始化配置 210
7.4.4 操作实例 210
7.5 USB 接口 215
7.5.1 USB 接口概述 215
7.5.2 USB 数据传输方式 218
7.6 CAN 总线 220
7.7 本章小结 221
7.8 习题 222
第 8 章 模拟外设 223
8.1 模数转换器(ADC) 223
8.1.1 ADC 简介 223
8.1.2 ADC 性能指标 225
8.1.3 ADC 类型 226
8.1.4 初始化配置 231
8.1.5 ADC 示例 231
8.1.6 操作实例 233
8.2 模拟比较器(AC) 237
8.2.1 模拟比较器简介 238
8.2.2 初始化配置 239
8.2.3 操作实例 240
8.3 数模转换器(DAC) 242
8.3.1 DAC 简介 242
8.3.2 DAC 类型 243
8.3.3 DAC 的技术指标 244
8.3.4 操作实例 244
8.4 本章小结 247
8.5 习题 248
第 9 章 嵌入式实时操作系统. 249
9.1 常用的嵌入式操作系统 249
9.2 RTOS 基础 250
9.2.1 RTOS 的基本概念 251
9.2.2 使用 RTOS 的优势 252
9.2.3 RTOS 的功能组成 254
9.3 FreeRTOS 258
9.3.1 FreeRTOS 的体系结构 259
9.3.2 FreeRTOS 的任务调度机制 259
9.3.3 FreeRTOS 的任务管理 262
9.3.4 FreeRTOS 任务通信机制 264
9.3.5 FreeRTOS 任务同步机制 264
9.3.6 FreeRTOS 移植到微控制器的方法 265
9.3.7 Amazon FreeRTOS 265
9.4 本章小结 265
9.5 习题 266
第 10 章 嵌入式软件设计 267
10.1 嵌入式系统软件组成 267
10.1.1 嵌入式系统软件架构 267
10.1.2 初始化引导程序 BootLoader 268
10.1.3 板级支持包 BSP 269
10.1.4 设备驱动程序 271
10.1.5 库函数 271
10.2. 无 OS 的嵌入式软件设计方法 272
10.2.1 前后台系统 272
10.2.2 中断(事件)驱动系统 272
10.2.3 巡回服务系统 273
10.2.4 基于定时器的巡回服务系统 275
10.3 基于 RTOS 的嵌入式软件设计方法 275
10.3.1 FreeRTOS 的任务创建及删除示例 275
10.3.2 FreeRTOS 的任务通信示例 280
10.3.3 FreeRTOS 的任务同步(二进制信号量)示例 285
10.3.4 FreeRTOS 软件定时器示例 290
10.4 基于 Linux 的嵌入式软件设计方法 292
10.5 本章小结 295
10.6 习题 295
第 11 章 物联网技术 297
11.1 物联网概述 297
11.1.1 技术及应用框架 298
11.1.2 相关技术 299
11.2 无线通信技术 300
11.2.1 NFC 300
11.2.2 ZigBee 301
11.2.3 BLE 302
11.2.4 Wi-Fi 303
11.2.5 LoRa 304
11.2.6 NB-IoT 305
11.2.7 无线通信技术比较 306
11.3 终端技术 306
11.3.1 Android 系统 307
11.3.2 iOS 系统 308
11.3.3 Web 和 HTML 技术 309
11.4 服务器和云计算 310
11.4.1 独立服务器和云主机 310
11.4.2 云计算 311
11.5 开发平台和操作系统 312
11.5.1 IoT 开发平台 312
11.5.2 IoT 操作系统 313
11.6 MQTT 概述 315
11.6.1 MQTT 特点 315
11.6.2 MQTT 协议原理 316
11.7 物联网系统应用开发 317
11.7.1 基于单点服务器的物联网系统 318
11.7.2 基于物联网接入平台的物联网系统 318
11.7.3 基于物联网应用平台的物联网系统 320
11.8 设备联网方式 321
11.9 本章小结 322
11.10 习题 322
第 12 章 物联网开发实践 324
12.1 实验环境 324
12.2 物联网实验一 325
12.2.1 实验流程 327
12.2.2 阿里云物联网平台操作 327
12.2.3 设备端操作 340
12.2.4 实验现象与结果 344
12.2.5 设备端程序流程图 349
12.3 物联网实验二 350
12.3.1 实验流程 351
12.3.2 物联网应用开发平台配置 351
12.3.3 设备端配置 359
12.3.4 应用端操作 362
12.3.5 设备端实验流程图 366
12.4 本章小结 367
12.5 习题 367
第 13 章 低功耗与电磁兼容 368
13.1 低功耗设计方法 368
13.1.1 利用 I/O 引脚为外部器件供电 368
13.1.2 电源管理单元的设计 369
13.1.3 动态改变 CPU 的时钟频率 369
13.1.4 软件系统的低功耗设计 370
13.2 电源设计 372
13.2.1 电池的选择 373
13.2.2 超低静态电流 LDO 376
13.2.3 直流/直流转换器 377
13.3 电磁兼容性 378
13.3.1 电磁干扰的形成 378
13.3.2 电磁兼容常用元器件 380
13.3.3 电磁兼容常用技巧 381
13.4 本章小结 384
13.5 习题 384
参考文献 386
1.1 嵌入式系统概述 1
1.1.1 嵌入式系统的发展 1
1.1.2 嵌入式系统的特点 2
1.1.3 嵌入式系统的组成 3
1.1.4 嵌入式系统的种类 5
1.1.5 嵌入式系统的调试方法 6
1.1.6 嵌入式系统的应用 11
1.2 嵌入式处理器概述 12
1.2.1 嵌入式处理器 12
1.2.2 嵌入式处理器的分类 13
1.2.3 典型 MCU 介绍 18
1.3 本章小结 25
1.4 习题 26
第 2 章 ARM Cortex-M 处理器27
2.1 ARM 处理器概述 27
2.2 ARM 处理器架构 28
2.2.1 ARM 体系结构版本 28
2.2.2 ARM 处理器 30
2.3 Cortex-M 处理器内核及功能介绍 32
2.4 ARM Cortex-M4 编程模型 37
2.4.1 处理器的工作模式和特权级别 37
2.4.2 ARM Cortex-M4 寄存器 38
2.4.3 ARM Cortex-M4 异常处理 41
2.5 本章小结 47
2.6 习题 47
第 3 章 指令系统 48
3.1 ARM 指令格式 48
3.2 条件码 49
3.3 ARM 指令的寻址方式 50
3.4 ARMv7 架构指令集—Thumb-2 指令集 55
3.4.1 存储器访问指令 56
3.4.2 通用数据处理指令 60
3.4.3 乘法和除法指令 65
3.4.4 分支和分支控制指令 67
3.4.5 饱和运算指令 SSAT 和 USAT 69
3.4.6 位段操作指令 70
3.4.7 杂项指令 71
3.5 RISC-V 指令集简介 75
3.5.1 RISC-V 寄存器 75
3.5.2 寻址方式和指令示例 76
3.5.3 RISC-V 标准模块和指令使用 77
3.5.4 RISC-V 和其他指令集的比较 79
3.6 汇编程序设计 80
3.6.1 ARM 汇编语言格式规范 80
3.6.2 ARM 汇编语言编写格式示例 82
3.7 本章小结 82
3.8 习题 83
第 4 章 系统控制 85
4.1 功能组件 85
4.1.1 复位控制 85
4.1.2 时钟控制 89
4.1.3 电源管理 92
4.1.4 嵌套向量中断控制器 93
4.1.5 DMA 控制器 98
4.2 初始化配置 104
4.3 操作实例 107
4.3.1 时钟例程一 107
4.3.2 时钟例程二 112
4.4 本章小结 114
4.5 习题 114
第 5 章 存储器 116
5.1 存储器分类 116
5.1.1 RAM 存储器 116
5.1.2 ROM 存储器 122
5.1.3 Flash 存储器 124
5.1.4 铁电存储器 FRAM 129
5.1.5 存储控制器 132
5.1.6 存储器性能指标 136
5.2 微控制器存储器系统 137
5.2.1 存储器地址映射 137
5.2.2 位带操作 139
5.2.3 存储格式 140
5.3 操作示例 143
5.3.1 变量地址观察例程 143
5.3.2 Flash 擦写例程 145
5.4 本章小结 149
5.5 习题 149
第 6 章 基本外设 151
6.1 通用输入/输出端口(GPIO) 151
6.1.1 GPIO 简介 151
6.1.2 GPIO 示例 154
6.1.3 初始化配置 155
6.1.4 操作实例 155
6.2 通用定时器/计数器 159
6.2.1 通用定时器简介 159
6.2.2 定时器示例 161
6.2.3 初始化配置 163
6.2.4 操作实例 163
6.3 脉冲宽度调制(PWM) 167
6.3.1 PWM 简介. 167
6.3.2 PWM 示例. 169
6.3.3 操作实例 170
6.4 看门狗定时器(WDT) 174
6.4.1 WDT 简介 175
6.4.2 MCU 中的看门狗 175
6.4.3 操作实例 176
6.5 实时时钟(RTC) 179
6.5.1 RTC 简介 179
6.5.2 RTC 示例 180
6.5.3 操作实例 181
6.6 本章小结 186
6.7 习题 187
第 7 章 通信外设 188
7.1 数字通信系统概述 188
7.2 UART 接口 189
7.2.1 UART 简介 189
7.2.2 波特率 193
7.2.3 UART 示例 193
7.2.4 初始化配置 195
7.2.5 操作实例 195
7.3 SPI 接口 198
7.3.1 SPI 简介 198
7.3.2 SPI 示例 200
7.3.3 初始化配置 202
7.3.4 操作实例 202
7.4 I2C 接口 204
7.4.1 I2C 简介 204
7.4.2 I2C 示例 209
7.4.3 初始化配置 210
7.4.4 操作实例 210
7.5 USB 接口 215
7.5.1 USB 接口概述 215
7.5.2 USB 数据传输方式 218
7.6 CAN 总线 220
7.7 本章小结 221
7.8 习题 222
第 8 章 模拟外设 223
8.1 模数转换器(ADC) 223
8.1.1 ADC 简介 223
8.1.2 ADC 性能指标 225
8.1.3 ADC 类型 226
8.1.4 初始化配置 231
8.1.5 ADC 示例 231
8.1.6 操作实例 233
8.2 模拟比较器(AC) 237
8.2.1 模拟比较器简介 238
8.2.2 初始化配置 239
8.2.3 操作实例 240
8.3 数模转换器(DAC) 242
8.3.1 DAC 简介 242
8.3.2 DAC 类型 243
8.3.3 DAC 的技术指标 244
8.3.4 操作实例 244
8.4 本章小结 247
8.5 习题 248
第 9 章 嵌入式实时操作系统. 249
9.1 常用的嵌入式操作系统 249
9.2 RTOS 基础 250
9.2.1 RTOS 的基本概念 251
9.2.2 使用 RTOS 的优势 252
9.2.3 RTOS 的功能组成 254
9.3 FreeRTOS 258
9.3.1 FreeRTOS 的体系结构 259
9.3.2 FreeRTOS 的任务调度机制 259
9.3.3 FreeRTOS 的任务管理 262
9.3.4 FreeRTOS 任务通信机制 264
9.3.5 FreeRTOS 任务同步机制 264
9.3.6 FreeRTOS 移植到微控制器的方法 265
9.3.7 Amazon FreeRTOS 265
9.4 本章小结 265
9.5 习题 266
第 10 章 嵌入式软件设计 267
10.1 嵌入式系统软件组成 267
10.1.1 嵌入式系统软件架构 267
10.1.2 初始化引导程序 BootLoader 268
10.1.3 板级支持包 BSP 269
10.1.4 设备驱动程序 271
10.1.5 库函数 271
10.2. 无 OS 的嵌入式软件设计方法 272
10.2.1 前后台系统 272
10.2.2 中断(事件)驱动系统 272
10.2.3 巡回服务系统 273
10.2.4 基于定时器的巡回服务系统 275
10.3 基于 RTOS 的嵌入式软件设计方法 275
10.3.1 FreeRTOS 的任务创建及删除示例 275
10.3.2 FreeRTOS 的任务通信示例 280
10.3.3 FreeRTOS 的任务同步(二进制信号量)示例 285
10.3.4 FreeRTOS 软件定时器示例 290
10.4 基于 Linux 的嵌入式软件设计方法 292
10.5 本章小结 295
10.6 习题 295
第 11 章 物联网技术 297
11.1 物联网概述 297
11.1.1 技术及应用框架 298
11.1.2 相关技术 299
11.2 无线通信技术 300
11.2.1 NFC 300
11.2.2 ZigBee 301
11.2.3 BLE 302
11.2.4 Wi-Fi 303
11.2.5 LoRa 304
11.2.6 NB-IoT 305
11.2.7 无线通信技术比较 306
11.3 终端技术 306
11.3.1 Android 系统 307
11.3.2 iOS 系统 308
11.3.3 Web 和 HTML 技术 309
11.4 服务器和云计算 310
11.4.1 独立服务器和云主机 310
11.4.2 云计算 311
11.5 开发平台和操作系统 312
11.5.1 IoT 开发平台 312
11.5.2 IoT 操作系统 313
11.6 MQTT 概述 315
11.6.1 MQTT 特点 315
11.6.2 MQTT 协议原理 316
11.7 物联网系统应用开发 317
11.7.1 基于单点服务器的物联网系统 318
11.7.2 基于物联网接入平台的物联网系统 318
11.7.3 基于物联网应用平台的物联网系统 320
11.8 设备联网方式 321
11.9 本章小结 322
11.10 习题 322
第 12 章 物联网开发实践 324
12.1 实验环境 324
12.2 物联网实验一 325
12.2.1 实验流程 327
12.2.2 阿里云物联网平台操作 327
12.2.3 设备端操作 340
12.2.4 实验现象与结果 344
12.2.5 设备端程序流程图 349
12.3 物联网实验二 350
12.3.1 实验流程 351
12.3.2 物联网应用开发平台配置 351
12.3.3 设备端配置 359
12.3.4 应用端操作 362
12.3.5 设备端实验流程图 366
12.4 本章小结 367
12.5 习题 367
第 13 章 低功耗与电磁兼容 368
13.1 低功耗设计方法 368
13.1.1 利用 I/O 引脚为外部器件供电 368
13.1.2 电源管理单元的设计 369
13.1.3 动态改变 CPU 的时钟频率 369
13.1.4 软件系统的低功耗设计 370
13.2 电源设计 372
13.2.1 电池的选择 373
13.2.2 超低静态电流 LDO 376
13.2.3 直流/直流转换器 377
13.3 电磁兼容性 378
13.3.1 电磁干扰的形成 378
13.3.2 电磁兼容常用元器件 380
13.3.3 电磁兼容常用技巧 381
13.4 本章小结 384
13.5 习题 384
参考文献 386
猜您喜欢