《汽车嵌入式微控制器原理及应用 英飞凌XC2000家族MCU》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:程夕明编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2013
  • ISBN:9787121214158
  • 页数:476 页
图书介绍:本书结合实际开发经验,在英飞凌科技公司有关数据手册基础上,详细介绍16位/32位微控制器XC2000家族的工作原理及其使用方法。以XC2200N系列微控制器为例设计了满足实际工程开发的最小硬件系统,并给出了永磁无刷直流电机的应用例程。同时,从工程开发的角度,介绍了汽车嵌入式实时控制系统的开发方法、流程和工具,帮助读者快速进入实际的设计流程和开发实践。

第1章 绪论 1

1.1英飞凌嵌入式微控制器的类型 1

1.2英飞凌XC2000家族汽车嵌入式微控制器的主要特点及应用领域 2

1.2.1基本特性 2

1.2.2功能延展性 4

1.2.3开发工具 6

1.2.4应用领域 7

1.3英飞凌TriCoreTM系列汽车嵌入式微控制器的特性简介 12

1.3.1 TriCoreTM TC1.6内核 13

1.3.2外设控制处理器(PCP2) 14

1.3.3存储器及其保护 14

1.3.4一般外设模块 14

1.3.5新型外设模块 15

第2章 系统架构和中央处理单元 17

2.1体系结构 17

2.1.1系统架构 17

2.1.2系统内核 18

2.1.3资源接口 18

2.2中央处理单元(CPU) 19

2.2.2标准特殊功能寄存器(CSFR) 21

2.2.3通用寄存器(GPR)及其使用 30

2.2.4指令读取与流水线处理 32

2.2.5标准数据处理 33

2.3 DSP数据处理单元MAC 36

2.3.1 MAC单元概述 36

2.3.2 MAC单元的功能模块 37

2.3.3 MAC单元状态字MSW 38

第3章 存储器组织与保护 40

3.1存储器概述 40

3.2数据及代码的存储方式 41

3.2.1寄存器区 41

3.2.2 SFR区 42

3.2.3全局GPR组区 42

3.2.4 IMB寄存器区 43

3.2.5 PEC指针 43

3.3 I/O区 43

3.4数据存储区 44

3.4.1 DRPAM 44

3.4.2 DSRAM 44

3.4.3数据保持存储器 44

3.4.4系统堆栈 44

3.5内部程序存储器区 45

3.5.1 PSRAM 45

3.5.2非易失性程序存储器(Flash/ROM) 46

3.5.3 Flash程序存储器 46

3.6外部存储空间及其接口控制 49

3.6.1外部存储器概述 49

3.6.2外部总线控制器 49

3.6.3外部总线访问接口 50

3.6.4地址窗 50

3.6.5 LxBUS访问 52

3.6.6 EBC的关闭 52

3.6.7存储器边界越界 52

3.7存储器保护与校验 53

3.7.1存储器的数据保护 53

3.7.2存储器的数据校验 54

3.7.3 RAM保护 54

3.7.4寄存器保护 55

3.8存储器寄存器 55

3.8.1 IMB寄存器 55

3.8.2 SBRAM寄存器 61

第4章 系统中断与事件控制 66

4.1中断类型与结构 66

4.1.1中断系统的类型 66

4.1.2中断系统的结构 66

4.2中断与事件寄存器 67

4.2.1中断控制寄存器 67

4.2.2 PEC寄存器 70

4.3中断仲裁 72

4.4中断控制 73

4.4.1中断优先级与组优先级 74

4.4.2全局中断控制功能 74

4.4.3中断类管理 75

4.4.4中断向量表 75

4.4.5快速中断 75

4.4.6 CPU状态保存 76

4.4.7 CPU上下文切换 76

4.4.8软件强制中断 77

4.4.9硬件强制中断 77

4.5 PEC 79

4.5.1 PEC介绍 79

4.5.2 PEC源和目的指针 80

4.5.3 PEC通道控制 81

4.5.4 PEC中断 81

4.6外部中断及OCDS请求 82

4.6.1外部中断 82

4.6.2 OCDS请求 82

第5章 系统控制单元 83

5.1 SCU寄存器 83

5.1.1时钟配置寄存器 83

5.1.2 PLL寄存器 84

5.1.3系统时钟控制寄存器 87

5.1.4 STM寄存器 89

5.1.5 WUT寄存器 89

5.1.6复位控制器寄存器 90

5.1.7 ESR寄存器 93

5.1.8电源电压寄存器 96

5.1.9 GSC寄存器 100

5.1.10启动寄存器 103

5.1.11 ERU寄存器 103

5.1.12中断及强制中断控制寄存器 105

5.1.13 WDT内核寄存器 114

