《汽车电子S32K系列微控制器 基于ARM Cortex-M4F内核》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:王宜怀,邵长星,黄熙著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2018
  • ISBN:9787121348419
  • 页数:388 页
图书介绍:全书共分14章,第1章给出汽车电子概述及S32K的基本特性;第2章给出ARM Cortex—M4F的寄存器、指令系统及汇编语法;第3章给出S32K的存储地址映像、中断系统及最小硬件系统;第4章以GPIO为例给出工程框架、第一个C语言实例、第一个汇编语言实例及程序执行过程分析;第5章给出底层驱动构件设计规范;第6章给出串行通信及printf函数的融入方法。1~6章囊括了学习一个新微控制器入门的基本知识要素及基本规范。第7~13章分别给出了Systick、PDB、LPIT、LTMR、RTC、FTM(含输入捕捉、输出比较及PWM)、Flash在线编程、ADC、CMP、SPI、I2C、DMA、CAN等程序设计方法;第14章给出时钟系统及其它模块。

第1章 概述 1

1.1 汽车电子技术的基本概念 1

1.2 我国汽车电子发展概况 2

1.3 恩智浦公司在汽车电子市场中的地位 3

1.4 面向汽车电子的S32K系列微控制器简介 3

1.4.1 S32K系列微控制器的型号标识 4

1.4.2 S32K系列微控制器的简明特性与结构框图 4

1.4.3 S32K系列微控制器的共性资源列表 6

第2章 ARM Cortex-M4F微控制器 7

2.1 ARM Cortex-M4F微控制器简介 7

2.1.1 ARM Cortex-M4F微控制器内部结构概要 8

2.1.2 ARM Cortex-M4F微控制器存储器映像 10

2.1.3 ARM Cortex-M4F微控制器的寄存器 10

2.2 指令系统 14

2.2.1 指令简表与寻址方式 15

2.2.2 数据传送类指令 16

2.2.3 数据操作类指令 18

2.2.4 跳转控制类指令 21

2.2.5 其他指令 22

2.3 指令集与机器码对应表 23

2.4 GNU汇编语言的基本语法 25

2.4.1 ARM-GUN汇编语言格式 26

2.4.2 常用伪指令简介 27

第3章 存储映像、中断源与硬件最小系统 30

3.1 S32K144存储映像与中断源 30

3.1.1 S32K144存储映像 30

3.1.2 S32K144中断源 32

3.2 S32K144的引脚功能 35

3.3.1 硬件最小系统引脚 36

3.2.2 I/O端口资源类引脚 36

3.3 S32K144硬件最小系统原理图 37

3.3.1 电源及其滤波电路 37

3.3.2 复位电路及复位功能 37

3.3.3 晶振电路 38

3.3.4 SWD接口电路 38

第4章 GPIO及程序框架 39

4.1 通用I/O接口的基本概念及连接方法 39

4.1.1 I/O接口的概念 39

4.1.2 通用I/O 40

4.1.3 上拉/下拉电阻与输入引脚的基本接法 40

4.1.4 输出引脚的基本接法 41

4.2 端口控制模块与GPIO模块的编程结构 41

4.2.1 端口控制模块——决定引脚复用功能 41

4.2.2 GPIO模块的对外引脚与内部寄存器 44

4.2.3 GPIO基本编程步骤与基本打通程序 45

4.3 GPIO驱动构件封装方法与规范 46

4.3.1 设计GPIO驱动构件的必要性及GPIO驱动构件封装要点分析 46

4.3.2 底层驱动构件封装规范概要与构件封装的前期准备 48

4.3.3 S32K144的GPIO驱动构件源码及解析 49

4.4 利用构件方法控制LED闪烁 60

4.4.1 light构件设计 60

4.4.2 light构件测试工程主程序 63

4.5 工程文件组织框架与第一个C语言工程分析 65

4.5.1 工程框架及所含文件简介 66

4.5.2 链接文件常用语法及链接文件解析 67

4.5.3 机器码文件解析 71

4.5.4 芯片上电启动运行过程解析 72

4.6 第一个汇编语言工程:控制小灯闪烁 75

