《ARM Cortex-M3体系结构与编程 第2版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:冯新宇编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2017
  • ISBN:9787302473329
  • 页数:381 页
图书介绍:电子技术发展日新月异,从51到AVR到ARM处理器的能力越来越强,使用起来也越来复杂,本书主要是以M3核处理器家族中的佼佼者STM32为例,介绍M3处理器架构的同时,说明STM32处理器的典型应用,通过智能车,井下通信,倒立摆,电子称4个完整的项目说明STM32的使用方法,使读者快熟的掌握M3处理器的开发方法。

第1章 ARM Cortex-M3核介绍 1

1.1 Cortex-M3主要特性 1

1.2 典型M3核处理器特性 3

1.2.1 命名规则 4

1.2.2 产品功能和外设配置 4

习题 5

第2章 开发环境搭建 6

2.1 MDK安装 6

2.2 新建工程 9

2.3 采用ST-Link调试仿真代码 15

习题 19

第3章 基本I/O端口控制 20

3.1 MDK新建工程 20

3.2 MDK工程配置 27

3.3 寄存器法操作代码分析 30

3.4 时钟配置 30

3.4.1 时钟树 31

3.4.2 时钟源 32

3.4.3 APB2外设时钟使能寄存器(RCC_APB2ENR) 33

3.5 I/O端口配置 34

3.5.1 I/O基本情况 34

3.5.2 GPIO配置寄存器描述 35

3.5.3 端口输出数据寄存器 37

3.6 用库函数操作流水灯 37

3.6.1 GPIO_Init函数 39

3.6.2 RCC_APB2PeriphClockCmd 41

3.6.3 控制I/O输出电平 42

3.6.4 LED.h文件 43

3.6.5 软件调试易现问题 44

3.7 使用库函数法控制数码管 46

3.7.1 数码管基础知识 46

3.7.2 硬件电路设计 47

3.7.3 软件说明 47

3.8 简单按键输入 50

习题 52

第4章 中断 53

4.1 STM32中断和异常 53

4.2 STM32中断相关的基本概念 55

4.2.1 优先级 55

4.2.2 中断控制器NVIC 56

4.2.3 NVIC的优先级组 58

4.3 外部中断 58

4.3.1 外部中断基本情况 59

4.3.2 使用外部中断的基本步骤 60

习题 64

第5章 串口通信 65

5.1 串口通信基础 65

5.1.1 基本概念 65

5.1.2 常用的串行通信接口 66

5.1.3 应用串行通信的数据采集结构 70

5.2 STM32串口操作 71

5.2.1 寄存器方式操作串口 72

5.2.2 库函数方式操作串口 77

习题 82

第6章 直接寄存器访问 83

6.1 DMA基础知识 83

6.2 STM32的DMA操作 85

6.2.1 寄存器方式操作DMA 85

6.2.2 库函数方式操作DMA 90

6.2.3 DMA操作实例 93

习题 96

第7章 模拟/数字转换器 97

7.1 ADC基础知识 97

7.1.1 ADC主要特性 97

7.1.2 ADC框图及引脚分布 98

7.1.3 通道选择 99

7.1.4 ADC的转换模式 99

7.1.5 ADC寄存器和固件库函数列表 100

7.2 STM32ADC操作 102

7.2.1 寄存器方式操作ADC 102

7.2.2 库函数方式操作ADC 111

7.2.3 ADC操作实例 115

习题 118

第8章 定时器 119

8.1 定时器基础知识 119

8.1.1 高级定时器 119

8.1.2 基本定时器 120

8.1.3 通用定时器 120

8.2 STM32定时器操作 121

8.2.1 寄存器方式操作定时器 121

8.2.2 库函数方式操作定时器 127

8.2.3 定时器操作实例 130

习题 131

第9章 CAN总线设计 132

9.1 CAN总线基本工作原理 132

9.2 CAN协议的特点 133

9.3 CAN协议通信过程 134

9.4 CAN的报文格式 135

9.4.1 数据帧 136

9.4.2 遥控帧 137

9.4.3 错误帧 138

9.4.4 过载帧 139

9.4.5 帧间隔 140

9.4.6 优先级的决定 141

9.5 CAN总线错误处理机制 141

9.5.1 错误状态 142

