周亚棱,关静,王鹏,杨凯
(中国汽车工程研究院股份有限公司,重庆 401122)
目前,国内车企对发动机进行正向开发时,核心之一是产品数据的积累,通过积累行业大量先进发动机即标杆机的各种性能数据,掌握其性能所处水平,为在研发动机性能目标的定义和分解提供参考。因此,获得标杆机准确的性能数据至关重要。
标杆机从整车上拆解得到,再通过发动机台架测试获得各种性能数据。然而,随着现代汽车技术的进步,发动机控制系统(Engine Control Unit,ECU)与整车其他系统通过信号交互逐渐成为一个整体,发动机运行工况不同程度地受到整车相关系统运行状态的影响,必须保证相关系统的关键信号与发动机当前状态一致,才能使发动机正常工作,否则将导致发动机限速或整车故障。由于在台架测试过程中其他系统处于静止状态,无法提供发动机正常运转的关键信号,所以需要进行整车信号的模拟。随着混合动力车型发动机对标需求的出现,整车信号模拟的难度越来越大,研究并建立一套行之有效的整车信号模拟系统显得尤为重要。
朱艳芳等提出利用LabVIEW模拟车速信号。张积万等提出由车速传感器检测变速器输出轴转速的方法模拟车速信号。李恒提出通过车速传感器检测调速电机输出轴转速实现车速的模拟。以上3种模拟方法的优点在于操作简单,缺点是灵活性不强,易出现整车故障,且只实现了车速的模拟,无法满足更多信号的模拟需求。高继东等提出的信号模拟系统可实现多种频率信号的模拟,该方法的优点在于可实现逻辑关系复杂的信号模拟,缺点是所有信号都为硬件模拟,对于不同特征的信号通用性不强,硬件成本高,随着混动发动机需求的信号越来越多,该系统将很难满足要求。
为解决以上问题,本文提出一种信号模拟系统,主要通过网关模拟整车关键CAN总线信号。该方案模拟的信号更准确,更易被发动机系统认可,且系统通用性强,成本低,可显著缩短试验周期,提高台架测试效率。
系统由信号模拟系统电控单元、信号解析模拟控制上位机软件和系统线束3部分构成,图1为系统架构与整车电控系统的连接示意图。其中电控单元集成了专用CAN卡和信号模拟系统,在信号解析时作为专用CAN卡使用,在信号模拟时作为网关控制和信号模拟使用;上位机软件具有CAN总线信号分析,CAN网关控制和信号模拟控制三大功能;系统线束用于连接系统电控单元硬件、上位机和整车电控系统。
图1 系统架构
工作原理如图2所示,首先基于整车CAN总线信号的解析结果以及系统网关功能,确定整车端对发动机运行有影响的关键信号;然后在信号模拟系统中根据发动机实际运行工况,按一定策略计算得出关键信号具体数值,同时将系统作为网关在整车CAN网络中运行以验证策略的有效性;最后在台架试验时,模拟系统用计算的CAN总线信号值替换实际值发送给ECU,同时将硬线信号通过系统模拟输出。该系统能够对发动机的工况变化做出及时响应,可灵活控制整车各控制单元接收的信号值,避免整车系统因模拟信号异常出现故障,同时可覆盖发动机工作范围内的所有测试点。
图2 系统工作原理
系统电控单元硬件包括专用CAN卡和信号模拟系统。专用CAN卡支持上位机软件实现信号解析及简单网关控制功能。信号模拟系统选用了具有5路CAN通道的飞思卡尔16位微控制器(MC9S12 XEP100)作为MCU,可满足两路网关控制功能,以及与专用CAN卡通讯;外围电路还包括通用IO输入、CAN收发模块、SCI模块,以及PWM输出电路、变速器信号模拟模块、DA输出电路等,试验中根据需求利用硬件可实现各类硬线信号模拟。
(1)上位机软件
系统软件包括上位机软件和电控单元软件两部分。上位机软件界面如图3所示,可实现的功能包括:总线信号解析、网关控制、参数标定等。
图3 上位机软件界面
(2)电控单元软件
电控单元软件采用模块化思想并结合嵌入式操作系统构架,对软件进行规范化开发,增强了软件的可靠性和可移植性,如图4所示。本系统软件基于芯片MC9S12XEP100,开发环境为CodeWarrior for S12(X)V5.1。整个软件系统包括硬件抽象层、服务层、应用层以及操作系统,其中硬件抽象层只与微控制器硬件相关,用于实现硬件的各模块功能;服务层是硬件抽象层与应用层的接口,主要用于数据的传递;操作系统分时调度各功能模块,并设置计时器监控各任务执行情况,防止出现超时。
图4 软件架构
应用层软件包括6个模块:输入采集模块、CCP模块、参数标定模块、信号模拟模块、网关模块和校验算法模块。其中,输入采集模块、CCP模块、参数标定模块主要为网关模拟CAN总线信号提供依据,以及提高模拟软件开发的效率;信号模拟模块提供硬线信号模拟,包括PWM信号、数字及模拟信号。下面主要对网关模块和校验算法模块进行详细介绍。
(1)网关模块
主要功能是转发CAN总线上的数据帧,以及根据工况修改CAN总线上的数据并转发给ECU。与CCP模块不同,网关模块的数据修改是实时的且自动运行完成。
(2)校验算法模块
为保证CAN总线上数据的可靠性,通常整车厂会和零部件供应商约定重要信号所在报文的校验算法及校验信息。校验信息是将传输的数据通过一定算法得到,目的是防止总线数据在传输中改变或人为篡改的情况,一般为一个字节。网关模块修改整车电控系统信号值的同时需修改相应的校验码,否则接收控制器(如ECU)认为相关信号不可信,导致系统无法正常工作。由此可见,为生成正确的校验码,首先需要进行校验算法的解析。
本系统的校验模块包括校验算法解析及校验码生成两部分,其中校验算法解析主要针对CRC8,可根据记录的数据自动解析算法对应的初始值、多项式和异或值;校验码生成适用于所有的校验算法,即修改数据后,计算校验码替换原有的校验字节。
就目前研究的国内外20余款车型来看,不同品牌车型控制器的校验算法差别较大,同一品牌不同车型的校验算法也会不断改进。表1列出了具有代表性的6款车型的校验算法(定义数据帧的8个字节分别为byte1~byte8),其中车型A和B,车型C和D分别属于同一品牌的不同车型。从表中可以看出,简单的算法可通过将传输数据做异或运算或者取余运算等实现,如车型E和F的校验算法;稍复杂的需要经过多个计算步骤实现,如车型A~D的校验算法。下面对车型A和C两种校验算法进行说明。
表1 校验算法列表
(1)CRC-8校验算法
车型A为CRC-8校验算法,图5为车辆运行过程中某数据帧的数值变化,校验字节位于第1字节,第2字节为丢帧校验码。该校验字节的变化特点为:传输数据的很小改变都会导致校验码的剧烈波动。通过查阅资料并验证确定该算法为CRC8,计算第2~8字节组成的待校验数组,解析获得了CRC-8算法的初始值、多项式和异或值,具体解析流程如图6所示。
图5 某CRC8校验数据帧数值变化
图6 CRC-8校验算法解析流程
(2)校验和算法
车型C采用校验和算法,图7为某数据帧的数值变化情况,其中第8字节为校验字节。该校验字节的特征为每4个数据重复从小到大的变化趋势,具体数值与传输数据有关,经分析校验算法为:将第1~7字节按一定校验和计算得出数值为0~15的16个数据,根据该数值从二维数组array[16][4]相应行中循环取值得到对应的校验码,校验码为check_code,具体算法流程如图8所示,相邻两帧数据的校验码位于array[16][4]相邻列(第4列和第1列也看做相邻列),若相邻两帧校验码不在相邻列,则说明出现了丢帧。
图7 某校验和数据帧数值变化
图8 车型C校验算法流程
由以上分析可知:车型A的算法通过两个字节验证当前数据帧的完整性和丢帧情况;而车型C只需1个字节就能实现数据帧完整性及丢帧情况的验证,为传输信息节省了空间。车型B和D分别在车型A和C的算法基础上进行了改进。由此可见,随着校验算法的不断升级,总线信号的可靠性不断提高,同时也导致算法解析难度增加。
在某混动车型的发动机对标项目中,系统构型如图9所示,对标发动机的最大功率110 kW,最大转矩250 Nm。分别使用传统方法与本文设计的系统实现信号模拟并进行对比,验证该系统的有效性。
图9 系统构型
根据传统发动机对标经验,并查阅混动车型控制策略相关资料,确定发动机台架测试需模拟的硬线信号,包括车速、电机转速、离合器K0状态、变速器输入轴转速及SOC等。采用传统模拟方式,首先在不同工况下采集各部件原始信号,再按照原始信号进行模拟。该方法的难点在于离合器K0状态、变速器输入轴转速等原始信号采集困难,且模拟的信号之间同步性较差,易出现整车故障。经过长时间调试,最终台架测试功率转矩外特性曲线如图10所示,实际转矩与目标转矩曲线有一定差距,且发动机在3 500 r/min左右限速。
图10 传统模拟方法的功率转矩外特性曲线
根据1.2所述步骤,确定对发动机有影响的关键整车信号包括离合器K0状态、电机转矩、电机转速、变速器输入轴转速、挡位信号、车速、电池SOC,以及转速限制标志位。该车型的校验算法为改进的CRC-8校验,通过信号模拟系统的网关功能实现关键信号模拟,该功能在CAN中断函数中实现,如图11所示。
图11 网关示意图
最终在台架上成功完成对标试验,功率转矩外特性曲线如图12所示,实际测试结果与目标功率和转矩曲线拟合较好。
图12 本系统模拟方法的功率转矩外特性曲线
分析2.1节和2.2节中的模拟信号可知,由于传统方法中未实现转速限制标志位的模拟,导致发动机在3 500 r/min左右限速,该方法不能支持试验完成。表2将本文提出的方法与传统模拟方法进行了对比,结果表明:传统方法模拟难度大、成本高、并且由于模拟的硬线信号较多,导致调试难度和试验周期大幅增加。本文设计的系统模拟的信号更准确、且同步性好,试验周期缩短27%。
表2 本系统与传统信号模拟方法对比
经过大量试验证明,本文设计的系统具有以下特点:
(1)该系统不受模拟信号特征及类型的限制,可满足任意类型发动机对标测试的信号模拟。
(2)该模拟技术灵活性强,增加了测试的稳定性,节约了试验成本。
(3)该模拟技术的难点在于校验算法的解析,因此,后续还需要在这方面做更深入的研究。