自动测试重型汽车发动机ECU软件版本的装置及方法与流程

文档序号:11948422阅读:318来源:国知局
自动测试重型汽车发动机ECU软件版本的装置及方法与流程

本发明属于汽车电子应用领域,具体涉及一种自动测试重型汽车发动机ECU软件版本的方法和装置。



背景技术:

目前,国内开发的重型汽车CAN总线控制系统产品主要包括车身中央控制器CU和组合仪表IC和车身负载驱动器三部分。作为车身总线网关的车身中央控制器,它一方面可以与车辆动力总成如电控发动机、防抱死刹车系统ABS/ASR的电控单元实现信息交流和共享,另一方面车身中央控制器需要通过采集包括组合灯光开关,雨刮/洗涤开关,车内灯开关和钥匙开关等大量的开关信号,实现对车身电器的控制功能。此外,某些情况下,车身中央控制器还需要采集一些传感器信号如车速传感器信号、油量传感器信号、气压传感器信号等,将车速、燃油量和制动气压等信号通过CAN总线发送给组合仪表。组合仪表解析接收到的来自车身中央控制器的消息,将车速、发动机转速、燃油量、发动机水温等信号通过指针式仪表显示出来,同时将汽车当前存在的故障报警信息以液晶显示和蜂鸣器报警的方式提示驾驶员。车身负载驱动器接收并解析车身中央控制器发送的各种开关量报文,完成相应车身负载如各种电磁阀、车灯、雨刮/喷淋电机等的控制。可见车身中央控制器是后台信息处理的中央枢纽,其作用和地位十分重要。

而重型汽车发动机ECU又是重型汽车CAN总线控制系统下一个核心单元,重型汽车发动机作为重型汽车的核心部件,对该部件的机械部件及电子控制单元的保养及数据监控是一个极为重要的功能。

对于市场上现有的重型汽车CAN总线产品而言,当重型汽车发动机ECU发生未经许可的软件刷机,导致重型汽车发动机ECU形成软件不稳定因素,尤其在夜间或者恶劣天气下行车时,重型汽车发动机ECU一旦出现故障,可能导致整车处于瘫痪状态,从而导致汽车必须立即停车甚至再也无法启动,这会给正常的生产和生活带来极大的不便。



技术实现要素:

本发明的目的在于克服未经许可及授权的软件版本刷入重型汽车发动机ECU,提供一种自动测试重型汽车发动机ECU软件版本的装置及方法。解决了重型汽车发动机ECU发生未经许可的软件刷机,导致重型汽车发动机ECU形成软件不稳定因素的问题。

为了实现上述目的,本发明采用的技术方案为:

一种自动测试重型汽车发动机ECU软件版本的装置,包括检测终端,检测终端包括检测终端CAN总线控制器(24)、检测终端CPU、人机交互装置、电源模块、时钟模块,具体地:

被测重型汽车发动机ECU(22)的CAN总线控制器(30)接口连接检测终端CAN总线控制器(24)接口,构成CAN总线通信系统;

所述的检测终端CAN总线控制器(24)连接检测终端CPU;

所述的人机交互装置包括输入指定参数的界面装置、输出显示装置,人机交互装置连接检测终端CPU;

所述的检测终端CPU获得人机交互装置所输入的指定参数的数据,检测终端CAN总线控制器将该指定参数的数据传输给重型汽车发动机ECU,重型汽车发动机ECU对获得的指定参数进行验证,如一致则发送监测数据给检测终端,该监测数据包括发动机ECU软件版本号;

所述的检测终端CPU包括软件版本逻辑算法单元,软件版本逻辑算法单元收到重型汽车发动机ECU发送的监测数据时,开始利用逻辑算法进行重型汽车发动机ECU软件版本确认,软件版本逻辑算法单元连接输出显示装置,该确认结果通过输出显示装置输出。

