一种车辆诊断数据转发方法、装置及网关制造方法及图纸

技术编号:26262500 阅读:54 留言:0更新日期:2020-11-06 18:00
本申请提供了一种车辆诊断数据转发方法、装置及网关,其中,网关中维护第一计时器和第二计时器,第一计时器用于控制网关主动向诊断设备发送等待响应报文的时机,第二计时器用于监控被诊断设备是否在线。网关根据实际情况控制两个计时器的运行状态,并根据运行状态转发相应数据。避免由于网关或被诊断设备对数据的处理产生的延迟,使诊断设备误判被诊断设备的状态而重新发起诊断请求这种现象发生,最终提高了诊断数据传输的准确率。

【技术实现步骤摘要】
一种车辆诊断数据转发方法、装置及网关
本申请属于汽车诊断
,尤其涉及一种车辆诊断数据转发方法、装置及网关。
技术介绍
随着车联网的发展,为满足更快的通信速度,以及对车辆的更多诊断需求。汽车上应用的通信协议由原来的CAN协议,扩展到CANFD,Ethernet等速度更快,传输数据量更多的总线协议。对车辆的诊断控制的需求由以前的只有诊断仪能进行诊断,扩展到TBOX设备或其他设备也能发起诊断,以支持远程升级,故障获取等功能的实现。诊断设备对车辆内部的控制器进行升级或诊断时,通常需要通过网关进行数据转发。不同的诊断设备与网关之间进行通信的协议可能不同,而且,不同的被诊断设备与网关之间进行通信的协议也可能不同。不同的通信协议能够传递的数据量不同,例如,CAN协议每帧报文能够传递的数据量是8bytes,CANFD协议每帧报文传递的数据量是64bytes,Ethernet协议每帧报文能够传递的数据量是4096bytes。因此,诊断数据传递到网关时,网关需要对报文重新组装或拆解以适应目标网段所使用协议的传输数据量。诊断协议中规定了诊断设备发出诊断请求后应收到响应报文的时间,若超出该时间未收到响应报文,诊断设备将重新发出诊断请求。当使用网关进行诊断报文路由时,由于不同协议传输的数据量不同,网关可能需要对诊断报文进行处理转换等操作,导致诊断设备在约定的时间内没有收到完整的响应报文而重新发起诊断请求。此外,当被诊断设备对诊断请求的响应涉及大量数据的处理时,也可能导致诊断设备在约定的时间内没有收到完整的响应报文而重新发出请求,即,诊断设备会错误地判断被诊断设备的状态,从而导致重复地发出诊断请求。
技术实现思路
有鉴于此,本申请的目的在于提供一种车辆诊断数据转发方法、装置及网关,以解决相关技术的基于网关的诊断数据转发过程中网关没有相应的诊断数据转发时间控制机制,导致诊断设备错误判定被诊断设备的状态的技术问题,其公开的技术方案如下:第一方面,本申请提供了一种车辆诊断数据转发方法,应用于网关中,所述网关中设置有第一计时器和第二计时器,所述方法包括:当网关接收到目标诊断设备发送的诊断请求报文后,启动所述第一计时器;若在所述第一计时器计时结束前,所述网关将所述诊断请求报文成功发送至目标被诊断设备,则停止所述第一计时器,并启动所述第二计时器;若直到所述第一计时器计时结束,所述网关未成功将所述诊断请求报文发送至所述目标被诊断设备,则所述网关向所述目标诊断设备发送等待响应报文,并重启所述第一计时器,其中,所述等待响应报文用于使所述目标诊断设备延长等待目标被诊断设备反馈诊断响应报文的时间;若在所述第二计时器计时结束前,所述网关接收到目标被诊断设备发送的所述等待响应报文后,将该等待响应报文转发至所述目标诊断设备,并重启所述第二计时器;若在所述第二计时器计时结束前,所述网关接收到所述目标被诊断设备返回的全部诊断响应报文,将全部诊断响应报文发送至所述目标诊断设备,并停止所述第二计时器;若直到所述第二计时器计时结束,所述网关未成功接收所述目标被诊断设备返回的全部诊断响应报文,停止所述第二计时器。可选地,若在所述第二计时器计时结束前,所述网关接收到所述目标被诊断设备返回的全部诊断响应报文,将全部诊断响应报文发送至所述目标诊断设备,并停止所述第二计时器,包括:若在所述第二计时器计时结束前,所述网关接收到所述目标被诊断设备返回的诊断响应报文中的首帧诊断响应数据,控制处于停止状态的第一计时器开始计时,且当所述网关每接收到一帧诊断响应数据时重启所述第二计时器;若直到所述第一计时器计时结束且所述第二计时器计时未结束,所述网关未接收到全部诊断响应报文,则向所述目标诊断设备发送所述等待响应报文,并重启所述第一计时器;若在所述第一计时器和所述第二计时器计时结束前,所述网关接收到全部诊断响应报文,则将所述全部诊断响应报文发送至所述目标诊断设备,并停止所述第一计时器和所述第二计时器。可选地,所述方法还包括:若在所述第二计时器计时结束时,所述网关未接收到全部诊断响应报文,则停止所述第一计时器和所述第二计时器。可选地,所述若直到所述第一计时器计时结束,所述网关未成功将所述诊断请求报文发送至所述目标被诊断设备,则所述网关向所述目标诊断设备发送等待响应报文,并重启所述第一计时器,包括:所述网关确定所述目标诊断设备发送的诊断请求报文需要分成多个诊断请求数据帧发送至所述目标被诊断设备;若直到所述第一计时器计时结束,所述网关未将所述诊断请求报文的全部诊断请求数据帧发送至所述目标被诊断设备,则向所述目标诊断设备发送所述等待响应报文,并重新启动所述第一计时器。可选地,所述网关确定所述目标诊断设备发送的诊断请求报文需要分成多个诊断请求数据帧发送至所述目标被诊断设备,包括:所述网关接收到所述目标诊断设备发送的诊断请求报文后,若所述诊断请求报文的数据量大于目标通信协议的单次数据传输量,则确定所述诊断请求报文需要分成多个诊断请求数据帧发送至所述目标被诊断设备;其中,所述目标通信协议是所述网关与所述目标被诊断设备所使用的通信协议。可选地,所述重启所述第一计时器,包括:控制所述第一计时器重新开始计时,且重启后的第一计时器的计时时长大于停止后启动第一计时器时的计时时长。可选地,所述当所述网关每接收到一帧诊断响应数据时重启所述第二计时器,包括:当所述网关每接收到一帧诊断响应数据时,通知所述第二计时器重新开始计时,且重启后的第二计时器的计时时长大于停止后启动的第二计时器的计时时长。第二方面,本申请还提供了一种车辆诊断数据转发装置,应用于网关中,所述网关中设置有第一计时器和第二计时器,所述装置包括:第一计时器启动模块,用于当网关接收到目标诊断设备发送的诊断请求报文后,启动所述第一计时器;第二计时器启动模块,用于当在所述第一计时器计时结束前,所述网关将所述诊断请求报文成功发送至目标被诊断设备时,停止所述第一计时器,并启动所述第二计时器;等待报文发送模块,用于当直到所述第一计时器计时结束,所述网关未成功将所述诊断请求报文发送至所述目标被诊断设备时,所述网关向所述目标诊断设备发送等待响应报文,并重启所述第一计时器,其中,所述等待响应报文用于使所述目标诊断设备延长等待目标被诊断设备反馈诊断响应报文的时间;等待报文转发模块,用于当在所述第二计时器计时结束前,所述网关接收到目标被诊断设备发送的所述等待响应报文后,将该等待响应报文转发至所述目标诊断设备,并重启所述第二计时器;响应报文接收模块,用于当在所述第二计时器计时结束前,所述网关接收到所述目标被诊断设备返回的全部诊断响应报文,将全部诊断响应报文发送至所述目标诊断设备,并停止所述第二计时器;计时结束模块,用于当直到所述第二计时器计时结束,所述网关未成功接收所述目标被诊断设备返回的全部诊断响应报文时,停止所述第二计时器。可选地,所述响本文档来自技高网
...