4.6.1 汇编工程文件的组织 76

4.6.2 汇编语言GPIO驱动构件及使用方法 76

4.6.3 汇编语言Light构件及使用方法 82

4.6.4 汇编语言Light构件测试工程主程序及汇编工程运行过程 84

第5章 嵌入式硬件构件与底层驱动构件基本规范 86

5.1 嵌入式硬件构件 86

5.1.1 嵌入式硬件构件的概念及其分类 87

5.1.2 基于嵌入式硬件构件的电路原理图设计简明规则 87

5.2 嵌入式底层驱动构件的概念与层次模型 90

5.2.1 嵌入式底层驱动构件的概念 90

5.2.2 嵌入式硬件构件和软件构件的层次模型 91

5.3 底层驱动构件的封装规范 91

5.3.1 构件设计的基本思想与基本原则 92

5.3.2 编码风格基本规范 93

5.3.3 构件公共要素文件 96

5.3.4 头文件的设计规范 98

5.3.5 源文件的设计规范 99

5.4 硬件构件及底层软件构件的重用与移植方法 100

5.4.1 硬件构件在实际系统中的应用 100

5.4.2 底层驱动构件的移植 101

第6章 串行通信模块及第一个中断程序结构 103

6.1 异步串行通信的通用基础知识 103

6.1.1 串行通信的基本概念 104

6.1.2 RS-232总线标准 105

6.1.3 TTL电平到RS-232电平转换电路 106

6.1.4 串行通信编程模型 107

6.2 UART驱动构件及使用方法 108

6.2.1 UART引脚分析 108

6.2.2 UART驱动构件基本要素分析与头文件 109

6.2.3 printf的设置方法与使用 113

6.3 ARM Cortex-M4F中断机制及S32K144中断编程 113

6.3.1 关于中断的通用基础知识 113

6.3.2 ARM Cortex-M4F非内核中断编程结构 115

6.3.3 S32K144中断编程步骤(以串口接收中断为例) 116

6.4 UART驱动构件的设计方法 118

6.4.1 UART模块编程结构 118

6.4.2 UART驱动构件源文件 123

第7章 Timer模块 132

7.1 ARM Cortex-M4F内核定时器(Systick) 132

7.1.1 Systick定时器模块的编程结构 133

7.1.2 Systick驱动构件设计及测试工程 134

7.2 延时定时器(PDB)模块 136

7.2.1 PDB模块功能概述 136

7.2.2 PDB驱动构件及使用方法 136

7.2.3 PDB驱动构件的设计 139

7.3 低功耗中断定时器(LPIT)模块 143

7.3.1 LPIT模块功能概述 143

7.3.2 LPIT驱动构件及使用方法 143

7.3.3 LPIT驱动构件设计 145

7.4 低功耗定时器(LPTMR)模块 150

7.4.1 LPTMR模块功能概述 150

7.4.2 LPTMR驱动构件及使用方法 150

7.4.3 LPTMR驱动构件的设计 152

7.5 实时时钟(RTC)模块 155

7.5.1 RTC模块功能概述 155

7.5.2 RTC驱动构件及使用方法 156

7.5.3 RTC驱动构件的设计 160

第8章 PWM模块和FTM模块 169

8.1 脉宽调制、输入捕捉与输出比较的通用基础知识 169

8.1.1 PWM的通用基础知识 169

8.1.2 输入捕捉与输出比较的通用基础知识 172

8.2 FTM模块的基本知识 172

8.2.1 FTM模块概述 172

8.2.2 FTM模块的技术要点 173

8.3 FTM驱动构件及使用方法 174

8.3.1 FTM模块的脉宽调制、输入捕捉和输出比较的外部引脚 174

8.3.2 FTM驱动构件头文件及使用方法 175

8.4 FTM驱动构件的设计 183

8.4.1 FTM模块编程结构 183

8.4.2 FTM驱动构件设计 187

第9章 Flash模块 196

9.1 Flash存储器的基础知识 196

9.1.1 Flash存储器的特性 196

9.1.2 Flash存储器的编程模式 197