进一步地,所述的输出显示装置包括显示屏及语音提示装置;用金属导线连接被测重型汽车发动机ECU(22)的CAN总线控制器(30)接口和检测终端(26)的检测终端CAN总线控制器(24)接口;所述的检测终端的时钟模块采用时钟晶振;所述的电源模块采用电源控制芯片。

进一步地,所述的指定参数包括时间、发动机号、检测终端自身的唯一序列号的一个或任意二个组合或全部。

进一步地,所述的检测终端CPU包括主动握手模组,主动握手模组根据人机交互装置所输入的指定参数生成握手验证码,主动握手模组连接检测终端CAN总线 控制器,检测终端CAN总线控制器将握手验证码传输给重型汽车发动机ECU;

重型汽车发动机ECU包括握手数据匹配模组,发动机ECU握手数据匹配模组接收握手验证码后,按照反向解码解出该指定参数,验证是否与自身原始参数一致,若一致则握手成功,进而通过发动机ECU握手数据匹配模组发送发动机ECU软件版本号至检测终端,若不一致则发动机ECU不发送软件版本号,或者发动机ECU的软件版本为未授权版本,发动机ECU发送不出软件版本号。

进一步地,所述的主动握手模组根据人机交互装置所输入的时间、发动机号、检测终端自身的唯一序列号共同合成生成握手验证码,通过总线向发动机ECU发送,所述的握手数据匹配模组将该握手验证码反向解码解出得到时间、发动机号、检测终端自身的唯一序列号。

进一步地,所述的主动握手模组包括依次连接的获取指定参数模块、加密模块、数据输出模块,其中获取指定参数模块,将人机交互装置输入的时间、发动机号、检测终端唯一序列号进行存储并传输到加密模块;加密模块,根据输入参数启动加密算法对数据进行加密,加密完毕后连接数据输出模块;数据输出模块通过总线连接重型发动机ECU的握手数据匹配模组,握手数据匹配模组包括解密模块,用解密算法将数据进行解密。

进一步地,所述的软件版本逻辑算法单元包括依次连接的检定开始模块、判断转速值模块、判断发送报文时间模块、开始发送握手报文模块、监测数据获取模块,监测数据获取模块分别连接判断报文发送周期模块、判断版本模块,判断报文发送周期模块连接检定次数累加模块,检定次数累加模块连接检定次数判断模块,检定次数判断模块连接判断版本模块,判断版本模块分别连接版本异常报警模块、版本正常模块,版本异常报警模块、版本正常模块均连接检定结束模块,其中:

检定开始模块,进行初始化设置后连接判断转速值模块;判断转速值模块,通过总线获得发动机转速,判断是否达到设定的转速值,达到后连接判断发送报文时间模块,未达到设定的转速值,则连接检定次数判断模块;

判断发送报文时间模块,判断是否达到设定的发送报文的时间,当达到时间后,连接开始发送握手报文模块;

开始发送握手报文模块,将指定参数生成的握手验证码发送给发动机ECU,然后连接监测数据获取模块;

监测数据获取模块,判断是否收到发动机ECU返回的监测数据,监测数据包 括软件版本号的数据,收到则连接判断版本模块,未收到则连接判断报文发送周期模块;

判断版本模块对收到的软件版本号的数据进行比对,如一致或合法则连接版本正常模块,如不一致或非法则连接版本异常报警模块;

版本正常模块,连接输出显示装置,将版本正常信息以声光电的形式输出;

判断报文发送周期模块,判断等待监测数据返回的时间是否超时,如超时则连接检定次数累加模块,否则连接监测数据获取模块;

检定次数累加模块,对每次握手超时失败的次数进行累加,累加数据发送给检定次数判断模块;

检定次数判断模块,当检定次数累加数据超过设定值时,连接版本异常报警模块,否则连接判断发送报文时间模块。

版本异常报警模块,连接输出显示装置,将版本异常信息以声光电的形式输出。

