一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种车辆故障远程诊断系统及方法与流程

2022-07-23 13:01:26 来源:中国专利 TAG:


1.本发明涉及汽车故障诊断技术领域,具体涉及一种车辆故障远程诊断系统及方法。


背景技术:

2.随着经济社会的发展,汽车的拥有量越来越多,对汽车的故障诊断也日趋成熟。汽车故障诊断技术的发展,使得汽车故障的处理速度更为快速,在现有的车辆故障诊断技术中,往往仅能实现单一的功能,无法实时对车辆的状态进行监控,只能在车辆驾驶员主动进行故障 检测时才能够进行故障诊断。
3.如公开号为cn113325830a的发明专利公开了一种汽车诊断仪远程诊断方法”,通过车载网联终端tbox在总线上发送相应的诊断指令,获取模块给出的诊断响应并上传给远程诊断系统;tbox解析服务器内容并解析成相应的can诊断命令发送至can总线,并接收模块的诊断回复内容上传至远程诊断系统,远程诊断系统根据uds协议解析原始报文。该发明 专利根据uds协议解析报文部分放在了云服务器处理,设计存在局限性,云端不能够下发复杂的诊断指令,有可能会由于网络延时问题导致指令没有及时下发而诊断失败。
4.如公开号为cn209946704u的实用新型专利公开了一种应对车辆故障的云诊断系统,包括车载终端、云端服务器和移动客户端,各组成部分通过4g网络通信;车载终端用于采集车辆信息,并将采集的数据通过4g网络发送至云端服务器,同时把采集的数据存储到tf卡中,并附带时间戳;云端服务器用于登录、登出、接收数据、发送数据、存储数据,并将数据下发至移动客户端;移动客户端用于接收云端服务器发送的数据,用户在移动客户端接收信息并进行操作。该实用新型专利只支持读取故障代码,在汽车电子化程度越来越高的今天,单一读取故障代码已经不能满足日益增多的需求。
5.如今,传统的车辆诊断一般都是把车辆开到4s店,用故障诊断仪进行诊断,而且一般是是出现了明显的的故障,驾驶员才主动到4s店进行维修。而车辆远程在线诊断系统可以远程在线诊断车辆故障,并告知驾驶员车辆存在的故障以及时维修。因此,设计出一种多功能,高效, 扩展性高的远程诊断程序诊断系统显得尤为重要。


技术实现要素:

