基于虚拟仪器的车载CAN总线监控系统开发
2008-03-27
作者:金振华, 卢青春, 魏红军, 阎
摘 要: 为满足燃料电池" title="燃料电池">燃料电池汽车道路试验数据采集" title="数据采集">数据采集的要求,开发了车载CAN总线监控系统" title="监控系统">监控系统。基于便携式工控机和通讯接口卡设计了系统硬件,采用虚拟仪器开发平台开发了系统软件。系统实现了汽车CAN网络的数据采集、状态监测和数据存储。实际应用表明系统工作可靠。
关键词: CAN总线 虚拟仪器 监控系统
由于能源与污染的问题,电动汽车正成为汽车技术研究和开发的热点。电动汽车分为纯电动汽车、混合动力汽车和燃料电池汽车等,是一种环境友好的先进交通工具[1~2]。目前电动汽车一般都采用基于CAN(Control Area Network)总线的整车通讯控制系统。CAN总线是一种有效支持分布式控制或实时控制的串行通信网络,具有实时性强、传输距离远、抗干扰能力强、成本低的特点,在汽车通讯网络中得到了广泛的应用[3]。
汽车在开发过程中需要对整车运行参数进行采集和监控,以便分析各部件的运行状况,优化和改进整车控制策略。在整车耐久性考核中也需要全程采集和记录运行数据,以便对整车及部件性能变化进行分析。因此车载CAN总线监控系统是电动汽车研究和开发的重要工具,本文重点论述车载CAN总线监控系统的开发以及在燃料电池汽车道路考核试验中的应用。
1 汽车CAN网络结构及通讯协议
在电动汽车中,整车控制器" title="整车控制器">整车控制器通过CAN总线与电机、蓄电池等部件通讯,读取各部件的状态信息并向部件发送控制信息。图1为一种燃料电池汽车的CAN网络结构,整车控制器通过CAN网络采集燃料电池、DC/DC转换器、蓄电池和电机等部件状态参数,根据一定的控制策略向DC/DC转换器和电机发送控制命令,使动力系统各部件协调工作,实现整车的动力性和经济性指标。监控系统连接到CAN总线上,读取总线的数据帧" title="数据帧">数据帧,实现数据的采集和存储。
在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盘上。
3.2 基于虚拟仪器的软件设计
虚拟仪器技术目前已成为测试领域的主流技术,一个虚拟仪器系统主要由仪器硬件、计算机硬件和应用软件组成,应用软件又包括开发环境、应用程序和仪器驱动程序三部分[4]。LabVIEW是NI公司推出的虚拟仪器开发平台,采用图形化的编程语言,具有强大的人机界面设计和数据分析处理功能,提供了丰富的仪器驱动程序,便于快速创建灵活可靠的应用系统。基于LabVIEW环境的虚拟仪器体系结构如图5所示。
CAN总线监控系统软件采用虚拟仪器开发平台LabVIEW开发,仪器硬件部分包括便携式工控机和PCI总线CAN通讯接口卡。PCI-7841 CAN接口卡提供了动态链接库(DLL)形式的Windows2000/XP驱动程序,在LabVIEW中通过DLL调用实现第三方硬件的仪器驱动。PCI-7841提供的主要驱动程序功能如表1所示。
车载CAN总线监控系统采用了PC架构和高性能数据通讯接口卡,利用虚拟仪器软件开发平台的仪器驱动、界面控件以及应用程序开发调试环境,提高了系统的可靠性和开发效率。
3.3 监控软件流程设计
CAN总线监控程序流程如图6所示。首先进行硬件初始化,创建文件目录。读取CAN信息帧后按照协议进行解析,首先将数据帧分离成ID部分和数据部分,根据ID判断是哪一个部件的信息;然后根据协议中定义的参数起始字节和总字节数取出数据,经过偏移量和比例因子运算得出该参数的实际值。由于CAN网络中包含了整车控制器和各部件的控制器节点,在当前时刻缓冲区内有多个数据帧,监控程序在进入读数据循环时不停地读缓冲区的CAN数据,直到缓冲区数据读取完毕为止,这样保证了读取数据的实时性。读取的数据连续存储在U盘上,存储频率为10Hz,由于数据量较大,为了避免数据文件过大,监控系统每隔1小时重新创建一次文件,根据当前时间生成文件名。当用户按下结束按钮后监控程序结束。
4 应用实例
在燃料电池汽车道路考核试验中,应用车载CAN总线监控系统采集和记录整车CAN网络数据。图7为采集的车速曲线,图8为燃料电池电压电流曲线,其中车速数据来自于整车控制器,电压、电流数据来自于燃料电池发动机控制器。
参考文献
1 Szumanowski A.混合电动车辆基础.北京:北京理工大学出版社,2001
2 欧阳明高.我国节能与新能源汽车技术发展战略与对策.中国科技产业,2006;(2)
3 黄向东,汪胜勇,赵克刚等.基于CAN 总线的HEV集散控制系统的通信.华南理工大学学报,2004;(5)
4 杨乐平,李海涛,肖 凯. 虚拟仪器技术概论. 北京:电子工业出版社,2002