进一步地,包括被测重型汽车发动机ECU(22)和检测终端(26);检测终端(26)主要由两部分组成:一部分是检测终端(26)的CAN总线控制器(24)即CAN总线物理层;另一部分是微控制器即检测终端(26)CPU以及其它辅助元件组成的检测终端软件版本逻辑算法单元,检测终端(26)的CAN总线物理层与检测终端(26)软件版本逻辑算法单元之间通过4根金属导线连接电源正极、电源地、CAN发送信号和CAN接收信号;检测终端(26)的CAN总线控制器(24)将CAN总线信号转换为TTL接收信号(28)输入到检测终端软件版本逻辑算法单元(27)中,而由检测终端软件版本逻辑算法单元(27)产生TTL发送信号(25)通过检测终端(26)的CAN总线控制器(24)转换为CAN总线信号,发送到CAN总线中;被测重型汽车发动机ECU(22)通过重型汽车发动机ECU(22)的CAN总线控制器(30),将从检测终端(26)接收到的监测指令CAN总线信号转换为TTL接收信号输入到重型汽车发动机ECU(22),重型汽车发动机ECU(22)将监测数据TTL发送信号(31)通过重型汽车发动机ECU的CAN总线控制器(30)转换为CAN总线信号回复监测数据至检测终端(26)。

一种自动测试重型汽车发动机ECU软件版本的方法,采用检测终端,检测终端包括人机交互装置、CAN总线控制器、检测终端CPU、电源模块,包括如下步骤:

第一步,重型汽车发动机ECU(22)与检测终端(26)之间通过CAN总线进 行连接;

第二步,通过检测终端(26)向重型汽车发动机ECU(22)发送监测指令,监测指令包括握手指令,握手成功后,重型汽车发动机ECU(22)回传相应的监测数据,监测数据包括重型汽车发动机ECU的软件版本的信息,否则,重型汽车发动机ECU不回传相应的监测数据;

第三步,握手成功后,监测数据被传输入检测终端CPU的软件版本逻辑算法单元,该单元检测重型汽车发动机ECU的软件版本,如果重型汽车发动机ECU软件版本被检出版本不正确则通过检测终端的显示屏及语音提示给出警告,被测试重型汽车发动机ECU软件版本未能达到当前整机固化版本的要求;如果重型汽车发动机ECU软件版本被检出版本正确达到当前整机固化版本的要求,以此确定重型汽车发动机ECU软件版本。

进一步地,每次启动在检测终端收到重型汽车发动机ECU发送的转速数据达到检测终端检定要求后,在到达检测终端监测报文发送时刻时检测终端发送检测报文,当检测终端收到重型汽车发动机ECU发送的监测数据时,开始利用逻辑算法进行重型汽车发动机ECU软件版本确认;若确认为授权或许可的重型汽车发动机ECU软件版本,则本次检定结束;若检测终端检测报文发送后直到下一个发送周期开始前的一段时间内都未收到重型汽车发动机ECU发送的监测数据时,则循环执行上述逻辑流程到设定次数以上,仍然均未收到重型汽车发动机ECU发送的监测数据或者收到的重型汽车发动机ECU发送的监测数据经逻辑算法确认为非授权或许可的重型汽车发动机ECU软件版本,则视为该重型汽车发动机ECU软件版本为非法版本;将该事件以声光电的报警形式,通过检测终端报警。

附图说明

图1是自动测试重型汽车发动机ECU软件版本的装置的一个实施例的工作框图;

图2是自动测试重型汽车发动机ECU软件版本的装置的检测终端的一个实施例的结构框图;

图3是自动测试重型汽车发动机ECU软件版本的装置的一个实施例的部分电路原理图;

图4是自动测试重型汽车发动机ECU软件版本的装置的一个实施例的另一部 分电路原理图;

图5是自动测试重型汽车发动机ECU软件版本的装置的一个实施例的电路板连接图;

图6是自动测试重型汽车发动机ECU软件版本的装置的一个实施例的工作逻辑流程图;

图7是自动测试重型汽车发动机ECU软件版本的装置与发动机ECU握手及数据交换校验的一个实施例的流程图;

图8是自动测试重型汽车发动机ECU软件版本的装置的检测终端CPU的主动握手模组的一个实施例的结构图;

