在CAN网络中数据以报文为单位进行传输,节点对总线的访问采取位仲裁方式。报文起始部分为标识符,在CAN2.0B中标识符采用29位格式,如图2所示。其中,优先级为3位,共8个优先级;8位PS为发送此报文的源地址,8位SA为目标地址,8位PF为报文代码。
监控系统与整车CAN网络连接,可接收总线上的全部数据帧。一个CAN数据帧包括标识符和8字节数据。根据标识符可判断出该数据帧是哪个部件发送的,再根据部件的通讯协议对8个字节数据进行解析可得到实际的参数值。
图3为燃料电池汽车中燃料电池控制器向整车控制器发送的一个数据帧的格式。标识符ID为29位数据,根据标识符格式定义可以得出燃料电池地址为11,整车控制器地址为10,数据帧优先级为3。数据部分包含燃料电池输出电压、燃料电池输出电流、电堆温度、故障码、状态位和控制器LIFE信号等信息。
2 监控系统硬件设计
车载CAN总线监控系统硬件结构如图4所示,采用基于PC总线工业控制计算机(IPC)的硬件设计。便携式工控机Apollo150具有抗干扰和减震设计,适合于车载使用;具有一体化的液晶显示屏和键盘鼠标设计,便于人机界面设计;通过USB2.0接口连接U盘进行存储,保证车载环境下大量数据的可靠存储;可以通过PCI和ISA扩展槽扩展数据采集和通讯接口;燃料电池汽车提供24V直流电源,经逆变电源转换成220V交流电,经UPS给工控机供电。基于IPC的硬件结构具有可靠性好、便于扩展的特点 ,同时可以利用PC机强大的软硬件资源,提高开发效率。
CAN通讯接口卡选用PCI7841双口隔离型CAN接口卡,该接口卡插在Apollo150的PCI扩展槽上,采用SJA1000 CAN控制器以及82C250 CAN接收器芯片,提供总线仲裁和错误检测功能,以确保数据通讯的可靠性。PCI7841具有两个独立的CAN接口,最高通讯速率为1Mbps。
3 监控系统软件设计
3.1软件功能需求分析
CAN总线监控系统软件功能主要包括数据采集、故障诊断、界面显示和数据存储。数据采集功能对整车CAN网络上的数据帧进行采集,根据通讯协议对数据进行解析,提取相应的数据;故障诊断功能对部件发送数据帧中的故障码进行分析,判断当前系统存在的故障信息;界面显示功能对采集的数据以各种形式显示在液晶屏上;数据存储功能将采集数据以文件形式连续存储在U盘上。