本发明属于纯电动汽车控制技术领域,具体涉及一种整车诊断系统及方法。
背景技术:
随着智能网联汽车发展,整车通信网络在传统can网络基础上逐步引入更高带宽的车载通信技术,如canfd、车载以太网。当前车载诊断以基于传统can网络为主,车载通信技术的变化导致原来基于can网络的诊断需扩展至canfd网络和车载以太网网络。目前无系统性地整合多种通信技术的诊断系统,存在兼容性、优先级判断等问题。
针对基于车载以太网的诊断系统设计,如专利文献cn208224834u公开的一种基于以太网的车载诊断系统,通过汽车网关与外部以太网连接,用于车辆自身通信以及诊断数据的传输,该车载以太网络由多个车载子网络组成,所有ecu均连接到相应的doip节点网关上,多个doip节点网关通过基于ip的网络连接在一起,其中一个doip节点作为doip边缘节点网关与外部以太网相连。该方法仅考虑了基于车载以太网的诊断系统,未考虑在车载以太网和canfd/can网络并存情况的诊断网络设计,其较难应用到实际车载网络中。又如专利文献cn108696424a公开了一种汽车通信系统,在诊断口和网关之间架设以太网和canfd通信线路,各电子控制单元与中央网关之间分别架设can/canfd协议通信线路,中央网关实现基于以太网和canfd协议之间的信号转换和报文转换。该汽车通信系统虽然同时具备了车载以太网和canfd,但未考虑不同通信技术之间的兼容性和优先级处理策略,在实际应用时仍存在可实施性问题。
因此,有必要开发一种新的整车诊断系统及方法。
技术实现要素:
本发明的目的是提供一种整车诊断系统及方法,它能提升多种通信技术的诊断系统的可靠性和效率。
第一方面,本发明所述的一种整车诊断系统,包括中央网关、obd诊断设备、远程诊断设备和canfd电控单元,所述obd诊断设备分别通过canfd线、车载以太网与中央网关建立通信连接,远程诊断设备分别通过canfd线、车载以太网与中央网关建立通信连接,canfd电控单元分别通过通过canfd线、车载以太网与中央网关连接通信连接;
所述中央网关用于转发can、canfd和车载以太网格式的报文,并根据预设诊断优先级策略控制诊断报文的转发;
所述obd诊断设备用于发送can、canfd、车载以太网格式的诊断请求报文和处理诊断响应报文;
所述远程诊断设备用于在远程诊断场景和fota场景下发送诊断请求报文和处理诊断响应报文;
所述canfd电控单元用于执行诊断任务,以及接收、处理诊断请求报文,并反馈诊断响应报文;canfd电控单元为通过canfd线与中央网关连接的电控单元,将每个canfd电控单元均分配一对can诊断报文物理逻辑地址、一对canfd诊断报文物理逻辑地址和一个车载以太网逻辑地址。
可选地,所述预设诊断优先级策略具体为:
诊断报文源端包括obd口canfd/can诊断报文、obd口车载以太网诊断报文、远程诊断设备远程诊断报文和远程诊断设备远程刷写报文;
在中央网关接收到不同来源的诊断报文后,根据预设的诊断报文优先级打开相应的路由通道,转发诊断报文到目的端,并屏蔽其他诊断报文。
第二方面,本发明所述的整车诊断方法,采用如本发明所述的整车诊断系统,其诊断方法包括以下步骤:
obd诊断设备发送can/canfd诊断报文:
当obd诊断设备发送canfd格式的物理寻址的诊断请求到诊断口,中央网关把诊断口的canfd格式的物理寻址诊断请求报文转发到canfd电控单元所在canfd网段,转发后的格式仍为canfd格式;canfd电控单元接收到canfd格式的物理寻址诊断请求报文后,回复canfd格式的物理寻址诊断响应报文;
当obd诊断设备发送can格式的物理寻址的诊断请求到诊断口,中央网关将诊断口的can格式的物理寻址诊断请求报文转发到canfd电控单元所在canfd网段,转发后的格式仍然为can格式,canfd电控单元接收到can格式的物理寻址诊断请求报文后,回复can格式的物理寻址诊断响应报文;
当obd诊断设备发送can格式的功能寻址的诊断请求到诊断口,中央网关把功能寻址的诊断请求报文转发到所有can/canfd网段,转发后的格式仍然为can格式;接收到can格式的功能寻址诊断请求报文后,回复can格式的诊断响应报文;
obd诊断设备发送车载以太网诊断报文:
obd诊断设备通过诊断口的以太网与中央网关进行doip连接和激活;
obd诊断设备发送doip诊断请求给中央网关:
若obd诊断设备发送以太网节点的物理寻址时,中央网关根据物理寻址把doip诊断报文转发给车内以太网节点,所述以太网节点为通过车载以太网与中央网关连接的电控单元;
若obd诊断设备发送canfd节点的物理寻址时,中央网关根据物理寻址把doip诊断报文转成canfd诊断报文发给canfd节点,所述canfd节点为通过canfd线与中央网关连接的电控单元;
若obd诊断设备发送can节点的物理寻址时,中央网关根据物理寻址把doip诊断报文转成can诊断报文发给can节点,所述can节点为通过can线与中央网关连接的电控单元;
若obd诊断设备发送功能寻址时,中央网关把doip诊断报文转发给车内所有以太网节点,并转发成can格式的功能寻址诊断请求给所有的can节点和canfd节点;
若以太网节点接收到doip诊断请求报文,则回复doip诊断响应报文;
若canfd节点接收到canfd诊断请求报文,则回复canfd诊断响应报文;
若can节点接收到can诊断请求报文,则回复can诊断响应报文;
中央网关把以太网节点的doip诊断响应报文、canfd诊断响应报文和can诊断响应报文转成对应的doip诊断报文发送给obd诊断设备。
可选地,中央网关根据预设诊断优先级策略控制诊断报文的转发,具体为:
s101,默认所有通道的诊断路由为关闭状态;
s102,中央网关是否接收到某一路诊断请求报文,若否,返回步骤s101,若是,进入步骤s103;
s103,当中央网关接收到某一路诊断请求时,打开对应通道的诊断报文转发路由;
s104,在当前某一路诊断通道已打开时,接收到另一路诊断请求报文,中央网关按照预设优先级判断;
s105,当步骤s104的优先级高于步骤s103的优先级时,中央网关将关闭步骤s103中打开的诊断路由,然后打开步骤s104中的诊断通道。
可选地,所述预设优先级如下:
远程诊断设备fota刷写>(obdcanfd诊断&obd车载以太网诊断)>远程诊断设备远程诊断。
本发明具有以下优点:本发明能够实现多种通信技术并存下的共同诊断,既兼容了传统can网络,确保了传统设备(如车管所检测设备)的可用性,又支持了更新型的canfd和车载以太网诊断,使基于诊断实现的故障诊断、文件读取、软件刷写在车内高效实现。
附图说明
图1为本实施例的系统结构框图;
图2为本实施例中优先级策略的流程图。
具体实施方式
下面结合附图对本发明作进一步说明。
如图1所示,一种整车诊断系统,包括中央网关、obd诊断设备、远程诊断设备和canfd电控单元,所述obd诊断设备分别通过canfd线、车载以太网与中央网关建立通信连接,远程诊断设备分别通过canfd线、车载以太网与中央网关建立通信连接,canfd电控单元分别通过通过canfd线、车载以太网与中央网关连接通信连接。
本实施例中,canfd电控单元是指通过canfd线与中央网关进行通信的电控单元。
如图1所示,所述中央网关用于转发can、canfd和车载以太网格式的报文,并根据预设诊断优先级策略控制诊断报文的转发。所述obd诊断设备用于发送can、canfd、车载以太网格式的诊断请求报文和处理诊断响应报文。所述远程诊断设备用于在远程诊断场景和fota场景下发送诊断请求报文和处理诊断响应报文。所述canfd电控单元用于执行诊断任务,以及接收、处理诊断请求报文,并反馈诊断响应报文。
为充分利用canfd通信数据长度更长、带宽更大的特点,要求canfd电控单元回复诊断报文应为canfd格式,但如果是一个普通can诊断设备接入网络,诊断设备会出现不兼容问题。为解决该问题,本系统利用canfd向下兼容can的特性,将每个canfd电控单元均分配一对can诊断报文物理逻辑地址、一对canfd诊断报文物理逻辑地址和一个车载以太网逻辑地址。其中,can格式的诊断报文dlc长度最长限制在8字节,canfd格式的诊断报文的报文dlc长度最长限制在64字节。在obd诊断设备接入诊断网络时,obd诊断设备发送can报文,canfd电控单元回复can报文,obd诊断设备发送canfd报文,canfd电控单元回复canfd报文。
本实施例中,为了实现obd诊断设备对车内canfd电控单元的诊断。obd诊断设备发送和接收以太网格式的诊断报文,canfd电控单元发送和接收canfd格式的诊断报文,中央网关实现canfd和以太网报文间的相互转发。当中央网关接收到obd诊断设备发送的以太网诊断报文后,将该报文的数据场内容提取后封装为canfd报文,转发到对应canfd电控单元。
本实施例中,为了实现以太网和canfd的转发路径确认,为每一个canfd电控单元分配一个以太网物理逻辑地址。中央网关根据canfd电控单元的canfd诊断报文物理逻辑地址和对应的以太网物理逻辑地址进行寻址,转发诊断报文到对应的网段。
本实施例中,一种整车诊断方法,采用如本实施例中所述的整车诊断系统,其方法包括以下步骤:
obd诊断设备发送can/canfd诊断报文:
当obd诊断设备发送canfd格式的物理寻址的诊断请求到诊断口,中央网关把诊断口的canfd格式的物理寻址诊断请求报文转发到canfd电控单元所在canfd网段,转发后的格式仍为canfd格式;canfd电控单元接收到canfd格式的物理寻址诊断请求报文后,回复canfd格式的物理寻址诊断响应报文。
当obd诊断设备发送can格式的物理寻址的诊断请求到诊断口,中央网关将诊断口的can格式的物理寻址诊断请求报文转发到canfd电控单元所在canfd网段,转发后的格式仍然为can格式,canfd电控单元接收到can格式的物理寻址诊断请求报文后,回复can格式的物理寻址诊断响应报文。
当obd诊断设备发送can格式的功能寻址的诊断请求到诊断口,中央网关把功能寻址的诊断请求报文转发到所有can/canfd网段,转发后的格式仍然为can格式;接收到can格式的功能寻址诊断请求报文后,回复can格式的诊断响应报文。
obd诊断设备发送车载以太网诊断报文:
为每一个canfd电控单元分配一个车载以太网逻辑地址,定义示例如下:
obd诊断设备通过诊断口的以太网与中央网关进行doip(即基于ip的诊断)连接和激活。
obd诊断设备发送doip诊断请求给中央网关:
obd诊断设备发送的如果是以太网节点的物理寻址,中央网关根据逻辑地址把doip诊断报文转发给车内以太网节点,所述以太网节点为通过车载以太网与中央网关连接的电控单元;
obd诊断设备发送的如果是canfd节点的物理寻址,中央网关根据逻辑地址把doip诊断报文转成canfd诊断报文发给canfd节点,所述canfd节点为通过canfd线与中央网关连接的电控单元;
obd诊断设备发送的如果是can节点的物理寻址,中央网关根据逻辑地址把doip诊断报文转成can诊断报文发给can节点,所述can节点为通过can线与中央网关连接的电控单元;
obd诊断设备发送的功能寻址时,中央网关把doip诊断报文转发给车内所有以太网节点,并转发成can格式的功能寻址诊断请求给所有的can节点和canfd节点;
以太网节点接收到doip诊断请求报文回复doip诊断响应报文。canfd节点接收到canfd诊断请求报文回复canfd诊断响应报文,can节点接收到can诊断请求报文回复can诊断响应报文;
中央网关把以太网节点的doip诊断响应报文、canfd诊断响应报文和can诊断响应报文转成对应的doip诊断报文发送给obd诊断设备。
如图2所示,诊断优先级诊断判断方法,包括:
s101,默认所有通道(包括obd到每个电控单元的通信通道,以及远程诊断设备到每个电控单元的通信通道)的诊断路由为关闭状态;
s102,中央网关接收到某一路诊断请求报文,若否,返回步骤s101,若是,进入步骤s103;
s103,当中央网关接收到某一路诊断请求时,打开对应通道的诊断报文转发路由。如网关obd口收到0x700报文(某一电控单元的诊断物理逻辑地址请求报文id),打开obd到该canfd电控单元所在网段的转发通道,该canfd电控单元在接收到诊断请求报文并处理后,发送诊断物理逻辑地址响应报文0x708,转发到obd口dcan,且中央网关不将该响应报文转发到远程诊断设备所在网段,也不将该报文转发为以太网诊断响应报文;
s104,在当前某一路诊断通道已打开时,接收到另一路诊断请求报文,中央网关按照预先设计的优先级判断;
优先级设计为:
优先级1:obdcanfd诊断;
优先级2:obd车载以太网诊断;
优先级3:远程诊断设备fota刷写;
优先级4:远程诊断设备远程诊断;
优先级预设为级3>(1&2)>>4。
优先级1和优先级2不会同时发生,故优先级1和优先级2相同。
s105,当s104所述优先级高于s103所述优先级时,网关将关闭s103打开的诊断路由,然后打开s104所述诊断请求。如:优先级1通道已经打开,此时进行远程诊断设备做fota操作,中央网关收到远程诊断设备发送的诊断请求报文后,关闭优先级1通道,打开优先级3诊断路由。
s106,系统还设置有诊断超时时间,当前诊断路由如果在5s内诊断报文持续存在,将保持该诊断路由处于开启状态,如果5s内不再有诊断报文,中央网关将关闭该诊断路由通道。
本实施例中,车载终端通过网关对各总线网段的故障码报文进行检测,检测到有故障码出现时,车载终端按照与后台服务器约定的协议对故障码进行打包缓存;满足上传条件时,车载终端将打包的故障码上传至后台服务器。后台服务器对接收到的故障码进行分类存储,其分类维度有电控单元、故障等级。
本实施例中,若整车上涉及有can电控单元,其中,can电控单元是指通过can线与中央网关进行通信的电控单元,将每个can电控单元分配一对can诊断报文物理逻辑地址和一个车载以太网逻辑地址。当中央网关将诊断口的can格式的物理寻址诊断请求报文转发到can电控单元所在can网段,转发后的格式仍然为can格式,can电控单元接收到can格式的物理寻址诊断请求报文后,回复can格式的物理寻址诊断响应报文。
1.一种整车诊断系统,其特征在于:包括中央网关、obd诊断设备、远程诊断设备和canfd电控单元,所述obd诊断设备分别通过canfd线、车载以太网与中央网关建立通信连接,远程诊断设备分别通过canfd线、车载以太网与中央网关建立通信连接,canfd电控单元分别通过通过canfd线、车载以太网与中央网关连接通信连接;
所述中央网关用于转发can、canfd和车载以太网格式的报文,并根据预设诊断优先级策略控制诊断报文的转发;
所述obd诊断设备用于发送can、canfd、车载以太网格式的诊断请求报文和处理诊断响应报文;
所述远程诊断设备用于在远程诊断场景和fota场景下发送诊断请求报文和处理诊断响应报文;
所述canfd电控单元用于执行诊断任务,以及接收、处理诊断请求报文,并反馈诊断响应报文;canfd电控单元为通过canfd线与中央网关连接的电控单元;将每个canfd电控单元均分配一对can诊断报文物理逻辑地址、一对canfd诊断报文物理逻辑地址和一个车载以太网逻辑地址。
2.根据权利要求1所述的整车诊断系统,其特征在于:所述预设诊断优先级策略具体为:
诊断报文源端包括obd口canfd/can诊断报文、obd口车载以太网诊断报文、远程诊断设备远程诊断报文和远程诊断设备远程刷写报文;
在中央网关接收到不同来源的诊断报文后,根据预设的诊断报文优先级打开相应的路由通道,转发诊断报文到目的端,并屏蔽其他诊断报文。
3.一种整车诊断方法,其特征在于:采用如权利要求1所述的整车诊断系统,其诊断方法包括以下步骤:
obd诊断设备发送can/canfd诊断报文:
当obd诊断设备发送canfd格式的物理寻址的诊断请求到诊断口,中央网关把诊断口的canfd格式的物理寻址诊断请求报文转发到canfd电控单元所在canfd网段,转发后的格式仍为canfd格式;canfd电控单元接收到canfd格式的物理寻址诊断请求报文后,回复canfd格式的物理寻址诊断响应报文;
当obd诊断设备发送can格式的物理寻址的诊断请求到诊断口,中央网关将诊断口的can格式的物理寻址诊断请求报文转发到canfd电控单元所在canfd网段,转发后的格式仍然为can格式,canfd电控单元接收到can格式的物理寻址诊断请求报文后,回复can格式的物理寻址诊断响应报文;
当obd诊断设备发送can格式的功能寻址的诊断请求到诊断口,中央网关把功能寻址的诊断请求报文转发到所有can/canfd网段,转发后的格式仍然为can格式;接收到can格式的功能寻址诊断请求报文后,回复can格式的诊断响应报文;
obd诊断设备发送车载以太网诊断报文:
obd诊断设备通过诊断口的以太网与中央网关进行doip连接和激活;
obd诊断设备发送doip诊断请求给中央网关:
若obd诊断设备发送以太网节点的物理寻址时,中央网关根据物理寻址把doip诊断报文转发给车内以太网节点,所述以太网节点为通过车载以太网与中央网关连接的电控单元;
若obd诊断设备发送canfd节点的物理寻址时,中央网关根据物理寻址把doip诊断报文转成canfd诊断报文发给canfd节点,所述canfd节点为通过canfd线与中央网关连接的电控单元;
若obd诊断设备发送can节点的物理寻址时,中央网关根据物理寻址把doip诊断报文转成can诊断报文发给can节点,所述can节点为通过can线与中央网关连接的电控单元;
若obd诊断设备发送功能寻址时,中央网关把doip诊断报文转发给车内所有以太网节点,并转发成can格式的功能寻址诊断请求给所有的can节点和canfd节点;
若以太网节点接收到doip诊断请求报文,则回复doip诊断响应报文;
若canfd节点接收到canfd诊断请求报文,则回复canfd诊断响应报文;
若can节点接收到can诊断请求报文,则回复can诊断响应报文;
中央网关把以太网节点的doip诊断响应报文、canfd诊断响应报文和can诊断响应报文转成对应的doip诊断报文发送给obd诊断设备。
4.根据权利要求3所述的整车诊断方法,其特征在于:中央网关根据预设诊断优先级策略控制诊断报文的转发,具体为:
s101,默认所有通道的诊断路由为关闭状态;
s102,中央网关是否接收到某一路诊断请求报文,若否,返回步骤s101,若是,进入步骤s103;
s103,当中央网关接收到某一路诊断请求时,打开对应通道的诊断报文转发路由;
s104,在当前某一路诊断通道已打开时,接收到另一路诊断请求报文,中央网关按照预设优先级判断;
s105,当步骤s104的优先级高于步骤s103的优先级时,中央网关将关闭步骤s103中打开的诊断路由,然后打开步骤s104中的诊断通道。
5.根据权利要求4所述的整车诊断方法,其特征在于:所述预设优先级如下:
远程诊断设备fota刷写>(obdcanfd诊断&obd车载以太网诊断)>远程诊断设备远程诊断。
技术总结