当前位置:首页 > 工业技术
嵌入式系统及其应用  基于Cortex-M3内核和STM32F系列微控制器的系统设计与开发  第2版
嵌入式系统及其应用  基于Cortex-M3内核和STM32F系列微控制器的系统设计与开发  第2版

嵌入式系统及其应用 基于Cortex-M3内核和STM32F系列微控制器的系统设计与开发 第2版PDF电子书下载

工业技术

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

第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异常与中断 51

2.1.7堆栈 65

2.1.8 CoreSight调试与跟踪系统 68

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

2.2指令系统 73

2.2.1 Thumb-2指令分类 75

2.2.2统一汇编语言 76

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

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

2.2.5条件执行 94

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

2.2.7寄存器域编码Obllll的用途 97

2.2.8寄存器域编码Ob1101的用途 98

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

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

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

习题 129

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

3.1从Cortex-M3到STM32F103 130

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

3.1.2 STM32F103微控制器 131

3.2存储器与总线架构 139

3.2.1存储子系统基本构架 139

3.2.2存储器映像 140

3.2.3位带绑定(Bit-Banding) 144

3.2.4嵌入式闪存 145

3.2.5寄存器说明 155

3.2.6启动配置 158

3.2.7应用实例 159

3.3中断和事件 161

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

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

3.3.3中断寄存器描述 166

3.3.4应用实例 169

3.4 STM32F103x的时钟系统 173

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

习题 178

第4章DMA控制器 179

4.1主要特性 179

4.2功能描述 180

4.2.1 DMA处理 182

4.2.2仲裁器 182

4.2.3 DMA通道 183

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

4.2.5错误管理 187

4.2.6 DMA请求映像 187

4.3 DMA寄存器 188

4.4 DMA应用实例 192

习题 196

第5章 通用和复用功能I/O 198

5.1 GPIO功能描述 198

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

5.1.2原子位设置或位清除 200

5.1.3外部中断/唤醒线 200

5.1.4复用功能(AF) 200

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

5.1.6 GPIO锁定机制 201

5.1.7输入配置与输出配置 201

5.1.8复用功能配置 203

5.1.9模拟输入配置 204

5.2 GPIO寄存器描述 205

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

5.3.1引脚功能选择 207

5.3.2 BXCAN复用功能重映射 207

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

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

5.3.5 USART复用功能重映射 210

5.3.6 I2C复用功能重映射 211

5.3.7 SPI复用功能重映射 211

5.4 AFIO寄存器描述 211

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

5.5.1 GPIO寄存器地址映像 214

5.5.2 AFIO寄存器地址映像 215

5.6应用实例 215

习题 217

第6章STM32高级定时器原理与应用 218

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

6.1.1完全硬件实现 218

6.1.2纯软件方式 219

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

6.2 STM32高级定时/计数器 220

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

6.2.2高级定时器概述 221

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

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

6.4.1定时器的时基信号 239

6.4.2重复计数器 245

6.4.3定时器定时应用实例 246

6.4.4输入捕获 247

6.4.5输出比较模式 248

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

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

习题 258

第7章STM32的USART模块 259

7.1串行通信概述 259

7.2串行通信的基本原理 259

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

7.2.2 RS232C的连接 261

7.2.3流控和握手 262

7.2.4分帧和组帧 263

7.2.5错误检测和CRC校验 263

7.2.6 RS485 264

7.3 STM32F103的串行通信模块 264

7.3.1基本结构和连接 265

7.3.2单字节传输 266

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

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

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

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

7.3.7关于传输错误 272

7.3.8多处理器通信 273

7.3.9校验控制 273

7.3.10 LIN模式 273

7.3.11 USART同步模式 273

7.3.12单线半双工通信 274

7.3.13智能卡 274

7.3.14 IrDA SIR ENDEC功能块 275

7.3.15利用DMA实现连续通信 276

7.3.16中断请求 277

7.4 USART寄存器描述 278

7.5 USART应用实例分析 286

习题 289

第8章STM32的SPI模块 290

8.1串行外设接口概述 290

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

8.2.1主从式连接架构 291

8.2.2接口信号线介绍 292

8.2.3数据传输的时序模式 293

8.2.4多个从机的连接 294

8.3 STM32FI03的串行外设接口模块 294

8.3.1基本结构和连接 295

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

8.3.3数据帧格式 297

8.3.4 SPI从模式 297

8.3.5 SPI主模式 298

8.3.6状态标志 299

8.3.7 CRC计算 299

8.3.8利用DMA的SPI通信 300

8.3.9错误标志 300

8.3.10中断 301

8.4 SPI寄存器描述 301

8.5 SPI应用实例分析 306

习题 311

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

9.1 12C总线概述 312

9.1.1 I2C总线特点 312

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

9.1.3 I2C总线术语 313

9.2 I2C总线原理 314

9.2.1 I2 C硬件构成 314

9.2.2位传输 315

9.2.3数据传输格式 316

9.3 STM32I2C模块原理 319

