《汽车CAN总线系统原理、设计与应用》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:罗峰编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2010
  • ISBN:9787121097775
  • 页数:356 页
图书介绍:本书全面系统的介绍了汽车网络的CAN总线的原理、设计以及应用等方面的内容。全书分为8章,包括CAN总线的基本原理、CAN总线的用、常见的CAN总线收发器、CAN总线在汽车中的应用、汽车CAN总线网络的开发工具,以及汽车网络中的的常见故障和常用的检测技术等。

第1章 绪论 1

1.1 汽车电子技术 1

1.1.1 现代汽车电子技术的发展阶段 1

1.1.2 汽车电子系统的基本构成 2

1.1.3 汽车电子系统网络化 2

1.2 计算机网络 3

1.2.1 计算机网络概述 3

1.2.2 计算机网络体系结构 4

1.2.3 局域网 9

1.3 车载网络通信及现场总线 10

1.3.1 车载网络信号的编码方式 10

1.3.2 车载网络的介质访问控制方式 11

1.3.3 现场总线 13

1.4 现代汽车电子网络系统 14

1.4.1 汽车网络系统结构 14

1.4.2 汽车总线系统 15

第2章 CAN总线基本原理 27

2.1 CAN总线在汽车网络上的应用 27

2.2 CAN总线的基本特点 29

2.3 CAN的分层结构及功能 31

2.4 CAN的消息帧 33

2.5 非破坏性按位仲裁 35

2.6 位填充 36

2.7 CRC校验 37

2.8 远程帧 37

2.9 出错帧 37

2.10 超载帧的规格 38

2.11 帧间空间 39

2.12 CAN物理层 39

2.12.1 物理层的功能模型 40

2.12.2 物理信令(PLS)子层规范 40

2.12.3 物理介质附件子层规范 42

2.13 故障界定与总线管理 45

2.13.1 故障界定 45

2.13.2 故障界定规则 46

2.13.3 总线故障管理 47

2.14 基于时间触发的TTCAN 49

2.14.1 基于CAN的时间触发通信 50

2.14.2 参考时间与参考消息 51

2.14.3 基本循环 52

2.14.4 基本循环及其时间窗 53

2.14.5 系统矩阵 54

2.14.6 利用时间标志进行消息的发送和接收 55

2.14.7 全局系统时间 56

2.14.8 TTCAN的容错功能 57

2.14.9 TTCAN的应用 58

第3章 SAE J1939协议 59

3.1 网络拓扑结构 60

3.2 物理层简介 61

3.3 数据链路层 64

3.3.1 消息/帧格式 64

3.3.2 协议数据单元 68

3.3.3 协议数据单元格式 71

3.3.4 消息类型 72

3.3.5 源地址和参数群编号的分配过程 76

3.3.6 传输协议功能 78

3.3.7 应注意的问题 79

3.4 应用层 80

3.4.1 通信参数定义 80

3.4.2 发动机通信与控制参数 84

3.5 故障诊断 93

3.5.1 诊断故障代码定义 94

3.5.2 故障诊断状态灯 95

3.5.3 故障模式标志FMI 96

3.5.4 诊断故障代码简介 97

3.6 网络管理 102

3.6.1 SAE J1939通信方式 102

3.6.2 电控单元(ECU)的名称和地址 104

3.6.3 节点地址分配 105

第4章 飞思卡尔微控制器与MSCAN 108

4.1 飞思卡尔微控制器 109

4.1.1 飞思卡尔8位微控制器MC9S08DZ60 109

4.1.2 飞思卡尔16位微控制器MC9S12XEP100 112

4.2 飞思卡尔的MSCAN模块 115

4.2.1 MSCAN模块的特性 116

4.2.2 MSCAN模块的结构 117

4.2.3 MSCAN模块相关的寄存器介绍 117

4.2.4 MSCAN模块的报文存储模式 133

4.3 MSCAN模块的功能描述 140

4.3.1 报文存储 140