5.1.14存储器保护寄存器 115

5.1.15寄存器保护寄存器 119

5.1.16其他寄存器 119

5.2时钟产生 122

5.2.1结构与功能 122

5.2.2振荡器输入 123

5.2.3锁相环 124

5.2.4时钟输出控制 127

5.2.5系统时钟紧急处理 128

5.3定时控制 128

5.3.1系统定时器 128

5.3.2唤醒定时器 128

5.3.3看门狗定时器 129

5.4电源管理 131

5.4.1电源域 131

5.4.2电源电压及控制功能 131

5.4.3电压看门狗 131

5.4.4省电机制 132

5.5系统复位 132

5.5.1复位架构 132

5.5.2复位类型 132

5.5.3一般复位操作 133

5.5.4复位寄存器 134

5.5.5复位请求触发源 134

5.5.6 ESR引脚的复位功能 134

5.6外设模式控制 134

5.6.1 GSC控制流 135

5.6.2请求源仲裁 135

5.6.3命令的使用 135

5.6.4挂起控制流 135

5.7外部请求控制 136

5.7.1概述 136

5.7.2输入连接 137

5.7.3功能模块 137

5.7.4触发组合及其中断产生 138

5.7.5序列检测及其中断产生 139

5.8 SCU中断 139

5.8.1一般中断 139

5.8.2强制中断 140

第6章 输入/输出端口、系统调试与启动配置 141

6.1通用输入/输出端口 141

6.1.1 GPIO概述 141

6.1.2 GPIO的寄存器 141

6.1.3端口描述 144

6.2片上调试系统 145

6.2.1 OCDS概述 145

6.2.2调试接口 146

6.3启动配置和引导程序加载 148

6.3.1启动模式配置与选择 148

6.3.2存储器启动模式 150

6.3.3引导程序加载 150

第7章 实时时钟 152

7.1 RTC功能描述 152

7.2 RTC寄存器 152

7.2.1 RTC控制寄存器 152

7.2.2 RTC中断寄存器 154

7.2.3 RTC计数寄存器及其重载寄存器 154

7.3 RTC工作原理 156

7.3.1概述 156

7.3.2时钟模式 156

7.3.3复位状态 156

7.3.4运行控制 157

7.3.5 RTC中断 157

7.3.6 48位定时器 157

7.3.7 RTC定时器校准 157

7.3.8 RTC寄存器读写访问 158

第8章 通用定时器 159

8.1 GPT的基本功能 159

8.2 GPT的寄存器 159

8.2.1 GPT控制寄存器 159

8.3定时器模块GPT1的工作原理 164

8.3.1 GPT1定时器模块结构与功能描述 164

8.3.2运行控制 165

8.3.3计数方向控制 165

8.3.4定时器T3输出翻转锁存 166

8.3.5工作模式 166

8.4定时器模块GPT2的工作原理 170

8.4.1 GPT2的结构与功能描述 170

8.4.2寄存器CAPREL的工作模式 171

8.4.3组合捕获模式 173

8.4.4 GPT12的中断控制 173

8.5 GPT12的时钟信号控制 173

8.5.1 GPT1定时器模块的时钟信号控制 173

8.5.2 GPT2定时器模块的时钟信号控制 174

第9章 模数转换器 175

9.1 ADC的结构与功能 175

9.1.1 ADC结构 175

9.1.2基本功能 176

9.2 ADC寄存器 177

9.2.1 ADC的一般寄存器 177

9.2.2 ADC的仲裁器寄存器 179

9.2.3 ADC的通道寄存器 180

9.2.4 ADC的结果寄存器 182

9.2.5 ADC的请求源寄存器 185

9.2.6队列寄存器 186

9.2.7 ADC的附加特性寄存器 189

9.3 ADC的工作原理 191

9.3.1模式控制 191

9.3.2模块激活和省电模式 192

9.3.3 ADC模块时钟 193

9.3.4请求源 193

9.3.5请求源仲裁器 194

9.3.6扫描请求源处理 196

9.3.7通道转换控制 199

9.3.8转换结果处理 201

9.3.9 ADC事件中断 205

9.3.10外部复用器控制 208

9.3.11同步转换 209

9.3.12等间隔采样 210

9.3.13断线检测 211

第10章 捕获与比较单元2 212

10.1 CAPCOM2的结构与功能 212

10.1.1 CAPCOM2的结构 212

10.1.2 CAPCOM2的基本功能 213

10.2 CAPCOM2的寄存器 213

10.2.1 CAPCOM2的控制寄存器 213

10.2.2 CAPCOM2的中断控制寄存器 216

10.2.3 CAPCOM2的数据寄存器 216

10.3 CAPCOM2的工作原理 217

