随着汽车电子技术的发展,汽车上越来越多地采用了各种复杂的电子设备。为了提高信号的利用率,要求大量的数据信息能在不同的ECU中共享,大量的控制信号能够实时交换, 而传统线束已远远不能满足这种需求。CAN总线和基于它的车辆网络通信标准提供了解决上述问题的途径。[1] SAE J1939协议是美国汽车工程师协会发布的以CAN总线为核心的车辆网络串行通讯和控制协议,供卡车及其拖车、大客车、建筑设备以及农业设备使用,是用来支持分布在车辆各个不同位置的电控单元之间实现实时闭环控制功能的高速通信标准,数据传输速率为250Kb/s,通信物理层和数据链路层以CAN2.0为基础,并定义了网络层和应用层的协议。[2-3]
针对J1939协议教学和培训要求,构建了一个基于J1939协议的汽车教学实验系统。系统实时监控汽车CAN总线的数据并能完整记录、显示波形和打印。
1 系统原理及硬件结构
1.1系统原理
系统中,CAN总线模块系统通过CAN总线分析仪与计算机通讯,实行数据采集和传输,用于教学和培训。学生进行实验操作,直观了解数据收发,掌握CAN总线和J1939协议的特点,理解物理层、数据链路层和应用层的含义和作用,最后进行系统开发。
CAN总线模块系统能采集卡车道路行驶状态数据,同时能控制车灯、门窗电机、电磁阀等功率设备。其中,仪表板模块通过与车身通用控制模块、车窗控制模块进行CAN通讯,采集车辆开关状态,通过LED灯、液晶屏、转盘指针显示整车状态、故障信息、报警信息等各种信息,实现人机交互,对卡车进行实时控制。
1.2 系统硬件组成
系统包括3个部分:基于J1939的汽车CAN总线模块系统,包括仪表板模块、车身通用模块、车身专用模块(车窗控制模块);CAN总线分析仪,包括由基于USB的Kvaser USB CANⅡ总线适配器和软件Warwick X-Analyser组成;笔记本电脑(计算机)。
系统硬件结构示意图,如图1所示:
图1 系统硬件结构图
2 系统硬件
基于J1939的汽车CAN总线模块系统中,仪表板具有整车参数的显示、存储,与发动机ECU通信的功能,同时实现对负载的过程控制,根据仪表板上的开关状态及连接在车身通用控制模块的开关和传感器状态,产生功率输出,并与车身通用控制模块通讯;车身通用控制模块负责将所属区域的开关和传感器状态通过CAN总线反馈给仪表板模块,并接收控制指令,驱动功率输出接口实现通断控制。
实车上的仪表板控制器位于驾驶室司机座位正前方;前部控制模块位于驾驶室司机座位与副驾驶座位之间的操作台下;车身通用模块位于车架上;车窗控制模块位于驾驶室司机座位与副驾驶座位之间的操作台下。
2.1 仪表板模块
仪表板模块可以数字化显示车辆行驶速度、油量、水温、气压和发动机转速等参数。仪表板模块可以提供可编程图标显示功能,如当车速大于3Km/h而车门未关好时,在最下行显示提示信息“请关闭车门”,关好车门后,该信息消失。具有9个高亮度LED符号指示灯;具有故障诊断功能,能够对总线状态、电气负载短路/断路状态进行实时监控,出现故障后以中文信息显示;能够获取、显示、存储发动机相关参数;液晶屏可实时显示整车当前状态信息;具有48路非隔离开关量输入,6路电阻型模拟量输入,3路模块地址线输入,1路ACC档开关输入,1路一线式温度传感器输入,4路控地型系统唤醒信号输入;6路高端开关输出,1路常有电功率输出,2路ACC档电源输出,3路B7信号输出,1路里程传感器仿真信号输出,3路休眠信号输出。
2.2 车身通用控制模块
车身通用控制模块具有12路非隔离开关量输入,1路脉冲量输入,1路带励磁电流供应的充电指示检测输入;4路电阻型模拟量输入,4路模块地址线输入。具有11路高端开关输出, 2路常有电功率输出,1路带反向电流防护的功率输出,模块具有安全运行模式。
车身通用控制模块测量车辆行驶速度以及行程、发动机转速、燃油量、发动机水温、前后桥气压、发动机机油压力报警、左右转向控制与显示等。
2.3 车窗控制模块
车窗控制模块支持433 MHz、868 MHz和915 MHz通信频率;2路大功率全桥电机驱动通道;4路大功率高端开关输出通道;12路开关量输入接口;具有短路、过压、过热保护功能;具有车窗驱动的防夹功能;具有功率接口故障诊断功能。
输入接口有24路非隔离开关量输入和4路模块地址线输入。输出接口有4路高端开关输出、2路常有电功率输出和8路全桥开关输出。
2.4 CAN总线分析仪
Kvaser USB-CAN Ⅱ是基于USB的双通道CAN总线分析仪,一个通道用于测量高速CAN信号,另一个通道可用于测量高速CAN、低速CAN或单线CAN。本系统采用双通道高速CAN分析仪(兼容ISO 11898,收发器为TJA1050)。
主要特点:安装快速、简易,即插即用;支持11位标识符的标准帧和29位标识符的扩展帧。每个CAN消息均标有10μs精度的时间标签。自动开关电源为CAN(初级)、USB(次级)供电,减少笔记本的电源消耗。支持分析工具的“只听”模式。
支持主要的操作系统Windows、WinCE和Linux。应用支持Kvaser CanKing、Warwick XA、ATI Apollo、National Instruments(NI) LabVIEW、NI DIAdem等应用软件。
3 系统软件
系统通过Kvaser USB Can II连接电脑,采用X-Analyser for Kvaser CAN软件(简称XA)对系统总线通讯报文信息进行监测分析,汽车CAN总线模块原始数据显示界面如图2所示。XA用于测试、分析、仿真和监测CAN总线和LIN总线网络,主要特点为:
(1)允许用户在高层协议上使用各种不同的规则如触发、滤波等访问和监视总线数据,如SAE J1939、NMEA、DeviceNet和CANopen等。(2)支持汽车工业标准的文件格式,能够与相关工具兼容。(3)通过设置X-Script选项或者Keil接口进行节点或者网络的模拟。
图2 CAN总线原始数据显示界面
4 系统分析
针对J1939培训要求,系统在教学中,特别是实操中可以实时监控基于J1939汽车CAN总线的数据并能完整记录、显示波形和打印。
4.1 仪表板的显示变化
(1)车辆行驶速度以及行程测量与显示:系统实时测量车辆的行驶速度,并在车速表上显示车辆当前的行驶速度,速度显示单位为Km/h。车速传感器的输入为脉冲波(函数脉冲发生器发出脉冲),当输入的脉冲波频率达到200Hz时,车速达到最到值180Km/h。
当车速不为0时,系统实时测量车辆行驶的路程数,并显示在仪表板上的液晶显示屏多功能显示区,单位为Km,精确到0.1Km。同时系统以1Km为单位间歇存储车辆行驶总里程数,显示在仪表板上的液晶显示屏多功能显示区上。
(2)燃油量的测量与显示:燃油量通过油量传感器来测量,显示采用无量纲方式,F表示燃油满,E表示燃油量为0。当传感器阻值在0~200Ω变化时,对应油量表上的F~E。
(3)前后桥气压的测量与显示:系统实时测量前桥气压和后桥气压,并在仪表板上显示。前桥气压和后桥气压的分别通过气压1传感器和气压2传感器来测量,当气压传感器的阻值在0~200Ω变化时,对应气压表上的0~12。
(4)左右转向控制与显示:左右转向通过两个开关来控制,当转向开关断开时,输出为5v;当转向开关接通时,输出为低电压5v,高电压24v的脉冲,并且仪表板上对应的转向指示灯闪烁。
4.2 数据采集结果
系统XA数据采集如表1所示。以转向开关为例:当左转向灯断开时data为08,而接通时为08与8A交替变化。当右转向灯接通时data为00,而接通时为00与02交替变化,如图3所示。通过函数脉冲发生器发出脉冲,模拟车速变化,如图4所示。
表1 X-Analyser数据采集表
传感器/开关 ID PGN
车速传感器 18FF0D24 0FF0D
油量传感器 18FF0C24 0FF0C
气压传感器1 18FF0C23 0FF0C
气压传感器2 18FF0003 0FF00
左转开关 18FF0452 0FF04
右转开关 18FF0432 0FF04
图3 J1939数据显示界面
图4 基于J1939的速度波形图
5 结论
本文介绍了一个基于J1939协议的汽车教学实验系统,系统可以实时监控汽车CAN总线的数据并能完整记录、显示波形和打印。
系统中,CAN总线模块系统通过CAN总线分析仪与计算机通讯,实行数据采集和传输,用于教学和培训。学生进行实验操作,直观了解数据收发,掌握CAN总线和J1939协议的特点,理解物理层、数据链路层和应用层的含义和作用,最后进行系统开发。
本文作者创新点:系统采用J1939的实车CAN总线模块系统作为硬件,通过CAN总线分析仪,用直观的人机界面描述模块上J1939的数据格式和传感器物理值,让学员快速理解高层协议并掌握基于J1939的零部件ECU开发要点。项目经济效益10万元。