9.5.2 错误检测 143

9.6 同步 144

9.6.1 同步类型 144

9.6.2 同步原则 144

9.7 CAN总线拓扑结构 145

9.7.1 STM32的CAN通信模块 145

9.7.2 CAN控制器MCP2515介绍 146

9.8 CAN通信的软件设计 148

9.8.1 系统程序流程 148

9.8.2 系统接收发送中断处理 149

9.8.3 CAN总线初始化配置 149

9.8.4 报文的发送 151

9.8.5 报文的接收 152

9.9 CAN通信示例 153

习题 157

第10章 倒立摆设计 158

10.1 设计内容与实现指标 158

10.1.1 倒立摆的选择 158

10.1.2 系统设计指标 159

10.2 系统方案确定 160

10.2.1 系统结构组成 160

10.2.2 系统模型分析 160

10.2.3 系统控制方案确定 164

10.3 系统硬件设计 165

10.4 电机的选择及驱动电路的设计 166

10.4.1 电机的选择 166

10.4.2 电机驱动电路的设计 166

10.5 测量电路设计 169

10.5.1 摆杆角度测量电路的设计 169

10.5.2 旋臂位置测量电路的设计 170

10.6 通信电路的设计 172

10.6.1 上位机通信电路的设计 172

10.6.2 无线传输电路的设计 174

10.7 辅助电路设计 175

10.7.1 语音提示电路的设计 175

10.7.2 电源电路的设计 177

10.8 系统软件设计 181

10.8.1 系统控制程序设计 181

10.8.2 起摆程序设计 182

10.8.3 PID控制程序设计 183

10.8.4 电机驱动程序设计 185

10.8.5 上位机通信程序设计 186

10.8.6 无线通信程序设计 188

10.9 作品的制作与调试 189

10.9.1 倒立摆机械结构的制作问题 189

10.9.2 PCB设计应注意的问题 189

10.9.3 电路板的制作问题 190

10.10 PID参数的整定 190

10.10.1 比例参数整定 191

10.10.2 积分参数整定 191

10.10.3 微分参数整定 191

习题 192

第11章 智能小车设计 193

11.1 硬件电路设计 193

11.1.1 硬件系统方案设计 193

11.1.2 最小系统电路设计 194

11.1.3 电源电路设计 195

11.1.4 电机驱动电路设计 197

11.1.5 环境检测传感器电路设计 199

11.2 人机交互电路设计 201

11.2.1 OLED显示电路设计 201

11.2.2 红外遥控电路设计 201

11.2.3 蜂鸣器提示电路设计 202

11.3 总体软件设计 202

11.3.1 道路基准采集模式软件 202

11.3.2 PID寻迹模式软件 203

11.3.3 迷宫模式软件 203

11.3.4 OLED显示软件设计 204

11.4 PID控制软件设计 205

11.4.1 PID介绍 205

11.4.2 比例(P)控制器 206

11.4.3 比例积分(PI)控制器 206

11.4.4 比例微分(PD)控制器 207

11.4.5 比例积分微分(PID)控制器 207

11.4.6 PID寻迹 208

11.5 迷宫算法设计 210

11.5.1 左手法 210

11.5.2 迷宫搜索 211

11.5.3 迷宫最短路径算法 211

11.6 设计测量方法与数据处理 212

11.6.1 传感器分布 212

11.6.2 五路模拟传感器数据测量 212

11.7 传感器软件滤波 214

11.7.1 软件滤波处理介绍 214

11.7.2 软件滤波的方法 214

11.8 调试方法 215

11.8.1 PID参数调试 215

11.8.2 迷宫模式调试 216

习题 217

第12章 平衡车设计 218

12.1 硬件电路设计 218

12.1.1 硬件系统方案设计 218

12.1.2 环境检测传感器电路设计 219

12.2 人机交互电路设计 220

12.3 MPU-6050使用方法 222

12.3.1 引脚说明 222

12.3.2 SMPRT_DIV寄存器 222

12.3.3 CONFIG寄存器 223

12.3.4 GYRO_CONFIG寄存器 224

12.3.5 ACCEL_CONFIG寄存器 224

12.3.6 加速度计测量寄存器 225

12.3.7 TEMP_OUT_H和TEMP_OUT_L寄存器 226