【技术保护点】
1.一种车辆诊断数据转发方法,其特征在于,应用于网关中,所述网关中设置有第一计时器和第二计时器,所述方法包括:/n当网关接收到目标诊断设备发送的诊断请求报文后,启动所述第一计时器;/n若在所述第一计时器计时结束前,所述网关将所述诊断请求报文成功发送至目标被诊断设备,则停止所述第一计时器,并启动所述第二计时器;/n若直到所述第一计时器计时结束,所述网关未成功将所述诊断请求报文发送至所述目标被诊断设备,则所述网关向所述目标诊断设备发送等待响应报文,并重启所述第一计时器,其中,所述等待响应报文用于使所述目标诊断设备延长等待目标被诊断设备反馈诊断响应报文的时间;/n若在所述第二计时器计时结束前,所述网关接收到目标被诊断设备发送的所述等待响应报文后,将该等待响应报文转发至所述目标诊断设备,并重启所述第二计时器;/n若在所述第二计时器计时结束前,所述网关接收到所述目标被诊断设备返回的全部诊断响应报文,将全部诊断响应报文发送至所述目标诊断设备,并停止所述第二计时器;/n若直到所述第二计时器计时结束,所述网关未成功接收所述目标被诊断设备返回的全部诊断响应报文,停止所述第二计时器。/n