9.3.1 STM32I2C模块特点 319

9.3.2 I2C寄存器描述 320

9.3.3 STM32I2C模块的通信实现 330

9.4 STM32I2C扩展EEPROM应用 335

9.4.1概述 336

9.4.2管脚描述 336

9.4.3串行EEPROM芯片的寻址 336

9.4.4写操作方式 337

9.4.5读操作方式 338

9.4.6 STM32I2C模块扩展24C64应用 339

习题 345

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

10.1 CAN总线概述 346

10.1.1 CAN总线通信概述 346

10.1.2 CAN报文传输 348

10.2 STM32的CAN通信模块 350

10.2.1 STM32 bxCAN通信模块概述 350

10.2.2控制寄存器描述 351

10.2.3邮箱寄存器描述 359

10.2.4 CAN过滤器寄存器 363

10.3 STM32 bxCAN模块工作过程 364

10.3.1 bxCAN模块工作模式 364

10.3.2 bxCAN模块数据发送管理 365

10.3.3 bxCAN模块数据接收管理 367

10.3.4 bxCAN模块标识符过滤器 368

10.3.5 bxCAN模块出错管理 370

10.3.6 bxCAN模块位时间特性 370

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

10.4 STM32 CAN应用实例 373

10.4.1 CAN总线硬件设计 373

10.4.2 STM32 CAN通信软件示例 373

习题 378

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

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

11.1.1采样 380

11.1.2量化 380

11.1.3编码 381

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

11.2.1位数 383

11.2.2采样速率 383

11.2.3分辨率 383

11.2.4量化误差 384

11.2.5绝对精度 385

11.2.6相对精度 385

11.2.7偏移误差 385

11.2.8增益误差 385

11.2.9 AD线性误差 386

11.2.10微分非线性 387

11.2.11积分非线性 387

11.2.12输入失调电压 388

11.2.13输入失调电流 388

11.2.14输入阻抗 388

11.2.15增益带宽积GBP 389

11.2.16运放的单位增益带宽 389

11.2.17运放建立时间 389

11.2.18压摆率 390

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

11.3.1电压测量与峰值测量 391

11.3.2单路测量与多路测量 391

11.3.3异步测量和同步测量 391

11.3.4关于电压基准 391

11.3.5查询式A/D 392

11.3.6中断式A/D 393

11.3.7 Timer驱动的周期采样 393

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

11.3.9同步A/D 395

11.3.10 DMA数据传输 395

11.3.11 STM32F103的A/D变换模块 395

11.4 STM32F103 ADC寄存器介绍 397

11.5 STM32F103的ADC模块的使用 405

11.5.1 ADC的使能 405

11.5.2 ADC时钟 405

11.5.3通道选择 405

11.5.4转换模式 406

11.5.5模拟看门狗 406

11.5.6扫描模式 407

11.5.7注入通道管理 407

11.5.8间断模式 408

11.5.9校准 408

11.5.10数据对齐 408

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

11.5.12外部触发转换 409

11.5.13 DMA请求 410

11.5.14双ADC模式 410

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

11.5.16中断 414

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

习题 417

第12章STM32支撑开发环境 418

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

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

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

12.1.3交叉编译与软件调试 419

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

12.2.1 ARM开发工具 421

12.2.2基于Keil MDK的STM32开发环境 422

12.2.3开发环境硬件连接 423

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

12.3 STM32启动文件解析 433

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

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

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

12.5.2设计架构与模式 442

12.5.3低功耗软件设计 444

习题 444

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

13.1综合实验板介绍 445

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

13.2.1电源电路设计 446

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

13.2.3基于I2C总线扩展 447

13.2.4 CAN总线扩展 449

13.2.5 USB总线扩展 450

13.2.6智能卡接口电路 450

13.2.7 I2S扩展音频电路 450

13.2.8 RS232扩展和IrDA扩展 453

13.2.9 SD卡扩展电路 453

13.2.10 TFT液晶扩展电路 453

13.2.11电机扩展接口 454

13.2.12以太网扩展 457

13.2.13 AD电路扩展 457

13.2.14 MCU电路设计 457

13.2.15调试电路设计 458

13.2.16扩展接口 460

习题 462

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

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

14.1.1直流无刷电机结构 463

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

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

14.2.1硬件电路实现 469

14.2.2软件电路实现 475

习题 481

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

15.1需求和目标系统特性 482

15.2硬件设计方案 483

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

15.2.2测量电路 483

15.2.3 MCU和外设电路 484

15.2.4供电电路 485

15.2.5磁保持继电器 486

15.3 STPM10测量集成芯片 486

15.3.1 STPM10测量芯片介绍 486

15.3.2 STPM10与MCU的接口 486

15.3.3使用DMA的SPI读过程 490

15.3.4 STPM10校准 490

15.4账户管理 491

15.5目标机的测试与评估 492

15.5.1目标机 492

15.5.2 AMR的评估 493

习题 494

主要参考文献 495

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