图9是自动测试重型汽车发动机ECU软件版本的装置的检测终端CPU的软件版本逻辑算法单元的一个实施例的结构图。

具体实施方式

现结合附图及具体实施例对本发明作进一步地说明:

自动测试重型汽车发动机ECU软件版本的装置由重型汽车发动机ECU和检测终端,由两根金属导线连接成一个CAN总线通讯系统,构成了整个重型汽车发动机ECU软件版本的装置。重型汽车发动机ECU包括CPU和CAN总线控制器以及其他一些辅助元器件如时钟晶振,电源控制芯片等;检测终端包括CPU和CAN总线控制器以及其他一些辅助元器件如时钟晶振,电源控制芯片等。还包括人机交互装置,人机交互装置包括输入指定参数的界面装置、输出显示装置,人机交互装置连接检测终端CPU;所述的输出显示装置包括显示屏及语音提示装置;所述的指定参数包括时间、发动机号、检测终端自身的唯一序列号的一个或任意二个组合或全部。在实际操作中,系统设计人员可以根据装置或检测终端的各种唯一识别码设置成装置的指定参数,然后通过常用的运算方法进行加密或者合成验证码的方式对装置进行架构。

检测终端(26)主要由两部分组成:一部分是检测终端(26)的CAN总线控制器(24)即CAN总线物理层;另一部分是微控制器即检测终端(26)CPU以及其它辅助元件组成的检测终端软件版本逻辑算法单元,检测终端(26)的CAN总线物理层与检测终端(26)软件版本逻辑算法单元之间通过4根金属导线连接电源正极、电源地、CAN发送信号和CAN接收信号;检测终端(26)的CAN总线控 制器(24)将CAN总线信号转换为TTL接收信号(28)输入到检测终端软件版本逻辑算法单元(27)中,而由检测终端软件版本逻辑算法单元(27)产生TTL发送信号(25)通过检测终端(26)的CAN总线控制器(24)转换为CAN总线信号,发送到CAN总线中;被测重型汽车发动机ECU(22)通过重型汽车发动机ECU(22)的CAN总线控制器(30),将从检测终端(26)接收到的监测指令CAN总线信号转换为TTL接收信号输入到重型汽车发动机ECU(22),重型汽车发动机ECU(22)将监测数据TTL发送信号(31)通过重型汽车发动机ECU的CAN总线控制器(30)转换为CAN总线信号回复监测数据至检测终端(26)。

图1本发明用于自动测试重型汽车发动机ECU软件版本的装置的工作框图,包括重型汽车发动机ECU装置(22)和检测终端(26)。两部分由信号线CAN_L(29)和CAN_H(23)金属导线连接实现通信。其中重型汽车发动机ECU装置22主要由重型汽车发动机ECU CPU装置20、重型汽车发动机ECU CAN总线控制器30、信号线CAN_TX 31和信号线CAN_RX 21组成;检测终端26由检测终端CAN总线控制器24和检测终端CPU 27通过信号线CAN_RX 28和CAN_TX 25连接。

重型汽车发动机ECU CPU 20传递TTL信号31至重型汽车发动机ECU CAN总线控制器30,重型汽车发动机ECU CAN总线控制器通过传递CAN信号29实现与检测终端CAN总线控制器24的通信;检测终端接收到CAN信号后,向检测终端CPU 27发送TTL信号28,检测终端CPU 27处理后发送TTL信号反馈给检测终端CAN总线控制器24,终端CAN总线控制器24反馈CAN信息23至重型汽车发动机ECU CAN总线控制器30,重型汽车发动机ECU CAN总线控制器30向重型汽车发动机ECU CPU 20反馈TTL信息21,从而完成整个通信过程。

图2本实施例的本发明用于自动测试重型汽车发动机ECU软件版本的装置结构框图。它主要由检测终端CAN总线控制器24、电源模块06、检测终端CPU 27和时钟模块09组成。电源模块06分别通过线路16和线路15向检测终端CAN总线控制器24和检测终端CPU 27供应电量;时钟模块09通过线路17向检测终端CPU传输时间信息。检测终端CAN总线控制器和检测终端CPU通过传输TTL信号实现通信。