9.1.3 Flash存储器的基本操作 197

9.2 Flash驱动构件及其使用方法 197

9.2.1 Flash驱动构件头文件解析 197

9.2.2 Flash驱动构件的使用方法 200

9.3 Flash保护 201

9.3.1 Flash模块保护的含义及保护函数的使用说明 201

9.3.2 Flash模块加密方法与去除密码方法 202

9.4 Flash驱动构件的设计 203

9.4.1 Flash模块编程结构 203

9.4.2 Flash驱动构件设计技术要点 207

9.4.3 Flash驱动构件封装要点分析 209

9.4.4 Flash驱动构件的源文件(flash.c) 210

第10章 ADC模块与CMP模块 218

10.1 模/数转换器(ADC)模块 218

10.1.1 ADC模块的通用基础知识 218

10.1.2 ADC模块驱动构件及使用方法 221

10.1.3 ADC驱动构件的设计 225

10.2 比较器(CMP)模块 233

10.2.1 CMP模块的通用基础知识 233

10.2.2 CMP驱动构件及使用方法 234

10.2.3 CMP驱动构件的设计 238

第11章 SPI模块与I2C模块 244

11.1 串行外设接口(SPI)模块 244

11.1.1 SPI模块的通用基础知识 244

11.1.2 SPI驱动构件及使用方法 247

11.1.3 SPI驱动构件的设计 252

11.2 集成电路互连(I2C)总线模块 262

11.2.1 I2C模块的通用基础知识 262

11.2.2 I2C驱动构件及使用方法 267

11.2.3 I2C驱动构件的设计 273

第12章 DMA模块 291

12.1 DMA模块通用基础知识 291

12.1.1 DMA模块的基本概念 291

12.2.1 DMA模块的基本操作 292

12.2 DMA驱动构件及其使用方法 293

12.2.1 DMA源 293

12.2.2 DMA驱动构件封装要点 294

12.2.3 DMA驱动构件头文件(dma.h) 295

12.2.4 DMA驱动构件的使用方法 299

12.2.5 DMA驱动构件测试实例 299

12.3 DMA驱动构件的设计 300

12.3.1 DMA模块编程结构 300

12.3.2 DMA驱动构件源程序 309

第13章 FlexCAN模块 314

13.1 CAN总线的基础知识 314

13.1.1 CAN总线协议的历史概况 314

13.1.2 CAN总线硬件系统的典型电路 315

13.1.3 CAN总线协议的基本概念 317

13.1.4 CAN总线规范的帧结构 319

13.1.5 CAN总线的位时间 323

13.1.6 FlexCAN模块的操作模式 324

13.1.7 FlexCAN模块的仲裁处理、匹配处理及报文缓冲区管理 325

13.2 FlexCAN驱动构件及使用方法 326

13.2.1 FlexCAN驱动构件头文件的解析 326

13.2.2 FlexCAN驱动构件的头文件 327

13.2.3 FlexCAN驱动构件的使用方法 330

13.2.4 FlexCAN驱动构件的测试实例 331

13.3 FlexCAN驱动构件的设计 331

13.3.1 FlexCAN模块编程结构 331

13.3.2 FlexCAN驱动构件的源程序 353

第14章 系统时钟与其他功能模块 361

14.1 时钟系统模块 361

14.1.1 时钟系统概述 361

14.1.2 时钟模块概要与编程要点 364

14.2 电源模块 365

14.2.1 电源模式控制 365

14.2.2 电源模式转换 365

14.3 校验模块 366

14.3.1 CRC模块简介 367

14.3.2 CRC校验和的生成步骤 367

14.3.3 CRC模块的主要寄存器 367

14.4 看门狗模块 368

14.5 复位模块 369

14.5.1 上电复位(POR) 369

14.5.2 系统复位源 370

14.5.3 调试复位 371

附录A S32K144芯片引脚复用功能 372

附录B 最小硬件系统原理图 376

附录C printf的常用格式 377

附录D S32DS集成开发环境简明使用方法 380

附录E SWD-Programmer快速指南 384

附录F术语和缩写 386

参考文献 388