6.针对上述现有技术的不足,本发明所要解决的技术问题是:如何提供一种车辆故障远程诊断系统及方法,解决常规远程诊断功能的局限性,提高诊断效率,降低诊断成本。
7.为了解决上述技术问题,本发明采用了如下的技术方案:一种车辆故障远程诊断系统,包括云端、与云端通信连接的车载终端,以及与车载终端通信连接的至少一个ecu;云端,用于发送诊断指令,对车载终端反馈的诊断数据进行处理;车载终端,用于采集车辆的诊断数据,并将采集的诊断数据发送至云端;ecu,用于实时获取车辆的诊断数据,反馈诊断报文至车载终端;
车载终端包括mcu,以及与mcu通信连接的4g模块,mcu用于解析诊断指令,转化为can报文格式,接收对应ecu的诊断报文,并通过4g模块发送至云端。
8.进一步地,mcu包括远程诊断app层、远程诊断nl层和driver层;远程诊断app层,用于解析和处理云端的诊断指令;远程诊断nl层,用于将远程诊断app层发送的数据包转化为can报文格式,以及接收can网络上原始报文进行组包、拆包传递回远程诊断app层;driver层,用于处理驱动接收can报文,并封装成统一接口供远程诊断nl层使用。
9.进一步地,远程诊断app层具有多个uds服务函数,用于处理对应的uds诊断服务,以及配套的uds服务函数后台任务。
10.进一步地,mcu和4g模块之间通过uart(universal asynchronous receiver/transmitter,异步收发传输器)或spi(serial peripheral interface,串行外设接口)通信连接。
11.进一步地,所述车载终端与ecu通过gw通信连接,gw用于转发can报文,以实现数据转发。
12.进一步地,mcu与gw之间、gw与ecu之间通过can(controller area network,控制器局域网)通信连接。
13.本发明还提出一种车辆故障远程诊断方法,本方法使用上述的一种车辆故障远程诊断系统,其特征在于,包括以下步骤:s1、车载终端通过4g模块接收云端的诊断指令后转发给mcu;s2、mcu下发诊断指令到can网络上,并通过gw转发给对应的ecu;s3、ecu收到诊断指令发出诊断报文;s4、mcu接收can网络上的诊断报文,发送给4g模块;s5、4g模块接收mcu发送来的诊断数据,并转发给云端;s6、云端对反馈的诊断数据进行处理。
14.进一步地,在步骤s2中,mcu下发诊断指令到can网络上包括以下步骤:s21、mcu循环检测诊断指令队列,当收到4g模块发出的诊断指令时,进行入队操作,执行步骤s22;s22、mcu进行出队操作,保存当前待处理诊断指令,通过读取can网络信号判断车辆是否满足诊断条件,如果满足诊断条件,则执行s23,否则反馈诊断条件不满足信息发送给4g模块;s23、调用对应uds服务函数、转化为can报文格式,并下发到can网络上。
15.进一步地,在步骤s4中,mcu接收can网络上的诊断报文,发送给4g模块包括以下步骤:s41、当云端诊断指令为功能寻址时,则执行s42,否则执行s43;s42、等待5秒,如果收到对应ecu反馈的诊断报文,再等待10秒后将收到的原始诊断报文组包传送给4g模块,否则反馈对应ecu超时信息给4g模块;s43、等待5秒,如果收到对应ecu反馈的诊断报文,则执行s44,否则反馈对应ecu超时信息给4g模块;s44、判断云端诊断指令是否属于特定uds服务函数,如果是则处理流程结束,否则
将对应ecu反馈报文传送给4g模块。
16.与现有技术相比,本发明的有益效果在于:1、通过云下发诊断指令(单个诊断指令或多个诊断指令)至4g模块,4g模块转发诊断指令至mcu,mcu使用队列的数据结构缓存诊断指令,采用软件分层结构,按顺序解析诊断指令调用远程诊断app层中对应的uds服务函数,下发解析后的数据到uds网络层上,经过处理后把诊断指令发送到can网络上,再将对应ecu(控制器)反馈的can报文一层层回传至云端。通过这一过程,可以实现云端能够读取车辆各个ecu(控制器)的故障码、状态码以及修改各个ecu存储在本地的数据,从而解决了常规远程诊断功能的局限性,提高了诊断效率,降低了诊断成本。
附图说明
17.为了使发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:图1为本发明中车辆故障远程诊断系统的整体结构示意图;图2为本发明中车辆故障远程诊断系统的流程图;图3为本发明中车辆故障远程诊断方法的流程图;图4为本发明中mcu的流程图。
具体实施方式
18.下面结合附图对本发明作进一步的详细说明。
19.如图1所示,本实施例中提供一种车辆故障远程诊断系统,包括云端、与云端通信连接的车载终端,以及与车载终端通信连接的至少一个ecu(electronic control unit,车辆控制器);云端,用于发送诊断指令,对车载终端反馈的诊断数据进行处理;车载终端,用于采集车辆的诊断数据,并将采集的诊断数据发送至云端;ecu,用于实时获取车辆的诊断数据,反馈诊断报文至车载终端;车载终端包括mcu(micro controller unit ,微控制单元),以及与mcu通信连接的4g模块,mcu用于解析诊断指令,转化为can报文格式,接收对应ecu的诊断报文,并通过4g模块发送至云端。
20.参见图2,本系统中,通过云端下发诊断指令(单个诊断指令或多个诊断指令)至4g模块,4g模块转发诊断指令至mcu,mcu使用队列的数据结构缓存诊断指令,采用软件分层结构,按顺序解析诊断指令调用远程诊断app层中对应的uds服务函数,下发解析后的数据到uds网络层上,经过处理后把诊断指令发送到can网络上,再将对应ecu(控制器)反馈的can报文一层层回传至云端,通过这一过程,可以实现云端能够读取车辆各个ecu(控制器)的故障码、状态码以及修改各个ecu存储在本地的数据,从而解决了常规远程诊断功能的局限性,提高了诊断效率,降低了诊断成本。
21.具体实施时,mcu包括远程诊断app层、远程诊断nl层和driver层;远程诊断app层,用于解析和处理云端的诊断指令;该层内置有一个管理、处理诊断指令的状态机,状态机平时处于空闲状态,在接收到4g模块转发的云端的诊断指令后进
入下一步状态。
22.远程诊断nl层,集成有uds协议栈中网络层的代码,用于将远程诊断app层发送的数据转化为can报文格式,以及接收can网络上原始报文进行组包、拆包传递回远程诊断app层;拆包,去掉原始can报文的帧控制头,只保留有效数据,通过远程诊断nl层有利于简化远程诊断app层代码逻辑,便于维护代码,以及提高可移植性。
23.driver层用,用于处理驱动、接收can报文,并封装成统一接口供远程诊断nl层使用。
24.具体实施时,远程诊断app层具有多个uds服务函数,用于处理对应的uds诊断服务,以及配套的uds服务函数处理后台任务(周期轮询执行)。而uds服务函数例如10服务、27服务、3e服务、19服务、22服务、11服务、14服务、2e服务等,每种服务对应车辆的一种诊断指令,通过函数指针列表可以对特定服务做出特定处理,提高了可扩展性。
25.具体实施时,mcu和4g模块之间通过uart(universal asynchronous receiver/transmitter,异步收发传输器)或spi(serial peripheral interface,串行外设接口)通信连接。
26.具体实施时,所述车载终端与ecu通过gw(gateway,网关)通信连接,gw用于转发can报文,实现数据转发。
27.具体实施时,mcu、gw和车辆上其他ecu通过can(controller area network,控制器局域网)通信连接。
28.参见图3,本发明还提供一种车辆故障远程诊断方法,本方法使用上述的一种车辆故障远程诊断系统,包括以下步骤:s1、车载终端通过4g模块接收云端的诊断指令后转发给mcu;s2、mcu下发诊断指令到can网络上,并通过gw接收指令转发给对应的ecu;s3、ecu收到诊断指令发出诊断报文;s4、mcu接收can网络上的诊断报文,发送给4g模块;s5、4g模块转发mcu发送来的诊断数据,并转发给云端;s6、云端对反馈的诊断数据进行处理。
29.参见图4,具体实施时,在步骤s2中,mcu下发会诊断指令到can网络上包括以下步骤:s21、mcu循环检测诊断指令队列,当收到4g模块发出的诊断指令时,进行入队操作,执行步骤s22;s22、mcu进行出队操作,保存当前待处理诊断指令,通过读取can网络信号判断车辆是否满足诊断条件,需要判断的信号例如车速、发动机运行状态等,如果满足诊断条件,则执行s23,否则反馈诊断条件不满足信息发送给4g模块;s23、根据诊断指令调用对应uds服务函数、通过远程诊断nl层转化为can报文格式,并下发到can网络上。
30.具体实施时,在步骤s4中,mcu接收can网络上的诊断报文,发送给4g模块包括以下步骤:s41、当云端诊断指令为功能寻址时,则执行s42,否则执行s43;s42、等待5秒,如果收到对应ecu反馈的诊断报文,再等待10秒后将收到的原始诊
断报文组包传送给4g模块,否则反馈对应ecu超时信息给4g模块;s43、等待5秒,如果收到对应ecu反馈的诊断报文,则执行s44,否则反馈对应ecu超时信息给4g模块;s44、判断云端诊断指令是否属于特定uds服务函数,如果是则处理流程结束,否则将对应ecu反馈报文传送给4g模块。
31.本发明将云端下发单个诊断指令或多个诊断指令到mcu,车载终端通过4g模块接收云端的诊断指令后转发给mcu,针对特定的诊断指令,在远程诊断app层中有uds服务函数,以及与其对应的后台函数对它们进行特殊处理。
32.例如、云端下发功能寻址的诊断指令,由于mcu内存资源有限,远程诊断nl层一段时间内只能够处理一个ecu(控制器)的诊断报文,下发功能寻址,会有多个ecu反馈诊断报文,这个时候就需要制定特殊处理。下发功能寻址报文后,在5s内没有收到反馈报文则回复云端服务诊断超时;有收到反馈报文,当mcu接受到can报文首帧时直接发送固定的流控帧,不进行组包处理,重新记时10s,然后将这段时间内接受到的原始报文都传送回云端进行处理。
33.例如、云端下发的诊断指令为2e服务,对ecu安全等级有要求时,云端通过将多个诊断指令同时下发的方式先缓存到mcu的队列中,一条条执行,通过云端下发各个ecu的安全常量,mcu接受到后调用安全加密算法生成key,从而解锁对端控制器的安全等级,实现对应的uds服务,解决常规远程诊断功能的局限性。
34.最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管通过参照本发明的优选实施例已经对本发明进行了描述,但本领域的普通技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变。凡是属于本发明的技术方案所引申出的显而易见的改变仍处于本发明的保护范围之列。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献