【技术实现步骤摘要】
一种车辆诊断数据转发方法、装置及网关
本申请属于汽车诊断
,尤其涉及一种车辆诊断数据转发方法、装置及网关。
技术介绍
随着车联网的发展,为满足更快的通信速度,以及对车辆的更多诊断需求。汽车上应用的通信协议由原来的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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。