10.3.1比较输出的时序工作模式 217

10.3.2定时器的工作模式 217

10.3.3捕获/比较通道 218

10.3.4捕获模式操作 219

10.3.5比较模式操作 219

10.3.6双寄存器比较模式操作 223

10.3.7比较输出信号的产生 225

10.3.8单次事件操作 225

10.3.9对外部输入信号的要求 226

10.3.10 CAPCOM2模块的中断 226

第11章 捕获与比较单元6 227

11.1 CCU6的结构与功能 227

11.1.1 CCU6的结构 227

11.1.2 CCU6的基本功能 228

11.1.3模式控制 228

11.2 CCU6的寄存器 230

11.2.1通用控制寄存器 230

11.2.2捕获/比较控制寄存器 231

11.2.3调制功能寄存器 235

11.2.4多通道模式输出映射寄存器 237

11.2.5中断控制/状态寄存器 238

11.2.6 T12数据寄存器 243

11.2.7 T13数据寄存器 244

11.3定时器T12的工作原理 245

11.3.1结构和功能 245

11.3.2工作模式 247

11.3.3比较模式输出路径 253

11.3.4捕获模式 256

11.3.5映射寄存器传送 258

11.4定时器T13的工作原理 259

11.4.1结构与功能 259

11.4.2计数操作 261

11.4.3比较模式 262

11.4.4比较模式输出路径 264

11.4.5映射寄存器传送 265

11.5霍尔传感器模式 265

11.5.1功能描述 266

11.5.2霍尔序列评估 266

11.5.3霍尔序列比较逻辑 267

11.5.4霍尔模式标志位 268

11.5.5实现无刷直流电机控制的霍尔模式 268

11.6中断处理 269

11.6.1中断结构 269

11.6.2中断请求源和中断事件 270

第12章 通用串行接口 271

12.1结构与功能 271

12.1.1 USIC功能 271

12.1.2 USIC结构 272

12.2 USIC的寄存器 276

12.2.1模块寄存器 276

12.2.2通道寄存器 277

12.2.3波特率发生器寄存器 279

12.2.4输入控制寄存器 280

12.2.5传送控制和状态寄存器 281

12.2.6协议相关寄存器 284

12.2.7数据缓存寄存器 285

12.2.8 FIFO缓存寄存器 288

12.3 USIC的工作原理 295

12.3.1 USIC通道的操作 295

12.3.2通道事件和中断 296

12.3.3 USIC的输入级 298

12.3.4波特率发生器 299

12.3.5发送数据通路 302

12.3.6接收数据通路 305

12.3.7 FIFO数据缓存 305

12.3.8 FIFO缓存事件和中断 309

12.4异步串行通道(UART)及其USIC操作 310

12.4.1信号描述 310

12.4.2 UART帧格式 311

12.4.3 UART协议寄存器 313

12.4.4 UART协议的USIC操作 315

12.4.5 LIN的硬件支持 319

12.5同步串行通道(SPI/SSC)及其USIC操作 320

12.5.1信号描述 320

12.5.2 SPI/SSC协议寄存器 323

12.5.3 SPI/SSC协议的USIC操作 325

12.5.4 SPI/SSC的主控模式 327

12.5.5 SPI/SSC的从控模式 330

12.5.6 SPI/SSC协议事件中断 330

12.6 I2C总线协议及其USIC操作 331

12.6.1信号描述 331

12.6.2帧格式及符号时序 332

12.6.3 I2C协议寄存器 335

12.6.4 I2C协议的USIC操作 337

12.6.5数据流处理 340

12.6.6 I2C协议中断事件 342

第13章 局域网控制器(MultiCAN) 343

13.1结构与功能 343

13.1.1 MultiCAN特性 343

13.1.2模块结构与频率控制 344

13.1.3模式控制 346

13.1.4中断结构 348

13.2 MultiCAN的寄存器 348

13.2.1寄存器类型及其相对地址 348

13.2.2通用模块控制寄存器 350

13.2.3面板命令控制寄存器 352

13.2.4模块设置寄存器 353

13.2.5节点寄存器 356

13.2.6报文对象寄存器 361

13.3 MultiCAN模块的操作 368

13.3.1 CAN节点控制 368

13.3.2报文对象列表结构 370

13.3.3 CAN节点分析模式 373

13.3.4报文后处理接口 375

13.3.5报文对象数据处理 376

13.3.6报文对象功能 380

第14章 汇编指令系统 385

14.1寻址模式 385

14.1.1寻址模式概述 385

14.1.2操作数类型 385

14.2指令的数据类型及条件码 385

14.2.1数据类型 385

14.2.2数字的表示和舍入 386

14.2.3条件码 386