12.3.8 陀螺仪测量寄存器 226

12.3.9 PWR_MGMT_1寄存器 227

12.3.10 WHO_AM_I寄存器 228

12.4 总体软件设计 228

12.4.1 车身状态采集模式软件 228

12.4.2 PID车身保持模式软件 231

12.4.3 人机交互模式软件设计 234

12.4.4 卡尔曼滤波算法 237

习题 239

第13章 电子秤设计 240

13.1 设计指标 240

13.2 设计方案 240

13.3 硬件电路设计说明 241

13.3.1 主控制器相关电路 241

13.3.2 TFT液晶屏相关电路设计 242

13.3.3 AD芯片HX711相关电路设计 243

13.3.4 WT588D语音模块相关电路设计 244

13.3.5 称重传感器相关电路设计 246

13.4 软件设计思路及代码分析 247

13.4.1 TFT触控液晶模块部分 247

13.4.2 WT588D语音模块部分 248

13.4.3 HX711芯片部分 249

13.4.4 DS18B20芯片部分 251

13.4.5 数据计算部分 254

习题 255

第14章 井下通信分站设计 256

14.1 硬件电路设计 256

14.1.1 监控分站主要设计目标及参数 256

14.1.2 硬件电路设计方案 257

14.2 软件方案设计 260

14.2.1 软件总体程序的思路 260

14.2.2 RS485接口的使用及程序流程 264

14.2.3 CAN数据传输 267

14.2.4 OLED显示 270

14.2.5 键盘输入 273

习题 275

第15章 无线电能功率传输系统的设计 276

15.1 设计内容与实现指标 276

15.1.1 设计内容 276

15.1.2 系统设计指标 277

15.2 无线电能传输的基本原理分析 277

15.2.1 无线电能传输的耦合方式 277

15.2.2 磁谐振耦合式无线电能传输的基本原理 279

15.2.3 磁场谐振式无线电能传输系统的组成 280

15.2.4 实现传输的关键装置 281

15.3 无线电能传输的特性 282

15.3.1 频率特性对无线电能传输系统的影响 282

15.3.2 能量发射线圈设计对无线电能传输系统的影响 284

15.3.3 电容补偿对无线能量传输系统性能的影响 287

15.4 系统方案确定及电路设计 288

15.4.1 系统结构组成 288

15.4.2 主要拓扑电路的选择与设计 289

15.4.3 MOS管驱动设计 291

15.4.4 线圈和电容的设计 293

15.4.5 接收端高频整流的设计 294

15.4.6 控制电路的设计 295

15.4.7 程序的设计 295

15.5 调试与验证 298

15.5.1 系统的调试 298

15.5.2 测量结果与结论分析 298

习题 300

第16章 四旋翼飞行器设计 301

16.1 四旋翼飞行器的结构 301

16.2 四旋翼飞行器的运动控制方法 301

16.3 四旋翼飞行器各部分的工作原理 302

16.3.1 飞行姿态与升力关系 302

16.3.2 飞行姿态的测量 304

16.3.3 加速度传感器工作原理及角度测量 304

16.3.4 陀螺仪传感器工作原理及角度测量 305

16.3.5 磁力计传感器工作原理及测量方法 305

16.4 硬件设计 306

16.4.1 总体设计 306

16.4.2 飞行器主控电路最小系统设计 308

16.4.3 姿态传感器模块 310

16.4.4 无线通信模块 313

16.4.5 定高模块 315

16.4.6 电机及驱动模块 319

16.4.7 遥控器模块 321

16.4.8 电源模块选择 326

16.4.9 四轴飞行器的组装 326

16.5 软件设计 328

16.5.1 软件预备知识 328

16.5.2 主控程序初始化设置及说明 336

16.5.3 姿态传感器软件设计 343

16.5.4 气压计软件设计 354

16.5.5 遥控器软件设计 364

16.6 调试、问题解析及改进方向随想 375

习题 375

第17章 案例设计 376

17.1 STM32的无线传输系统 376

17.1.1 设计任务 376

17.1.2 系统结构组成 376

17.1.3 主要设计思路 377

17.2 风力摆控制系统设计 377

17.2.1 设计任务 378

17.2.2 系统结构组成 378

17.2.3 主要设计思路 379

习题 380

参考文献 381