第1章 绪论
1.1 汽车电子技术
1.1.1 现代汽车电子技术的发展阶段
1.1.2 汽车电子系统的基本构成
1.1.3 汽车电子系统网络化
1.2 计算机网络
1.2.1 计算机网络概述
1.2.2 计算机网络体系结构
1.2.3 局域网
1.3 车载网络通信及现场总线
1.3.1 车载网络信号的编码方式
1.3.2 车载网络的介质访问控制方式
1.3.3 现场总线
1.4 现代汽车电子网络系统
1.4.1 汽车网络系统结构
1.4.2 汽车总线系统
第2章 CAN总线基本原理
2.1 CAN总线在汽车网络上的应用
2.2 CAN总线的基本特点
2.3 CAN的分层结构及功能
2.4 CAN的消息帧
2.5 非破坏性按位仲裁
2.6 位填充
2.7 CRC校验
2.8 远程帧
2.9 出错帧
2.10 超载帧的规格
2.11 帧间空间
2.12 CAN物理层
2.12.1 物理层的功能模型
2.12.2 物理信令(PLS)子层规范
2.12.3 物理介质附件子层规范
2.13 故障界定与总线管理
2.13.1 故障界定
2.13.2 故障界定规则
2.13.3 总线故障管理
2.14 基于时间触发的TTCAN
2.14.1 基于CAN的时间触发通信
2.14.2 参考时间与参考消息
2.14.3 基本循环
2.14.4 基本循环及其时间窗
2.14.5 系统矩阵
2.14.6 利用时间标志进行消息的发送和接收
2.14.7 全局系统时间
2.14.8 TTCAN的容错功能
2.14.9 TTCAN的应用
第3章 SAE J1939协议
3.1 网络拓扑结构
3.2 物理层简介
3.3 数据链路层
3.3.1 消息
3.3.2 协议数据单元
3.3.3 协议数据单元格式
3.3.4 消息类型
3.3.5 源地址和参数群编号的分配过程
3.3.6 传输协议功能
3.3.7 应注意的问题
3.4 应用层
3.4.1 通信参数定义
3.4.2 发动机通信与控制参数
3.5 故障诊断
3.5.1 诊断故障代码定义
3.5.2 故障诊断状态灯
3.5.3 故障模式标志FMI
3.5.4 诊断故障代码简介
3.6 网络管理
3.6.1 SAE J1939通信方式
3.6.2 电控单元(ECU)的名称和地址
3.6.3 节点地址分配
第4章 飞思卡尔微控制器与MSCAN
4.1 飞思卡尔微控制器
4.1.1 飞思卡尔8位微控制器MC9S08DZ60
4.1.2 飞思卡尔16位微控制器MC9S12XEP100
4.2 飞思卡尔的MSCAN模块
4.2.1 MSCAN模块的特性
4.2.2 MSCAN模块的结构
4.2.3 MSCAN模块相关的寄存器介绍
4.2.4 MSCAN模块的报文存储模式
4.3 MSCAN模块的功能描述
4.3.1 报文存储
4.3.2 报文发送基础
4.3.3 发送结构
4.3.4 接收结构
4.3.5 标识符接收滤波器
4.3.6 标识符接收滤波器示例
4.3.7 协议违反保护
4.3.8 时钟系统
4.3.9 MSCAN的运行模式
4.3.10 MSCAN的低功耗选项
4.3.11 MSCAN的休眠模式
4.3.12 MSCAN的初始化模式
4.3.13 MSCAN的断电模式
4.3.14 MSCAN的可编程唤醒功能
4.3.15 MSCAN的中断
4.3.16 MSCAN的初始化过程
4.3.17 总线脱离恢复
第5章 MSCAN模块的编程
5.1 CodeWarrior软件的下载和安装
5.2 CodeWarrior软件的使用和调试方法
5.2.1 工程的建立
5.2.2 程序的编制和调试
5.3 MSCAN初始化程序的编写
5.3.1 MSCAN初始化流程
5.3.2 MSCAN模块初始化例程
5.3.3 完整的MSCAN模块初始化代码
5.3.4 MSCAN监听与环路模式的应用
5.4 MSCAN发送程序编写
5.4.1 MSCAN的发送流程
5.4.2 MSCAN报文发送例程
5.5 MSCAN接收程序的编写
5.5.1 MSCAN接收流程
5.5.2 查询方式接收CAN帧例程
5.5.3 中断方式接收CAN帧例程
5.6 MSCAN的低功耗应用
5.6.1 低功耗模式介绍
5.6.2 进入低功耗模式
5.6.3 MSCAN唤醒
5.7 使用Processor Expert对MSCAN模块进行编程
5.7.1 带Processor Expert工程的建立
5.7.2 Processor Expert中代码的编写
5.7.3 Processor Expert帮助文档的使用
第6章 基于XGATE模块的CAN通信
6.1 XGATE基本特性
6.1.1 精简指令集内核
6.1.2 XGATE指令集
6.1.3 XGATE访问空间
6.1.4 事件驱动XGATE线程
6.1.5 互斥信号量
6.2 XGATE的中断
6.2.1 中断向量表
6.2.2 XGATE与CPU12X的相互中断
6.2.3 中断嵌套
6.3 使用及初始化XGATE
6.3.1 带XGATE的CodeWarrior工程建立
6.3.2 XGATE的启动及初始化过程
6.3.3 XGATE的使用例程
6.3.4 使用XGATE模块处理CAN接收中断
6.3.5 使用XGATE模块实现CAN帧的发送与接收
第7章 CAN总线收发器
7.1 Freescale低速CAN收发器MC33388
7.1.1 MC33388结构说明
7.1.2 MC33388功能描述
7.1.3 MC33388典型应用
7.2 Freescale高速CAN收发器MC33989
7.2.1 MC33989结构说明
7.2.2 MC33989功能描述
7.2.3 MC33989操作模式
7.3 Philips的CAN收发器PCA82C250
7.3.1 PCA82C250特性
7.3.2 封装及引脚
7.3.3 工作模式
7.3.4 应用举例
第8章 CAN Bootloader的实现与应用
8.1 CAN Bootloader介绍
8.1.1 Bootloader
8.1.2 CAN Bootloader
8.2 S12系列微控制器Flash介绍
8.2.1 存储介质
8.2.2 Flash的操作方式
8.2.3 与Flash擦写相关的寄存器介绍
8.2.4 Flash擦除与写入步骤
8.3 下载文件格式介绍
8.3.1 S记录格式的结构与类型
8.3.2 S记录格式在程序下载中的应用
8.4 S12系列微控制器通用CAN Bootloader的编写
8.4.1 CAN Bootloader功能描述
8.4.2 Flash Bootloader注意事项
8.4.3 CAN Bootloader流程
8.4.4 CAN Bootloader程序分析
8.4.5 S12 CAN Bootloader程序清单
8.5 CAN Bootloader的使用
第9章 基于CAN总线的标定协议
9.1 ASAP标准及ASAM标准组织介绍
9.1.1 ASAP标准概述
9.1.2 ASAM标准组织及其规范
9.2 CCP协议介绍
9.2.1 CCP通信方式
9.2.2 CCP消息格式
9.2.3 DAQ模式下的数据通信
9.2.4 CCP命令代码简介
9.2.5 ERR代码列表
9.2.6 预期运行性能
9.3 CCP命令
9.3.1 连接命令(CONNECT)
9.3.2 交换站标识符(EXCHANGE_ID)
9.3.3 申请密钥(GET_SEED)
9.3.4 解除保护(UNLOCK)
9.3.5 设置MTA地址(SET_MTA)
9.3.6 数据下载(DNLOAD)
9.3.7 6字节数据下载(DNLOAD_6)
9.3.8 数据上传(UPLOAD)
9.3.9 数据短上传(SHORT_UP)
9.3.10 选择标定数据页(SELECT_CAL_PAGE)
9.3.11 获取DAQ列表大小(GET_DAQ_SIZE)
9.3.12 设置DAQ列表指针(SET_DAQ_PTR)
9.3.13 写入DAQ列表(WRITE_DAQ)
9.3.14 开始
9.3.15 断开(DISCONNECT)
9.3.16 设置当前通信状态(SET_S_STATUS)
9.3.17 获取当前通信状态(GET_S_STATUS)
9.3.18 建立checksum表(BUILD_CHKSUM)
9.3.19 清空内存(CLEAR_MEMORY)
9.3.20 编程(PROGRAM)
9.3.21 6字节数据编程(PROGRAM_6)
9.3.22 内存转移(MOVE)
9.3.23 诊断服务(DIAG_SERVICE)
9.3.24 操作服务(ACTION_SERVICE)
9.3.25 连接状态测试(TEST)
9.3.26 开始
9.3.27 获取处于激活状态下的标定页(GET_ACTIVE_CAL_PAGE)
9.3.28 获取CCP协议版本(GET_CCP_VERSION)
9.4 CCP协议应用实例
9.5 CCP协议在ECU端的实现
9.5.1 CCP驱动代码介绍
9.5.2 ccppar.h头文件介绍
9.5.3 ccp.c源代码介绍
9.5.4 ECU侧CCP实现程序流程及源代码示例
第10章 汽车车身CAN总线系统设计
10.1 汽车网络V型开发流程
10.2 车身CAN总线系统拓扑结构
10.3 网络节点控制功能分析
10.3.1 中央控制器
10.3.2 左前门控制器
10.3.3 右前门控制器
10.3.4 左后门控制器
10.3.5 右后门控制器
10.4 车身网络系统通信协议
10.5 车身控制系统硬件设计
10.5.1 中央控制器硬件设计
10.5.2 左前门控制器硬件设计
10.6 Mentor Graphics的汽车网络设计与测试工具
10.6.1 Volcano 车载网络设计与开发平台
10.6.2 VNA在汽车CAN网络设计中的应用
10.6.3 Tellus在汽车CAN网络测试中的应用
参考文献