4.3.2 报文发送基础 140

4.3.3 发送结构 141

4.3.4 接收结构 142

4.3.5 标识符接收滤波器 142

4.3.6 标识符接收滤波器示例 145

4.3.7 协议违反保护 146

4.3.8 时钟系统 146

4.3.9 MSCAN的运行模式 148

4.3.10 MSCAN的低功耗选项 148

4.3.11 MSCAN的休眠模式 149

4.3.12 MSCAN的初始化模式 151

4.3.13 MSCAN的断电模式 152

4.3.14 MSCAN的可编程唤醒功能 152

4.3.15 MSCAN的中断 152

4.3.16 MSCAN的初始化过程 153

4.3.17 总线脱离恢复 154

第5章 MSCAN模块的编程 155

5.1 CodeWarrior软件的下载和安装 155

5.2 CodeWarrior软件的使用和调试方法 156

5.2.1 工程的建立 156

5.2.2 程序的编制和调试 158

5.3 MSCAN初始化程序的编写 162

5.3.1 MSCAN初始化流程 162

5.3.2 MSCAN模块初始化例程 163

5.3.3 完整的MSCAN模块初始化代码 165

5.3.4 MSCAN监听与环路模式的应用 168

5.4 MSCAN发送程序编写 168

5.4.1 MSCAN的发送流程 168

5.4.2 MSCAN报文发送例程 170

5.5 MSCAN接收程序的编写 171

5.5.1 MSCAN接收流程 171

5.5.2 查询方式接收CAN帧例程 172

5.5.3 中断方式接收CAN帧例程 174

5.6 MSCAN的低功耗应用 176

5.6.1 低功耗模式介绍 176

5.6.2 进入低功耗模式 178

5.6.3 MSCAN唤醒 179

5.7 使用Processor Expert对MSCAN模块进行编程 180

5.7.1 带Processor Expert工程的建立 181

5.7.2 Processor Expert中代码的编写 186

5.7.3 Processor Expert帮助文档的使用 189

第6章 基于XGATE模块的CAN通信 190

6.1 XGATE基本特性 190

6.1.1 精简指令集内核 190

6.1.2 XGATE指令集 190

6.1.3 XGATE访问空间 191

6.1.4 事件驱动XGATE线程 191

6.1.5 互斥信号量 192

6.2 XGATE的中断 193

6.2.1 中断向量表 193

6.2.2 XGATE与CPU12X的相互中断 194

6.2.3 中断嵌套 194

6.3 使用及初始化XGATE 194

6.3.1 带XGATE的CodeWarrior工程建立 194

6.3.2 XGATE的启动及初始化过程 196

6.3.3 XGATE的使用例程 199

6.3.4 使用XGATE模块处理CAN接收中断 202

6.3.5 使用XGATE模块实现CAN帧的发送与接收 204

第7章 CAN总线收发器 226

7.1 Freescale低速CAN收发器MC33388 226

7.1.1 MC33388结构说明 226

7.1.2 MC33388功能描述 228

7.1.3 MC33388典型应用 230

7.2 Freescale高速CAN收发器MC33989 231

7.2.1 MC33989结构说明 233

7.2.2 MC33989功能描述 235

7.2.3 MC33989操作模式 236

7.3 Philips的CAN收发器PCA82C250 238

7.3.1 PCA82C250特性 238

7.3.2 封装及引脚 238

7.3.3 工作模式 239

7.3.4 应用举例 240

第8章 CAN Bootloader的实现与应用 242

8.1 CAN Bootloader介绍 242

8.1.1 Bootloader 242

8.1.2 CAN Bootloader 243

8.2 S12系列微控制器Flash介绍 244

8.2.1 存储介质 244

8.2.2 Flash的操作方式 246

8.2.3 与Flash擦写相关的寄存器介绍 247

8.2.4 Flash擦除与写入步骤 252

8.3 下载文件格式介绍 252

8.3.1 S记录格式的结构与类型 252

