CN115695020A - 一种车用故障诊断通信方法、装置、设备及存储介质 - Google Patents
一种车用故障诊断通信方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115695020A CN115695020A CN202211368381.XA CN202211368381A CN115695020A CN 115695020 A CN115695020 A CN 115695020A CN 202211368381 A CN202211368381 A CN 202211368381A CN 115695020 A CN115695020 A CN 115695020A
- Authority
- CN
- China
- Prior art keywords
- computer
- upper computer
- instruction
- lower computer
- controlling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种车用故障诊断通信方法、装置、设备及存储介质。本发明通过控制上位机与下位机之间进行通信连接;控制所述上位机与所述下位机之间进行数据传送;控制所述上位机与所述下位机之间进行存储文件校验;其中,所述控制上位机与下位机之间进行通信连接包括:所述上位机与所述下位机之间通信的通信命令按照指令帧发送,每条指令帧包括命令名称字节、加密设置码或加密校验码或者行号字节及指令帧校验字节;所述指令帧分为上位机指令帧发送和下位机指令帧发送。本发明将控制指令和数据指令有效分开后,采用单帧进行数据传输,从而可以提高数据传输效率和传输可靠性,并在通信连接阶段增加加密算法,加强了云诊断服务的通信安全性。
Description
技术领域
本发明涉及汽车故障诊断技术领域,尤其涉及一种车用故障诊断通信方法、装置、设备及存储介质。
背景技术
随着汽车内部功能模块的增多,且这些功能模块受电子控制单元ECU的控制,导致汽车内部的ECU数量越来越多,功能也越来越复杂。ECU需要读取正确的数据才能正常运行,在汽车研发、生产和维修的过程中,由于功能的复杂,需要下传给ECU内部的数据量就会增大,而出产的汽车内部ECU并非功能最完善,后期还需要对汽车内ECU运行数据进行更新升级来提高车辆性能。市场上汽车型号众多,不同型号的汽车ECU运行的数据并不一样,各厂商都有专用的诊断刷写设备,导致汽车修理厂维修汽车的成本十分高昂。
汽车电控系统越来越复杂,诊断仪需要下传的维修数据量也越来越大,有的高达10G以上,要求更高效的故障诊断上/下位机之间通信协议。目前常用的上下位机通信协议,由于通信速度不高,安全性较低,从而很难适应大容量诊断数据传输和远程云诊断的功能。因此,如何可靠高效地解决车用故障诊断的上下位机通信的问题已成为该领域技术人员亟待解决的问题。
发明内容
本发明实施例针对以上缺陷,提供了一种车用故障诊断通信方法、装置、设备及存储介质,用以解决现有技术存在的问题。
为解决上述技术问题,本发明实施例提供了一种车用故障诊断通信方法,所述方法包括:
控制上位机与下位机之间进行通信连接;
控制所述上位机与所述下位机之间进行数据传送;
控制所述上位机与所述下位机之间进行存储文件校验;
其中,所述控制上位机与下位机之间进行通信连接包括:
控制所述上位机与所述下位机之间通信的通信命令按照指令帧发送,每条指令帧包括命令名称字节、加密设置码或加密校验码或者行号字节及指令帧校验字节;
所述指令帧分为上位机指令帧发送和下位机指令帧发送。
优选地,所述上位机指令帧发送和所述下位机指令帧发送的发送步骤包括:
控制所述上位机在预设间隔时间内给所述下位机连续发送K次升级请求指令,依据所述下位机的回复指令显示通信连接状态;
控制所述上位机给所述下位机发送加密算法指令及两个字节的随机数加密设置码;
控制所述下位机收到后进行加密回复并回复两个Byte字节的加密校验码,其中,两个所述Byte字节的加密校验码由所述加密设置码或加密校验码或者行号字节加密计算验证得到;
控制所述上位机收到两个所述Byte字节的加密校验码后,进行相同的加密计算验证,若加密计算验证结果相同,则验证通过,并发送数据传输指令给下位机;
控制所述上位机给所述下位机发送状态查询指令,其中,当汽车处于行驶状态时,所述下位机处于运行模式无法进行升级,所述上位机终止通信连接;当汽车处于静止状态时,所述下位机处于非运行模式可以升级;
控制所述上位机发送下传的存储文件第一行数据及控制所述下位机准备接收上位机下传的存储文件第一行数据。
优选地,所述控制所述上位机与所述下位机之间进行数据传送包括:
控制所述上位机发送数据帧,按行依次发送存储文件数据;
每行数据发送完后,控制所述上位机再发送所述指令帧;
控制所述下位机接收所述数据帧并进行校验,校验包括帧校验和行校验,行校验数据包括本行数据的校验位及上下行之间的连续性。
优选地,所述控制所述上位机与所述下位机之间进行存储文件校验包括:
所述存储文件下传完成后,控制所述上位机发送校验指令,通知所述下位机开始校验;
若所述下位机内部校验未通过则给所述上位机发送校验失败指令,程序跳转到原用户程序;
若下位机内部校验通过,将临时存储数据复制到正式程序数据,完成后发送升级成功指令,程序跳转到新用户程序。
优选地,所述上位机指令帧发送和所述下位机指令帧发送的发送步骤还包括:
如加密计算验证结果不同,则验证未通过,控制所述上位机发送错误指令,握手校验失败。
优选地,所述方法还包括:
所述上位机为安卓平台的平板电脑、WINDOWS平台的PC机电脑或服务器主机;
所述下位机为单片机;
所述上位机及所述下位机之间采用蓝牙、串口或5G通信方式。
优选地,所述上位机指令帧包括程序升级请求指令、加密算法指令、加密验证通过指令、状态查询指令、行发送结束指令及通知下位机开始校验存储文件指令。
为解决上述技术问题,本发明实施例提供了一种车用故障诊断通信装置,所述装置包括:
通信连接模块,用于控制上位机与下位机之间进行通信连接;
数据传送模块,用于控制所述上位机与所述下位机之间进行数据传送;
校验模块,用于控制所述上位机与所述下位机之间进行存储文件校验;
其中,所述控制上位机与下位机之间进行通信连接包括:
所述上位机与所述下位机之间通信的通信命令按照指令帧发送,每条指令帧包括命令名称字节、加密设置码或加密校验码或者行号字节及指令帧校验字节;
所述指令帧分为上位机指令帧发送和下位机指令帧发送。
为解决上述技术问题,本发明实施例提供了一种车用故障诊断通信设备,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。
为解决上述技术问题,本发明实施例提供了一种存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。
综上所述,本发明实施例提供了一种车用故障诊断通信方法、装置、设备及存储介质。本发明通过控制上位机与下位机之间进行通信连接;控制所述上位机与所述下位机之间进行数据传送;控制所述上位机与所述下位机之间进行存储文件校验;其中,所述控制上位机与下位机之间进行通信连接包括:所述上位机与所述下位机之间通信的通信命令按照指令帧发送,每条指令帧包括命令名称字节、加密设置码或加密校验码或者行号字节及指令帧校验字节;所述指令帧分为上位机指令帧发送和下位机指令帧发送。因此,本发明将控制指令和数据指令有效分开,采用单帧进行数据传输,从而可以提高数据传输效率和传输可靠性,并在通信连接阶段增加加密算法,加强了云诊断服务的通信安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一种车用故障诊断通信方法的流程图。
图2是本发明实施例上位机指令帧发送和所述下位机指令帧发送的发送步骤的流程图。
图3是本发明实施例控制所述上位机与所述下位机之间进行数据传送的流程图。
图4是本发明实施例控制所述上位机与所述下位机之间进行数据传送的流程图。
图5是本发明实施例一种车用故障诊断通信方法的原理示意图。
图6是本发明实施例的车用故障诊断通信装置的结构示意图。
图7是本发明实施例的车用故障诊断通信设备的结构示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
请参见图1,图1为本申请提供的一种车用故障诊断通信方法,所述方法包括如下步骤:
S1、控制上位机与下位机之间进行通信连接;
其中,控制上位机与下位机之间进行通信连接包括:
S11、控制上位机与下位机之间通信的通信命令按照指令帧发送,每条指令帧包括命令名称字节、加密设置码或加密校验码或者行号字节及指令帧校验字节;
S12、指令帧分为上位机指令帧发送和下位机指令帧发送。
具体地,在本实施例中,通信命令按照指令帧发送,每条指令帧有4个字节:Byte0、Byte1、Byte2、Byte3,其中Byte0为命令名称,Byte1 Byte2为加密设置码或加密校验码或者行号,Byte3为指令帧校验字节。指令帧分为上位机指令帧发送和下位机指令帧发送。
S2、控制上位机与下位机之间进行数据传送;
具体地,数据传送由上位机向下位机下传存储文件中的数据,数据按帧下传,每帧包括8个字节,帧第一个字节Byte0为数据帧控制参数,如0xDD表示本帧为下传数据,帧最后一个字节Byte7为异或校验字节,中间6个字节是存储文件数据。
S3、控制上位机与下位机之间进行存储文件校验;
作为一种优选地实施例,上位机指令帧包括程序升级请求指令、加密算法指令、加密验证通过指令、状态查询指令、行发送结束指令及通知下位机开始校验存储文件指令。
具体地,在本实施例中,上位机指令帧发送包括6种上位机指令帧,分别用六个不同的值表示。
Byte0表示意义:
1)为0x0F表示程序升级请求。
2)为0x2F表示加密算法指令。
3)为0x3F表示加密验证通过。
4)为0x1F表示状态查询指令。
5)为0x0E表示行发送结束指令。
6)为0x1E,通知下位机开始校验存储文件。
Byte1 Byte2表示意义:
1):当Byte0==0x0E时,Byte1 Byte2表示行号N,Byte1 Byte2代表刚发送完的行号;N=byte1*256+Byte2,Byte1为行号的高字节,Byte2为行号的低字节。
2)Byte0==0x2F时,Byte1 Byte2代表加密设置码,随机生成。
3)Byte0为其它值时,Byte1 Byte2发0。
Byte3表示意义:帧校验码。
具体地,在本实施例中,下位机指令帧发送包括9种下位机指令帧,分别用九个不同的值表示。
Byte0表示意义:
1)为0x4F表示可以升级,表示通信连接成功。
2)为0x6F表示加密回复。
3)为0x7F表示加密验证通过应答。
4)为0xFF表示加密验证不通过;或下位机运行模式,不能升级。
5)为0x5F表示下位机处于非运行模式,可以升级。
6)为0x4E表示通知上位机发送行数据。
7)为0xCE表示行数据校验不通过,通知上位机停止升级。
8)为0x5E下位机内部文件校验未通过,升级失败。
9)为0x6E代表升级成功,升级成功。
Byte1 Byte2表示意义:
1):当Byte0==0x4E时,byte1 byte2代表请求下次发送的行号:N=byte1*256+byte2。
2)当Byte0==0x6F时,Byte1 Byte2代表加密校验码。
3)Byte0为其它值时,Byte1 Byte2发0。
Byte3表示意义:帧校验码。
综上,本申请提供了一种车用故障诊断通信方法,在本方案中,通过控制上位机与下位机之间进行通信连接;控制上位机与下位机之间进行数据传送;控制上位机与下位机之间进行存储文件校验;其中,控制上位机与下位机之间进行通信连接包括:上位机与下位机之间通信的通信命令按照指令帧发送,每条指令帧包括命令名称字节、加密设置码或加密校验码或者行号字节及指令帧校验字节;指令帧分为上位机指令帧发送和下位机指令帧发送。因此,本发明将控制指令和数据指令有效分开后,采用单帧进行数据传输,从而可以提高数据传输效率和传输可靠性,并在通信连接阶段增加加密算法,加强了云诊断服务的通信安全性。
在上述实施例的基础上:
请参照图2,图2为本申请提供的一种上位机指令帧发送和下位机指令帧发送的发送步骤的流程图。
作为一种优选地实施例,上位机指令帧发送和下位机指令帧发送的发送步骤包括:
S121、控制上位机在预设间隔时间内给下位机连续发送K次升级请求指令,依据下位机的回复指令显示通信连接状态;
具体地,上位机给下位机连续发送K次升级请求指令0x0F,请求指令发送间隔10ms。下位机回复0x4F,显示“通信连接成功”,并转到下一步骤S122;当上位机K次请求指令发送完,还未收到下位机回复信息,则显示“通信连接未成功”。
S122、控制上位机给下位机发送加密算法指令及两个字节的随机数加密设置码;
具体地,上位机给下位机发送加密算法指令0x2F及两个字节的随机数Byte1Byte2加密设置码,如:0x2F 0x12(Byte1)0x34(Byte2)。
S123、控制下位机收到后进行加密回复并回复两个Byte字节的加密校验码,其中,两个Byte字节的加密校验码由加密设置码或加密校验码或者行号字节加密计算验证得到;
具体地,下位机收到后,回复0x6F及两个Byte字节ByteA ByteB的加密校验码。ByteA ByteB的值由Byte1 Byte2加密计算得到:
当Byte1的十六进制数值小于十六进制数0x80时,ByteA为将Byte1左移1位(最高位补0,最低位益出),再加上十六进制数0x01;否则ByteA为将Byte1右移1位(最低位补0,最高位益出),再加上十六进制数0x80。
当Byte2的十六进制数值小于十六进制数0x80时,ByteB为将Byte2左移1位(最高位补0,最低位益出),再加上十六进制数0x01;否则ByteB为将Byte2右移1位(最低位补0,最高位益出),再加上十六进制数0x80。
S124、控制上位机收到两个Byte字节的加密校验码后,进行相同的加密计算验证,若加密计算验证结果相同,则验证通过,并发送数据传输指令给下位机;
具体地,上位机收到ByteA ByteB值后,进行与步骤S122中相同的加密计算验证。如二者相同,则验证通过,并发送数据传输指令0x3F给下位机,下位机回复0x7F应答,转到下一步骤S125;如二者不同,则验证未通过,发送错误指令0xFF,握手校验失败。
S125、控制上位机给下位机发送状态查询指令0x1F,其中,当汽车处于行驶状态时,下位机处于运行模式无法进行升级,上位机终止通信连接;当汽车处于静止状态时,下位机处于非运行模式可以升级;
S126、控制上位机发送下传的存储文件第一行数据及控制下位机准备接收上位机下传的存储文件第一行数据。
具体地,上位机给下位机发送状态查询指令0x1F。当汽车处于行驶中(车速>0)时,下位机处于运行模式中,不能升级,则下位机回复0xFF,上位机终止通信连接;当汽车处于静止(车速=0)时,下位机处于非运行模式,可以升级,则下位机回复0x5F,上位机收到0x5F,准备发送下传的存储文件第一行数据,下位机准备接收上位机下传的存储文件第一行数据。
请参照图3,图3为本申请提供的一种控制上位机与下位机之间进行数据传送的流程图。
作为一种优选地实施例,控制上位机与下位机之间进行数据传送包括:
S21、控制上位机发送数据帧,按行依次发送存储文件数据;
具体地,上位机发送数据帧,上位机按行依次发送存储文件数据,每行数据按帧连续发送,每帧数据有8个字节,其中第一个字节Byte0为0xDD是控制参数字节,最后一个字节Byte7为帧校验码(采用异或方式校验),中间6个字节是存储文件数据。每一帧之间发送间隔>3ms,当发送的行数据<6个字节时,用0填充至6个字节,达到满帧。
S22、每行数据发送完后,控制上位机再发送指令帧;
具体地,每行数据发送完后,上位机再发送指令帧:0x0E 0xn1 0xn2,其中0xn10xn2为本行行号N,N的计算方法N=0xn1*256+0xn2,行号从1开始计算。
S23、控制下位机接收数据帧并进行校验,校验包括帧校验和行校验,行校验数据包括本行数据的校验位及上下行之间的连续性。
具体地,下位机接收数据并校验,下位机将存储文件数据存储到临时空间,并进行校验,校验包括帧校验和行校验。行校验数据包括本行数据的校验位及上下行之间的连续性。
具体地,0xN1 0xN2为下一行的行号N,N等于上一行的行号+1,上位机根据收到的行号(N=0xN1*256+0xN2)发送第N行数据。
当下位机单次校验不通过,或者超过200ms未收到上位机数据,下位机会发送命令0x4E 0xN1 0xN2通知上位机重复发送该行的数据,其中0xN1 0xN2表示上一行的行号N,N=0xN1*256+0xN2。持续5次单行数据校验不通过,下位机则发送指令帧0xCE通知上位机停止升级。重复上述步骤,直到全部存储文件发送完成。
具体地,在本实施例中,上位机和下位机通信的指令帧和数据帧的最后一个字节帧校验码采用异或校验,其计算方式分别为:
指令帧:Byte3=byte0^byte1^byte2^byte3;逻辑运算符“^”为按位进行异或校验。
数据帧:Byte7=byte0^byte1^byte2^byte3^byte4^byte5^byte6;逻辑运算符“^”为按位进行异或校验。
请参照图4,图4为本申请提供的一种控制上位机与下位机之间进行数据传送的流程图。
作为一种优选地实施例,控制上位机与下位机之间进行存储文件校验包括:
S31、存储文件下传完成后,控制上位机发送校验指令,通知下位机开始校验;
具体地,存储文件下传完成后,上位机发送0x1 E,通知下位机开始校验。
S32、若下位机内部校验未通过则给上位机发送校验失败指令,程序跳转到原用户程序;
具体地,下位机内部校验未通过则给上位机发送0x5E,升级失败,程序跳转到原用户程序。
S33、若下位机内部校验通过,将临时存储数据复制到正式程序数据,完成后发送升级成功指令,程序跳转到新用户程序。
具体地,下位机内部校验通过后,将临时存储数据复制到正式程序数据,完成后发送0x6E代表升级成功,程序跳转到新用户程序。
作为一种优选地实施例,上位机指令帧发送和下位机指令帧发送的发送步骤还包括:
如加密计算验证结果不同,则验证未通过,控制上位机发送错误指令,握手校验失败。
请参照图5,图5为本申请提供的一种车用故障诊断通信方法的原理图。
作为一种优选地实施例,方法还包括:
上位机为安卓平台的平板电脑、WINDOWS平台的PC机电脑或服务器主机;
下位机为单片机;
上位机及下位机之间采用蓝牙、串口或5G通信方式。
具体地,在本实施例中,下位机有运行模式和非运行模式。上位机没有模式区分。
具体地,存储文件的行数据格式如下:存储格式文件中的每一行称为一个记录,每个记录由记录类型、记录长度、存储地址、数据、校验和5个部分组成。
记录类型占用1个Byte字节,用来描述记录的类型。共有F0-F7,8个记录类型:
F0:存储格式文件的第一个记录,表示文件名(含路径),存储地址部分没有使用,以0000置位。此记录表示记录的开始,无需下载到下位机。
F1:地址为2字节(4个字符)的记录。
F2:地址为3字节的记录。
F3:地址为4字节的记录。
F4:标记本文件的01、02、03记录的个数(此记录不是一个存储文件所必须的)。
F5:地址为4字节,表示程序的开始执行地址,数据部分没有被使用,此行表示程序的结束,无需下载到下位机。
F6:地址为3字节,表示程序的开始执行地址,数据部分没有被使用,此行表示程序的结束,无需下载到下位机。
F7:地址为2字节,表示程序的开始执行地址,数据部分没有被使用,此行表示程序的结束,无需下载到下位机。
记录长度占用1个Byte字节,显示在记录中剩余的字节数。即:
记录长度=存储地址字节数+数据字节数+校验和字节数;
存储地址占用2或3或4个Byte字节(由记录类型决定),用来表示数据应该装载的起始地址。
数据占用0-32Byte字节,表示需要下载到下位机中的数据。
校验和占用1个Byte字节,校验数据,计算方法如下:
校验和=0Xff–(记录长度+存储地址+数据)
该为校验和不是字符的校验和,而是实际二进制数的校验和。
其中每条记录的末尾都有一个行结束标记EOL(End Of Line,行尾)。
具体地,举例来说:
F01F0000443A5C50726F6A6563745F335C62696E5C50726F6A6563742E616273 71
F123C000CF2100C6055B134A800BFE4A8000FE0000C015C0310000000000000000000000 92
F2 18 FE8020 F2FEC013EC31270BED31180A30700434F920F10A 0B
F9 030000FC
第一行:F0,表示F19文件格式开始;1F为剩余字节数;0000无用;443A5C50726F6A6563745F335C62696E5C50726F6A6563742E616273为D:/Project_3/bin/Project_3.abs.的ASCII码;71为校验和.
第二行:F1,表示本条记录存储地址长度为2字节;23(注意为16进制)剩余字节数,C000,表示起始地址,92表示校验和。即,本行表示将CF2100C6055B134A800BFE4A8000FE0000C015C0310000000000000000000000依次下载到从地址C000开始的一段连续地址中。
第三行:F2,表示本条记录存储地址长度为3字节,18(16进制数)表示剩余字节数,FE8020表示起始地址,0B为校验和。
校验和的计算:以F2记录为例,
校验和=0xFF–(0xFE+0x80+0x20+0Xf2+…+0x0A)。
请参阅图6,本发明实施例提供了一种车用故障诊断通信装置,装置包括:
通信连接模块1,用于控制上位机与下位机之间进行通信连接;
数据传送模块2,用于控制上位机与下位机之间进行数据传送;
校验模块3,用于控制上位机与下位机之间进行存储文件校验;
其中,控制上位机与下位机之间进行通信连接包括:
上位机与下位机之间通信的通信命令按照指令帧发送,每条指令帧包括命令名称字节、加密设置码或加密校验码或者行号字节及指令帧校验字节;
指令帧分为上位机指令帧发送和下位机指令帧发送。
另外,结合图1描述的本发明实施例的一种车用故障诊断通信方法可以由车用故障诊断通信设备来实现。图7示出了本发明实施例提供的车用故障诊断通信设备的硬件结构示意图。
车用故障诊断通信设备可以包括处理器401以及存储有计算机程序指令的存储器402。
具体地,上述处理器401可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器402可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器402可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器402可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器402可在数据处理装置的内部或外部。在特定实施例中,存储器402是非易失性固态存储器。在特定实施例中,存储器402包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器401通过读取并执行存储器402中存储的计算机程序指令,以实现上述实施例中的任意一种车用故障诊断通信方法。
在一个示例中,车用故障诊断通信设备还可包括通信接口403和总线410。其中,如图7所示,处理器401、存储器402、通信接口403通过总线410连接并完成相互间的通信。
通信接口403,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
总线410包括硬件、软件或两者,将车用故障诊断通信设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线410可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
另外,结合上述实施例中的一种车用故障诊断通信方法,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种车用故障诊断通信方法。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
综上所述,本发明中上/下位机通信协议针对汽车故障诊断进行设计,协议格式设计简单高效,将控制指令和数据指令有效分开后,采用单帧进行数据传输,从而可以提高数据传输效率和传输可靠性,此外在在通信连接阶段增加加密算法,加强了云诊断服务的通信安全性。本发明通信协议有高可靠性、高性能以及突出的实时性,能够很好的满足汽车在较少线束的情况下进行大容量数据交换需求。本发明采用C语言进行程序设计,调用数据文件实现在一台诊断设备上向不同车型的各种ECU下传数据,具有良好的兼容性、适用性和稳定性。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种车用故障诊断通信方法,其特征在于,所述方法包括:
控制上位机与下位机之间进行通信连接;
控制所述上位机与所述下位机之间进行数据传送;
控制所述上位机与所述下位机之间进行存储文件校验;
其中,所述控制上位机与下位机之间进行通信连接包括:
控制所述上位机与所述下位机之间通信的通信命令按照指令帧发送,每条指令帧包括命令名称字节、加密设置码或加密校验码或者行号字节及指令帧校验字节;
所述指令帧分为上位机指令帧发送和下位机指令帧发送。
2.根据权利要求1所述的一种车用故障诊断通信方法,其特征在于,所述上位机指令帧发送和所述下位机指令帧发送的发送步骤包括:
控制所述上位机在预设间隔时间内给所述下位机连续发送K次升级请求指令,依据所述下位机的回复指令显示通信连接状态;
控制所述上位机给所述下位机发送加密算法指令及两个字节的随机数加密设置码;
控制所述下位机收到后进行加密回复并回复两个Byte字节的加密校验码,其中,两个所述Byte字节的加密校验码由所述加密设置码或加密校验码或者行号字节加密计算验证得到;
控制所述上位机收到两个所述Byte字节的加密校验码后,进行相同的加密计算验证,若加密计算验证结果相同,则验证通过,并发送数据传输指令给下位机;
控制所述上位机给所述下位机发送状态查询指令,其中,当汽车处于行驶状态时,所述下位机处于运行模式无法进行升级,所述上位机终止通信连接;当汽车处于静止状态时,所述下位机处于非运行模式可以升级;
控制所述上位机发送下传的存储文件第一行数据及控制所述下位机准备接收上位机下传的存储文件第一行数据。
3.根据权利要求1所述的一种车用故障诊断通信方法,其特征在于,所述控制所述上位机与所述下位机之间进行数据传送包括:
控制所述上位机发送数据帧,按行依次发送存储文件数据;
每行数据发送完后,控制所述上位机再发送所述指令帧;
控制所述下位机接收所述数据帧并进行校验,校验包括帧校验和行校验,行校验数据包括本行数据的校验位及上下行之间的连续性。
4.根据权利要求1所述的一种车用故障诊断通信方法,其特征在于,所述控制所述上位机与所述下位机之间进行存储文件校验包括:
所述存储文件下传完成后,控制所述上位机发送校验指令,通知所述下位机开始校验;
若所述下位机内部校验未通过则给所述上位机发送校验失败指令,程序跳转到原用户程序;
若下位机内部校验通过,将临时存储数据复制到正式程序数据,完成后发送升级成功指令,程序跳转到新用户程序。
5.根据权利要求4所述的一种车用故障诊断通信方法,其特征在于,所述上位机指令帧发送和所述下位机指令帧发送的发送步骤还包括:
如加密计算验证结果不同,则验证未通过,控制所述上位机发送错误指令,握手校验失败。
6.根据权利要求5所述的一种车用故障诊断通信方法,其特征在于,所述方法还包括:
所述上位机为安卓平台的平板电脑、WINDOWS平台的PC机电脑或服务器主机;
所述下位机为单片机;
所述上位机及所述下位机之间采用蓝牙、串口或5G通信方式。
7.根据权利要求1所述的一种车用故障诊断通信方法,其特征在于,所述上位机指令帧包括程序升级请求指令、加密算法指令、加密验证通过指令、状态查询指令、行发送结束指令及通知下位机开始校验存储文件指令。
8.一种车用故障诊断通信装置,其特征在于,所述装置包括:
通信连接模块,用于控制上位机与下位机之间进行通信连接;
数据传送模块,用于控制所述上位机与所述下位机之间进行数据传送;
校验模块,用于控制所述上位机与所述下位机之间进行存储文件校验;
其中,所述控制上位机与下位机之间进行通信连接包括:
所述上位机与所述下位机之间通信的通信命令按照指令帧发送,每条指令帧包括命令名称字节、加密设置码或加密校验码或者行号字节及指令帧校验字节;
所述指令帧分为上位机指令帧发送和下位机指令帧发送。
9.一种车用故障诊断通信设备,其特征在于,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现如权利要求1-7中任一项所述的方法。
10.一种存储介质,其上存储有计算机程序指令,其特征在于,当所述计算机程序指令被处理器执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211368381.XA CN115695020A (zh) | 2022-11-03 | 2022-11-03 | 一种车用故障诊断通信方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211368381.XA CN115695020A (zh) | 2022-11-03 | 2022-11-03 | 一种车用故障诊断通信方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115695020A true CN115695020A (zh) | 2023-02-03 |
Family
ID=85048619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211368381.XA Pending CN115695020A (zh) | 2022-11-03 | 2022-11-03 | 一种车用故障诊断通信方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115695020A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118655824A (zh) * | 2024-08-21 | 2024-09-17 | 合肥安迅精密技术有限公司 | 基于串口通讯的方法、装置及系统 |
-
2022
- 2022-11-03 CN CN202211368381.XA patent/CN115695020A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118655824A (zh) * | 2024-08-21 | 2024-09-17 | 合肥安迅精密技术有限公司 | 基于串口通讯的方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108132795B (zh) | 一种电子控制单元的软件更新方法及装置 | |
US11223525B2 (en) | Gateway device, firmware update method, and recording medium | |
CN108279916B (zh) | 电子控制单元程序更新方法和装置 | |
US20240020111A1 (en) | Data processing method and related device | |
CN112988191A (zh) | 车辆空中下载升级管理系统及方法 | |
CN111190629B (zh) | 一种嵌入式终端升级软件包及其解析方法 | |
US9384604B1 (en) | Transfer dongle for stored vehicle information | |
CN108241514A (zh) | 车载程序更新方法和装置 | |
CN113406944B (zh) | 车辆诊断方法、装置、设备及计算机可读存储介质 | |
CN115695020A (zh) | 一种车用故障诊断通信方法、装置、设备及存储介质 | |
CN111158751A (zh) | 一种Windows环境部署方法、电子设备及存储介质 | |
CN112181449A (zh) | 车载软件升级方法、装置、系统及存储介质 | |
CN113655737B (zh) | 一种经can传输的车载电子控制器快速升级系统与方法 | |
CN112615835B (zh) | 一种对充电桩多通讯协议支持方法及存储介质 | |
CN113037850A (zh) | 一种应用程序升级方法、装置、电子设备及存储介质 | |
CN116974616B (zh) | 一种通过u盘升级整车所有电控单元的方法 | |
CN114281065A (zh) | 车辆的电子控制单元刷写方法、装置及诊断设备 | |
CN113791800A (zh) | 一种自动泊车控制模块远程升级方法、系统及汽车 | |
CN114793196A (zh) | 固件升级方法、装置、设备和存储介质 | |
CN115442411A (zh) | 一种基于终端互联网的车端管理方法及车端管理系统 | |
CN115280280A (zh) | 用于朝向车辆的车载计算机的存储器更新包括物理地址的软件的更新方法和更新装置 | |
CN116394762B (zh) | 燃料电池车辆数据处理系统、方法及燃料电池车辆 | |
CN113238786A (zh) | 电动汽车充配电系统在线升级app代码验证方法及系统 | |
CN108334282B (zh) | 汽车电子控制单元的程序文件下载方法和装置 | |
CN117615034A (zh) | Plc转接头、通讯方法及通讯系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |