韦超毅, 吴一雄, 黄大明, 姚正远
(1.广西大学机械工程学院,南宁 530004; 2.南宁学院交通学院,南宁 530200)
硬件在环试验传承并拓展了纯仿真试验的优点,受益于实时处理器控制技术、传感器技术、控制局域网技术(CAN)通信网络技术的发展,硬件在环可以对发动机模型进行建模、模拟特定工况传感器信号、搭建虚实结合的CAN通信网络,通过信号转换技术将虚拟模型与真实电子控制单元(ECU)和传感器连接,在特定工况下实现真实ECU控制策略及CAN通信网络开发,从而最大限度接近实车开发,减少建模难度,缩短工期。
自1994年dSPACE公司发布一套发动机实时仿真系统后,各大仿真公司纷纷展开硬件在环设备研究。1994年,文献[1]提出使用数据采集电路板(DS2301)联合DSP和CAN通信网络对发动机ECU进行实时测试,结果表明该方法相比纯仿真能更早发现信号传输隐患。文献[2]提出了仿真ECU-CAN总线-真实ECU的CAN通信网络驱动发动机仿真系统工作,不仅保证了系统实时性,更增加了系统真实性。文献[3]提出在V模式开发基础上,构建电子控制单元(ECU)硬件在环测试台,并使用PXI设备搭建上位机与ECU的CAN通信网络,最后开展ECU硬件在环发动机台架测试。此外,还有大量研究促进了硬件在环通信网络的开发:CAN车载网络在环测试系统、CAN总线人机交互硬件在环试验台、dSPACE环境下CAN通信混合动力硬件在环试验台等[4-6]。但这些研究主要集中在仿真模型搭建及ECU测试上,CAN测试网络大多通过购买现成板卡实现。硬件在环设备对于上位机与ECU的CAN通信报文信号定义及CAN通信协议的研究文献很少。
综上,中国硬件在环设备仿真技术经历了从模型搭建到ECU开发的进程,目前主要集中于控制策略的开发和ECU验证上,在NI PXI硬件在环试验台上采用J1939协议结合NI VeriStand 平台开发CAN通信上层协议的研究极少,难点是如何构建通信高层协议并创建DBC文件使上位机与ECU通讯[7]。而一套发动机硬件在环设备在添加其他传感器和设备后完全可以改装成电池硬件在环设备,但这需要重新搭建CAN通信网络。为此,拟通过应用NI VeriStand软件和NI PXI平台的CAN通信模块基于J1939高层协议创建基于CAN总线通信的发动机ECU硬件在环通信系统,并截取CAN通信报文详细解读,为后期平台扩展作有用的铺垫。
硬件在环试验台由五部分构成,分别是人机交互界面(上位机)、实时处理器及板卡模块(下位机)、ECU、模拟装置、组合仪表,系统构架如图1所示。
图1 系统构架Fig.1 Platform architecture
上位机加载NI VeriStand平台,负责运行发动机SIMULINK仿真模型[8],完成人机交互界面搭建并分配下位机上板卡资源使上位机NI VeriStand平台的发动机SIMULINK模型与ECU物理通道相连[9]。下位机实时处理器及板卡模块是硬件在环平台关键部分,用来精确模拟曲轴传感器、氧传感器、进气温度传感器等发动机测试平台中不存在的物理传感器,从而模拟需要的物理信号。台架通过数字IO采集传感器信息并驱动模拟传感器工作,可以通过CAN总线实现ECU与上位机数据交互。
ECU上运行发动机电控系统控制算法,读取板卡采集和模拟的信号计算后得到控制信号。人机交互界面可实现硬件配置、对发动机模型在线操控、发动机模型参数实时监控、数据记录与分析等功能。
选取NI生产的PXI高性能实时处理器板卡资源完成硬件在环平台组建。上位机选用NI PXIe-1071机箱,搭载PXIe-8135 2.3 GHz双核PXI嵌入式控制器。下位机选用PXI-1075机箱,搭载PXIe-8115 2.5 GHz双核嵌入式处理器,可连接以太网端口,包含外设IO口以及高速USB端口可用于数据采集以及模块化仪器控制。PXI-6713板卡具备模拟信号输出功能且能同步更新多通道信号,可用来模拟发动机产生加速踏板等信号。PXI-6229板卡具备32条单端模拟输入通道,48个双向数字通道,用于数据采集(DAQ)。PXI-7842R板卡载有FPGA芯片,可用于高性能板载处理,最大时钟频率为40 MHz,具有96个定时模块,用于模拟PWM信号模拟曲轴传感器信号和凸轮轴传感器信号。PXI-8513板卡带有CAN控制器和收发器模块,可使用软件编程结合NI-XNET驱动构建应用程序。试验根据发动机运行所需要信号数量以及板卡性能,对通道分配做了详细定义。具体通道分配如表1所示。
表1 通道分配Table 1 Channel allocation
制定CAN总线通信协议能够为发动机电控测试台提供一个开放互连系统,极大简化现场布线并提供一个标准化互连通信平台。Bosch公司制定并发布了CAN技术规范(Version2.0)[10],分为CAN2.0A和CAN2.0B两个版本。CAN总线依据四种不同的通信帧进行应答和传输数据,包括数据帧、远程帧、错误帧和过载帧。其中数据帧由七个部分构成,包括帧起始、仲裁场、控制场、数据场、CRC场、ACK场和帧结束[11],数据场可以长度为零,图2为标准格式和扩展格式的构成。标准帧格式的仲裁场由两部分构成,分别是11标识符以及1位远程请求位RTR,从ID28~ID18;扩展帧格式的仲裁场由四部分构成,分别是29位标识符、1位SRR位、1位IDE位及1位RTR位,标识符从ID28至ID0[12]。报文传输顺序由报文优先级编码决定,优先级编码数值越小优先级就更高,赢得仲裁的高优先级报文先行传输。如报文上出现多个传输请求,此时严格遵循报文优先级法则仲裁出高优先级报文先行传输。仲裁后的报文从控制器单元导入滤波寄存器后,使用屏蔽寄存器过滤掉其他标识符不一致的帧,留下标识符相符的报文。
图2 标准帧和扩展帧的数据帧构成Fig.2 Data frame composition of standardframe and extended frame
CAN2.0A/B规范只是对开放系统互联(OSI)结构的数据链路层和物理层做了详细规定,上层协议部分没有定义。对比图如图3所示。因此依据发动机硬件在环试验台信号交互需求制定了一个CAN网络应用层协议。
图3 CAN总线与OSI模型基本分层对比Fig.3 Basic layering comparison chart betweenCAN bus and OSI model
ECU发送给组合仪表的协议制定过程参考了J1939-71协议(车辆应用层)[13]。J1939以CAN2.0B为依据,给扩展帧29位标识作了新的描述,其余协议内容不更改[14]。包括优先级P、预留位R、数据页DP、协议数据单元PF、扩展单元PS、源地址SA和数据字节[7]。这七部分通过协议数据单元PDU封装成数据帧发送给其他设备。PGN(parameter group number)是J1939的核心部分,作为数据帧独一无二的参数组编号,决定着报文传输的方向,由PF场、PS场这两部分构成[15]。PDU具体构成如图4所示。
图4 PDU具体构成Fig.4 PDU specific composition
CAN协议规定了数据帧的SOF、SRR、IDE、RTR、控制域部分、CRC域和EOF域这几部分,SAEJ1939不能修改,因此没有在PDU中对这几部分作规定。J1939有两种格式PDU,分别是PDU1和PDU2,PF域数值为0~239则为PDU1格式,若PF数值为240~255则为PDU2格式[7]。PDU1格式用于发送给指定节点的信息,PS域决定目的地址;PDU2格式不指定节点,可以广播给总线上所有节点,PS域此时作为扩展地址。
CAN总线网络选用ECU的CAN2通道作为CAN总线,传输波特率为250 kbit/s。设定ECU源地址SA为0xD2,所以凡是ECU发出来的报文,报文ID最后一个字节就是0xD2[16]。如EngVecSpeed报文,ID为0x18FE6CD2,其中0x18表示优先级为110,R为0,DP为0,由于PF>240,0x18FE6C表示PGN,其他报文制定以此类推。根据试验台通信网络需求,依据CAN2.0B协议和J1939协议设计应用层协议,PXI-8513与ECU通信采用标准帧,ECU与组合仪表通信采用扩展帧。部分总线报文定义及特性如表2所示。
同时也对信号的格式、字节顺序、分辨率、数据长度、取值范围、单位等信息做了详细定义,部分信息如图5所示。
表2 总线报文定义及特性Table 2 Bus message definition and characteristics
图5 报文部分信息Fig.5 Partial message information
发动机试验台上各个节点数据使用CAN总线进行报文传输。上位机通过以太网将数据发送至实时处理器模块,PXI-8513 CAN板卡接收后将数据发送至CAN总线,ECU获取从CAN总线接收数据实现发动机算法处理,同时利用CAN总线把数据传输给组合仪表。其中Kvaser CAN接口节点是一个USB-CAN模块,用来读取CAN总线报文显示在PC机上实现数据监测、报文解析、故障诊断。各个节点交互关系如图6所示。
图6 节点交互关系Fig.6 Node interaction relationship
2.3.1 ECU CAN总线接口设计
发动机试验台ECU主芯片选用Freescale MPC565,定位为汽车电子控制处理器。集成了3个TouCan控制器模块,符合CAN2.0标准。ECU的CAN收发器使用的是PCA82C250,采用斜率控制,具备高达1 M的传送波特率,能有效减少射频干扰。ECU集成了一对CAN数据交互端口,通过PCA82C250芯片把MPC565内部CAN通道与外部CAN总线连接在一起。MPC565的A_CNTX0,A_CNRX0引脚和B_CNTX0,B_CNRX0引脚是两组接收和发送端。A_CANL,A_CANH和B_CANL,B_CANH分别挂载到总线上,其原理图如图7所示。
图7 CAN总线驱动原理图Fig.7 CAN bus driver schematic
2.3.2 PXI-8513总线接口设计
PXI-8513是一款软件可选的容错控制局域网(CAN)接口,可使用NI-XNET驱动并开发上位机程序。能够挂载多个节点同步通信,精确传输总线上大量交互的报文。其物理层的CAN收发器选用NXP TJA1041,兼容ISO11898协议,具备延时保护性能,有优良静电保护功能,支持波特率范围为40 kbit/s~1 Mbit/s。由于通信在CAN总线上双向流动,因此CAN要求有终端电阻,按照ISO11898要求使用120 Ω的电阻,防止信号发生反射[11]。
发动机ECU硬件在环系统如图8所示。
图8 发动机ECU硬件在环系统Fig.8 Engine ECU hardware in-loop system
使用可编程电源供电后ECU及下位机通电工作,火花塞此时点火,喷油器信号灯闪烁。
图9 部分报文数据Fig.9 Partial message data
试验台启动后,运行PC机上的Kvaser Canking程序读取CAN2通道报文数据。根据J1939标准数据链路层中的定义对接收到的报文1个帧ID和数据分析。其中ID=0x18FE6CD2=0001,1000,1111,1110,0110,1100,1101,0010;29位ID前3位不用,优先级3位:110;数据帧位(DP):0;保留位(R):0;协议数据单元(PF):FE;扩展单元(PS):6C;源地址(SA):D2。除去优先级(P)3位和源地址(SA)可得PGN=0000,1111,1110,0110,1100=0xFE6C(H)=65132(D),为EngVecSpeed报文信息。解析总线上报文具体物理值需借助转换公式,总线上物理参数的计算公式为[12]:
物理参数=比例系数×总线数值+偏移量
(1)
如读取EngVecSpeed报文ID=0x18FE6CD2的数据域为00000000401F0021。按照所制定的协议,Byte4和Byte5字节作为发动机转速数据,数据采用intle排列方式,比例系数为0.125,偏移量为0,单位为r/min。则Byte4为低字节,Byte5为高字节。第4字节4为高4位,0为低4位,第5字节1为高4位,F为低4位。那么解析时就为:1F40,0x1F40转换成十进制是8 000,参照式(1),则总线转速物理值为0.125×8 000+0=1 000 r/min。
根据编写的发动机CAN通信协议,通过Vector CANoe软件制定了报文解析DBC文件,在PC机上运行Kvaser Canking加载DBC文件通过CAN-USB接头实时读取通信报文。接收到部分报文数据如图9所示。
此时发动机转速的报文解析值是1 000 r/min,与公式解析结果一致,这表明所设计的DBC文件准确效性。同时,解析值与上位机设定值和组合仪表实际显示值一致,且无明显延迟。组合仪表实际数据如图10所示。
这说明所设计CAN通信网络准确有效,能够使上位机运行发动机模型跟下位机及ECU正常通讯,实现发动机硬件在环CAN网络数据交互,同时可以实现对报文监控,一旦设备出现参数故障,可以直接分析报文数据从而加快诊断和开发进度。
3.2.1 发动机转速保持定值试验
试验选用发动机低高两个代表性的转速:n1=1 000 r/min,n2=3 000 r/min[17]。设定节气门不同开度条件下,在硬件在环试验台进行进气歧管压力测试。将LJ465Q发动机的节气门开度,发动机转速与进气歧管压力的实测数据[18]与硬件在环仿真数据对比,Measured value表示发动机实测值,SIMULINK value表示硬件在环仿真值,采用三次样条插值处理数据后得到对比图如图11所示。
图10 组合仪表实际数据Fig.10 Combination dashboard actual data
图11 实测数据与仿真数据对比Fig.11 Comparison of measured data and simulation data
由实验数据和曲线图可以看出,当加大节气门的开度时,转速随之上升,进气歧管压力的仿真曲线慢慢接近实测值曲线,这表明仿真模型精度随着转速提升而提升。说明被控对象模型在所设计的硬件在环CAN通信网络中能准确通信,能够为试验提供可靠的进气歧管压力。
3.2.2 喷油脉宽
图12 喷油脉宽脉谱图Fig.12 Fuel injection pulse width spectrum
在硬件在环系统中测试了不同节气门开度下的进气歧管压力和喷油脉宽,设定空燃比为14.7,处理实验数据后得相应喷油脉宽脉谱图如图12所示。
喷油脉宽数据表明所构建的硬件在环系统能够在人机交互界面实时监测到进气歧管压力、扭矩、发动机转速、冷却液温度、进气温度和氧传感器反馈的空燃比等信息,很好地实现预期功能。
在原有发动机硬件在环系统中提出基于CAN总线的通信网络,应用 NI VeriStand软件和 NI PXI平台的 CAN通信板卡,依据 J1939高层协议搭建采用 CAN总线通信的发动机 ECU硬件在环通信系统。试验引入Kvaser Canking报文监控软件实现报文监控,加速CAN总线网络开发进程并降低CAN总线开发成本。结果表明,设计的CAN网络能满足发动机ECU硬件在环试验台的通信需求,扩展了硬件在环通信网络,使试验开发环境更接近真实ECU开发过程。