8.3.2 S记录格式在程序下载中的应用 253

8.4 S12系列微控制器通用CAN Bootloader的编写 258

8.4.1 CAN Bootloader功能描述 258

8.4.2 Flash Bootloader注意事项 260

8.4.3 CAN Bootloader流程 261

8.4.4 CAN Bootloader程序分析 262

8.4.5 S12 CAN Bootloader程序清单 265

8.5 CAN Bootloader的使用 280

第9章 基于CAN总线的标定协议 282

9.1 ASAP标准及ASAM标准组织介绍 282

9.1.1 ASAP标准概述 282

9.1.2 ASAM标准组织及其规范 284

9.2 CCP协议介绍 284

9.2.1 CCP通信方式 284

9.2.2 CCP消息格式 285

9.2.3 DAQ模式下的数据通信 287

9.2.4 CCP命令代码简介 289

9.2.5 ERR代码列表 290

9.2.6 预期运行性能 291

9.3 CCP命令 291

9.3.1 连接命令(CONNECT) 291

9.3.2 交换站标识符(EXCHANGE_ID) 292

9.3.3 申请密钥(GET_SEED) 294

9.3.4 解除保护(UNLOCK) 295

9.3.5 设置MTA地址(SET_MTA) 295

9.3.6 数据下载(DNLOAD) 296

9.3.7 6字节数据下载(DNLOAD_6) 297

9.3.8 数据上传(UPLOAD) 298

9.3.9 数据短上传(SHORT_UP) 298

9.3.10 选择标定数据页(SELECT_CAL_PAGE) 299

9.3.11 获取DAQ列表大小(GET_DAQ_SIZE) 300

9.3.12 设置DAQ列表指针(SET_DAQ_PTR) 301

9.3.13 写入DAQ列表(WRITE_DAQ) 301

9.3.14 开始/终止数据传输(START_STOP) 302

9.3.15 断开(DISCONNECT) 303

9.3.16 设置当前通信状态(SET_S_STATUS) 304

9.3.17 获取当前通信状态(GET_S_STATUS) 305

9.3.18 建立checksum表(BUILD_CHKSUM) 306

9.3.19 清空内存(CLEAR_MEMORY) 307

9.3.20 编程(PROGRAM) 307

9.3.21 6字节数据编程(PROGRAM_6) 308

9.3.22 内存转移(MOVE) 309

9.3.23 诊断服务(DIAG_SERVICE) 309

9.3.24 操作服务(ACTION_SERVICE) 310

9.3.25 连接状态测试(TEST) 311

9.3.26 开始/停止同步数据传输(START_STOP_ALL) 311

9.3.27 获取处于激活状态下的标定页(GET_ACTIVE_CAL_PAGE) 312

9.3.28 获取CCP协议版本(GET_CCP_VERSION) 312

9.4 CCP协议应用实例 313

9.5 CCP协议在ECU端的实现 315

9.5.1 CCP驱动代码介绍 316

9.5.2 ccppar.h头文件介绍 316

9.5.3 ccp.c源代码介绍 317

9.5.4 ECU侧CCP实现程序流程及源代码示例 319

第10章 汽车车身CAN总线系统设计 323

10.1 汽车网络V型开发流程 323

10.2 车身CAN总线系统拓扑结构 324

10.3 网络节点控制功能分析 325

10.3.1 中央控制器 325

10.3.2 左前门控制器 326

10.3.3 右前门控制器 329

10.3.4 左后门控制器 330

10.3.5 右后门控制器 331

10.4 车身网络系统通信协议 331

10.5 车身控制系统硬件设计 337

10.5.1 中央控制器硬件设计 337

10.5.2 左前门控制器硬件设计 341

10.6 Mentor Graphics的汽车网络设计与测试工具 344

10.6.1 Volcano车载网络设计与开发平台 345

10.6.2 VNA在汽车CAN网络设计中的应用 348

10.6.3 Tellus在汽车CAN网络测试中的应用 350

参考文献 355