14.3汇编指令 386

14.3.1指令格式 386

14.3.2算术运算指令 387

14.3.3逻辑运算指令 388

14.3.4比较和循环控制指令 388

14.3.5布尔位操作指令 388

14.3.6移位指令 389

14.3.7数据传送指令 389

14.3.8系统堆栈指令 389

14.3.9跳转指令 390

14.3.10子程序调用指令 390

14.3.11子程序返回指令 390

14.3.12系统控制指令 391

14.3.13优化指令 391

第15章 最小系统的硬件设计 392

15.1 XC2238N微控制器概述 392

15.1.1基本特性 392

15.1.2 XC2238N的芯片引脚 393

15.1.3电气特性 394

15.2电源、复位与时钟电路设计 396

15.2.1电源电路 396

15.2.2复位电路 397

15.2.3外部振荡器电路 397

15.3调试系统电路接口与配置 398

15.3.1 JTAG调试接口 398

15.3.2 DAP调试接口 399

15.3.3启动模式接口电路配置 400

15.4 SCH和PCB设计概要 401

15.4.1 XC2238N最小系统原理图 401

15.4.2空引脚处理 401

15.4.3电源和晶振PCB布置 403

第16章 嵌入式C程序开发方法 404

16.1开发流程 404

16.2数字应用虚拟工程师(DAvE) 405

16.2.1 DAvE的安装 405

16.2.2 DAvE的应用简介 406

16.2.3目标系统扫描 409

16.3集成开发环境(IDE) 410

16.3.1 TASKING编译器简介 410

16.3.2 TASKING VX-toolset的安装与应用简介 411

16.3.3 KEIL编译器 414

16.4调试器/仿真器 414

16.4.1 iSYSTEM 415

16.4.2 LAUTERBACH 424

16.4.3其他调试开发工具 426

16.5编程工具 427

16.5.1 Memtool 427

16.5.2 SMH 427

16.5.3 Xeltek 427

16.5.4 HiLo 428

第17章 嵌入式C语言代码设计 429

17.1数据类型与变量 429

17.1.1数据类型 429

17.1.2常量与变量 430

17.2存储器的使用规则 431

17.2.1存储器类型修饰符 431

17.2.2带存储器类型修饰符的指针 432

17.2.3存储器模式 432

17.2.4绝对地址的分配 433

17.2.5位访问 433

17.3函数的使用规则 435

17.3.1函数的调用声明 435

17.3.2函数的返回地址声明 435

17.3.3函数的参数传递规则 435

17.3.4函数的返回值规则 436

17.3.5堆栈的使用 436

17.3.6通用寄存器的使用 437

17.3.7中断函数 438

17.4修饰符及pragma预处理命令 438

17.4.1 auto修饰符 438

17.4.2 static修饰符 439

17.4.3 register修饰符 439

17.4.4 extern修饰符 439

17.4.5 void修饰符 440

17.4.6 volatile修饰符 440

17.4.7 pragma预处理命令 441

17.5工程 442

17.5.1 DAvE创建的工程文件结构 442

17.5.2 TASKING VX-toolset中生成的工程文件 443

17.6汽车嵌入式系统C语言设计的MISRA规则 444

17.6.1环境 444

17.6.2编程语言扩展 444

17.6.3文件 444

17.6.4字符集 445

17.6.5标识符 445

17.6.6类型 445

17.6.7常数 445

17.6.8声明和定义 445

17.6.9初始化 446

17.6.10算术类型转换 446

17.6.11指针类型转换 446

17.6.12表达式 446

17.6.13控制语句表达式 447

17.6.14控制流程 447

17.6.15开关语句 448

17.6.16函数 448

17.6.17指针和数组 448

17.6.18结构和联合 448

17.6.19预处理命令 449

17.6.20标准库 449

17.6.21运行时间失败 450

第18章 汽车嵌入式实时系统应用 451

18.1系统概述 451

18.2功能实现 452

18.2.1 GPT1/CAN/ADC/USIC模块功能 452

18.2.2 CCU6模块 453

18.3 DAvE配置方法 454

18.3.1配置GPT1模块 454

18.3.2配置MultiCAN模块 456

18.3.3配置USIC模块 460

18.3.4配置ADC模块 462

18.3.5配置CCU60模块 463

18.3.6配置中断优先级 469

18.4代码编译 470

18.4.1添加用户代码到GPT模块5ms中断函数 470

18.4.2添加用户代码到CAN接收中断函数 470

18.4.3添加用户代码到USIC0 CH0接收中断函数 470

18.4.4添加用户代码到ADC0结果寄存器0中断函数 471

18.4.5添加用户代码到CCU60中断函数 471

附录A 缩略语 473

参考文献 476