【技术特征摘要】
1.一种车辆诊断数据转发方法,其特征在于,应用于网关中,所述网关中设置有第一计时器和第二计时器,所述方法包括:
当网关接收到目标诊断设备发送的诊断请求报文后,启动所述第一计时器;
若在所述第一计时器计时结束前,所述网关将所述诊断请求报文成功发送至目标被诊断设备,则停止所述第一计时器,并启动所述第二计时器;
若直到所述第一计时器计时结束,所述网关未成功将所述诊断请求报文发送至所述目标被诊断设备,则所述网关向所述目标诊断设备发送等待响应报文,并重启所述第一计时器,其中,所述等待响应报文用于使所述目标诊断设备延长等待目标被诊断设备反馈诊断响应报文的时间;
若在所述第二计时器计时结束前,所述网关接收到目标被诊断设备发送的所述等待响应报文后,将该等待响应报文转发至所述目标诊断设备,并重启所述第二计时器;
若在所述第二计时器计时结束前,所述网关接收到所述目标被诊断设备返回的全部诊断响应报文,将全部诊断响应报文发送至所述目标诊断设备,并停止所述第二计时器;
若直到所述第二计时器计时结束,所述网关未成功接收所述目标被诊断设备返回的全部诊断响应报文,停止所述第二计时器。


2.根据权利要求1所述的方法,其特征在于,所述若在所述第二计时器计时结束前,所述网关接收到所述目标被诊断设备返回的全部诊断响应报文,将全部诊断响应报文发送至所述目标诊断设备,并停止所述第二计时器,包括:
若在所述第二计时器计时结束前,所述网关接收到所述目标被诊断设备返回的诊断响应报文中的首帧诊断响应数据,控制处于停止状态的第一计时器开始计时,且当所述网关每接收到一帧诊断响应数据时重启所述第二计时器;
若直到所述第一计时器计时结束且所述第二计时器计时未结束,所述网关未接收到全部诊断响应报文,则向所述目标诊断设备发送所述等待响应报文,并重启所述第一计时器;
若在所述第一计时器和所述第二计时器计时结束前,所述网关接收到全部诊断响应报文,则将所述全部诊断响应报文发送至所述目标诊断设备,并停止所述第一计时器和所述第二计时器。


3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若在所述第二计时器计时结束时,所述网关未接收到全部诊断响应报文,则停止所述第一计时器和所述第二计时器。


4.根据权利要求1所述的方法,其特征在于,所述若直到所述第一计时器计时结束,所述网关未成功将所述诊断请求报文发送至所述目标被诊断设备,则所述网关向所述目标诊断设备发送等待响应报文,并重启所述第一计时器,包括:
所述网关确定所述目标诊断设备发送的诊断请求报文需要分成多个诊断请求数据帧发送至所述目标被诊断设备;
若直到所述第一计时器计时结束,所述网关未将所述诊断请求报文的全部诊断请求数据帧发送至所述目标被诊断设备,则向所述目标诊断设备发送所述等待响应报文,并重新启动所述第一计时器。


5.根据权利要求4所述的方法,其特征在于,所述网关确定所述目标诊断设备发送的诊断请求报文需要分成多个诊断请求数据帧发送至所述目标被诊断设备,包括:
所述网关接收到所述目标诊断设备发送的诊断...

【专利技术属性】
技术研发人员:王载琼
申请(专利权)人:北京经纬恒润科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1