图3是本实施例的自动测试重型汽车发动机ECU软件版本的装置原理图,它主要由CAN总线收发器TJA1040、5V转3.3V LDO电源芯片LM1117-33、以及CPU LPC1768构成。由电源芯片向CPU LPC1768及CAN总线收发器TJA1040供电。 CPU LPC176845管脚P0.0连接CAN总线收发器TJA10404管脚rxd,46管脚P0.0连接CAN总线收发器TJA10401管脚txd。

图6是本实施例的自动测试重型汽车发动机ECU软件版本的装置软件功能实现逻辑流程图。检定功能开始后,判断检查转速是否达到设定的转速值Kr/min,该Kr/min转速值由系统设计人员设定,如果没达到,返回操作;如果达到,检测是否到达发送检测报文时间,如果没达到,返回;如果达到,执行开始发送一帧检测报文。检测是否收到重型汽车发动机ECU监测数据,如果是,检测确认重型汽车发动机ECU版本是否非法,是则直接执行重型汽车发动机ECU版本异常播报检定异常报警信息;否则执行重卡汽车发动机ECU版本正常,检定功能结束。检测是否收到重型汽车发动机ECU监测数据,如果否,检测是否超出下一帧检测报文发送周期Nms,如果否,则返回继续检测;如果是,执行检定次数加1;接着检测检定次数是否大于等于3,如果否,则返回检测是否达到发送检测报文时间;如果是,执行重型汽车发动机ECU版本异常播报检定异常报警信息,检定功能结束。检定次数也可以为3以外的其他数值。仍然均未收到重型汽车发动机ECU发送的监测数据或者收到的重型汽车发动机ECU发送的监测数据经逻辑算法确认为非授权或许可的重型汽车发动机ECU软件版本,则视为该重型汽车发动机ECU软件版本为非法版本。将该事件以声光电的报警形式,通过检测终端报警。

图7是本实施例的一种自动测试重型汽车发动机ECU软件版本的装置与发动机ECU握手及数据交换校验流程图。自动测试重型汽车发动机ECU软件版本的装置的主动握手模组向发动机ECU发送根据时间,发动机号,自动测试重型汽车发动机ECU软件版本的装置唯一序列号合成的握手验证码。发动机ECU握手数据匹配模组接收该信号后,按照反向解码接出时间,发动机号,自动测试重型汽车发动机ECU软件版本的装置唯一序列号,验证是否与原始参数一致。若一致则握手成功,进而通过发动机ECU握手数据匹配模组发送发动机ECU软件版本号至自动测试重型汽车发动机ECU软件版本的装置。若不一致或者发动机ECU为软件版本为未授权版本,则发动机ECU不发送软件版本号。同理发动机ECU握手数据匹配模组采用反解密方式,解密码元。

图8、图9对本实施例的一种自动测试重型汽车发动机ECU软件版本的装置的具体模组进行进一步说明:

主动握手模组包括依次连接的获取指定参数模块、加密模块、数据输出模块, 其中获取指定参数模块,将人机交互装置输入的时间、发动机号、检测终端唯一序列号进行存储并传输到加密模块;加密模块,根据输入参数启动加密算法对数据进行加密,加密完毕后连接数据输出模块;数据输出模块通过总线连接重型发动机ECU的握手数据匹配模组,握手数据匹配模组包括解密模块,用解密算法将数据进行解密。

软件版本逻辑算法单元包括依次连接的检定开始模块、判断转速值模块、判断发送报文时间模块、开始发送握手报文模块、监测数据获取模块,监测数据获取模块分别连接判断报文发送周期模块、判断版本模块,判断报文发送周期模块连接检定次数累加模块,检定次数累加模块连接检定次数判断模块,检定次数判断模块连接判断版本模块,判断版本模块分别连接版本异常报警模块、版本正常模块,版本异常报警模块、版本正常模块均连接检定结束模块,其中:

检定开始模块,进行初始化设置后连接判断转速值模块;判断转速值模块,通过总线获得发动机转速,判断是否达到设定的转速值,达到后连接判断发送报文时间模块,未达到设定的转速值,则连接检定次数判断模块;

判断发送报文时间模块,判断是否达到设定的发送报文的时间,当达到时间后,连接开始发送握手报文模块;

开始发送握手报文模块,将指定参数生成的握手验证码发送给发动机ECU,然后连接监测数据获取模块;

监测数据获取模块,判断是否收到发动机ECU返回的监测数据,监测数据包括软件版本号的数据,收到则连接判断版本模块,未收到则连接判断报文发送周期模块;

判断版本模块对收到的软件版本号的数据进行比对,如一致或合法则连接版本正常模块,如不一致或非法则连接版本异常报警模块;

版本正常模块,连接输出显示装置,将版本正常信息以声光电的形式输出;

判断报文发送周期模块,判断等待监测数据返回的时间是否超时,如超时则连接检定次数累加模块,否则连接监测数据获取模块;

检定次数累加模块,对每次握手超时失败的次数进行累加,累加数据发送给检定次数判断模块;

检定次数判断模块,当检定次数累加数据超过设定值时,连接版本异常报警模块,否则连接判断发送报文时间模块。

版本异常报警模块,连接输出显示装置,将版本异常信息以声光电的形式输出。

以上主动握手模组、软件版本逻辑算法单元的各模块的每一个模块的具体的设计及执行方式为本领域技术人员能够实现的技术手段。

一种自动测试重型汽车发动机ECU软件版本的方法,采用检测终端,检测终端包括人机交互装置、CAN总线控制器、检测终端CPU、电源模块,包括如下步骤:

第一步,重型汽车发动机ECU(22)与检测终端(26)之间通过CAN总线进行连接;

第二步,通过检测终端(26)向重型汽车发动机ECU(22)发送监测指令,监测指令包括握手指令,握手成功后,重型汽车发动机ECU(22)回传相应的监测数据,监测数据包括重型汽车发动机ECU的软件版本的信息,否则,重型汽车发动机ECU不回传相应的监测数据;

第三步,握手成功后,监测数据被传输入检测终端CPU的软件版本逻辑算法单元,该单元检测重型汽车发动机ECU的软件版本,如果重型汽车发动机ECU软件版本被检出版本不正确则通过检测终端的显示屏及语音提示给出警告,被测试重型汽车发动机ECU软件版本未能达到当前整机固化版本的要求;如果重型汽车发动机ECU软件版本被检出版本正确达到当前整机固化版本的要求,以此确定重型汽车发动机ECU软件版本。

在上述的方法中,每次启动在检测终端收到重型汽车发动机ECU发送的转速数据达到检测终端检定要求后,在到达检测终端监测报文发送时刻时检测终端发送检测报文,当检测终端收到重型汽车发动机ECU发送的监测数据时,开始利用逻辑算法进行重型汽车发动机ECU软件版本确认;若确认为授权或许可的重型汽车发动机ECU软件版本,则本次检定结束;若检测终端检测报文发送后直到下一个发送周期开始前的一段时间内都未收到重型汽车发动机ECU发送的监测数据时,则循环执行上述逻辑流程到设定次数以上,仍然均未收到重型汽车发动机ECU发送的监测数据或者收到的重型汽车发动机ECU发送的监测数据经逻辑算法确认为非授权或许可的重型汽车发动机ECU软件版本,则视为该重型汽车发动机ECU软件版本为非法版本;将该事件以声光电的报警形式,通过检测终端报警。

最后应当说明的是:以上实施例仅用以说明本案的技术方案而非对其限制;尽管参照较佳实施例对本案进行了详细的说明,所属领域的普通技术人员应当理解: 依然可以对本案的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本案技术方案的精神,其均应涵盖在本案请求保护的技术方案范围当中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1