CAN总线在混合动力汽车中的应用研究
引言
上世纪90年代以来,随着对汽车功能要求的不断提高和汽车控制技术的发展,在汽车设计领域,CAN总线几乎成为一种必须采用的技术手段,不仅在一些高级轿车,而且在经济型轿车中进入了实用化阶段。CAN总线规范是目前唯一有国际标准的现场总线,并得到Intel、Motorola、Philips、TI、Infineon等许多半导体制造厂商的支持,推出各种集成有CAN协议的产品。
CAN总线不仅用于汽车电气系统的现场总线,而且由于网络控制的发展以及它所具有的优秀性能和高可靠性而越来越受到工业界的重视。
1 CAN总线的特点及通信协议
CAN总线是一种串行数据通信协议。在CAN总线接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理。CAN协议废除了传统的站地址编码,而代之以对通信数据块进行编码,数据块的标识码可由1 1位或29位二进制数组成。按数据块的编码方式,可使不同的节点同时接收到相同的数据;数据段长度最多为8个字节,可满足通常工业领域和汽车行业中控制命令、工作状态以及测试数据的一般要求,保证通信的实时性;CAN协议采用CRC校验并可提供相应的错误处理功能,保证数据通信的可靠性;采用非破坏性仲裁技术:当多个节点同时向总线上发送信息出现冲突时,优先级较低的节点会主动退出发送,而最高优先级的节点可不受影响继续传送数据,从而大大节省了总线冲突仲裁时间,尤其在网络负载很重的情况下,也不会出现网络瘫痪。
CAN通信协议规定了4种不同的帧格式,即数据帧、远程帧、错误帧和超载帧。基于以下基本规则进行通信协调:总线访问、仲裁、编码/解码、出错标注、超载标注。
J1939是一种支持闭环控制的在多个ECU之间高速通信的网络协议。在CAN总线通信协议2.OB之上具体实现了应用层,成为载货车和大客车广泛使用的通信标准。任何遵循同一J1939/0X(X=1,2,...,用来表示不同的版本或应用范围)文件规定的电子控制单元(ECU)均可通过网络实现通讯。SAEJ1939使用PDU(用于确定分配到数据域的参数组编码)封装和实施CAN的标准格式(表1),具体定义如下:协议数据单元PDU由优先权P、参数组号(PGN)、源地址SA和数据DATA组成。参数组号PGN又由保留位R、数据页DP、PDU格式PF和PDU特性域PS组成。J1939/71应用层文档定义了车辆控制的各种参数及命令的PGN。本文参考J1939协议,采用29位ID的编码方式。
表1 SAE J1939的PDU封装格式
2 基于CAN通信的XL2000轻度混合动力控制系统实现
2.1 XL2000轻度混合动力系统原理框图及控制网络要求
系统在台架上的调试原理如图1所示。原夏利2000的4缸1.3L汽油机换成3缸1.OL TJ376QE汽油机,该汽油机的飞轮被替换为一个10kW永磁电机,既可以工作在电动模式提供输出扭矩也可以工作在发电模式提供电能。发动机的节气门被改造为电控节气门,接受主控制器控制。主控制器通过控制电控节气门开度和管理电控喷油器功率回路,实现对发动机的力矩控制和启停管理。主控制器、电机控制器和电池管理系统通过CAN总线交换信息,以实现传感器测量数据的共享、控制指令的发送和接收等,并执行各自的控制功能,从而提高系统的控制性能。它们之间的通信与信息类型为信息类和控制类。
图1系统调试原理框图
2.2节点设计
考虑开发的便利性、快速性以及成本的考虑,尽量发挥各自的开发优势,系统中使用的控制器有Motorola公司的M68376、TI公司的DSP内核芯片TMS320LF2407和Cygnal公司的增强型C8051F020单片机。前两种单片机集成有CAN控制器模块,CAN和微控制器之间通过芯片内部总线交换数据;而后一种控制器无CAN接口,采用独立的CAN控制器SJAl000,以适应C805 1F020单片机,通过并行数据口交换数据信息。CAN的外围器件采用82C250收发器增强总线驱动能力,采用光耦6N137在电气与总线隔离,具有较强的抗干扰能力,起到安全保护作用。
2.3数据信息编码定义
本系统CAN总线采用29位标识符,满足通常混合动力汽车控制中控制命令、工作状态、测试数据传输的要求。每帧信息最多8个字节的数据不会占用总线时间过长,从而保证了数据通信的实时性。由于信息量较多,在此仅以电池管理系统发送的两帧数据为例,介绍通信地址及信息定义,见表2、表3(表3中X表示不存在或保留)。
表2 通信地址分配表
表3 参数字节定义
在数据打包过程中,对于有相关关系的数据打包到一个消息帧,以保证数据发送效率,充分利用通信带宽。对于需要快速发送的数据,数据长度尽可能短,以保证传输时间足够短,提高数据传送的实时性。
2.4消息调度
消息调度是CAN总线应用协议的重要
CAN总线混合动力汽 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)