掌桥专利:专业的专利平台
掌桥专利
首页

车辆控制器升级中的通信方法、设备及自动驾驶车辆

文献发布时间:2024-04-18 19:52:40



技术领域

本公开涉及车辆技术领域,尤其涉及一种车辆控制器升级中的通信方法、设备及自动驾驶车辆,可用于控制器远程升级、自动驾驶等技术领域。

背景技术

随着通信技术、车辆技术的发展,可通过空中下载(Over The Air,简称OTA)技术将升级文件刷写至车辆的控制器中,以对控制器中的软件程序进行远程升级。

相关技术中,在OTA刷写控制器域网(Controller Area Network,简称CAN)中的控制器(简称CAN控制器)的过程中,为保证OTA刷写过程不受未进行刷写的控制器之间的CAN报文通信影响,通常的处理方式是禁止所有控制器的非诊断通信。

然而,上述处理方式导致OTA刷写CAN中的控制器的过程中车辆功能,比如车门开启功能、车灯点亮功能、车辆远程控制功能、音乐播放功能等,无法正常使用。

发明内容

本公开提供了一种用于降低控制器升级对车辆功能的影响范围的车辆控制器升级中的通信方法、设备及自动驾驶车辆。

根据本公开的第一方面,提供了一种车辆控制器升级中的通信方法,包括:

接收控制器升级消息,所述控制器升级消息指示待升级的目标控制器;

响应于所述控制器升级消息,确定所述目标控制器的诊断路由以及非目标控制器的非诊断路由,所述非目标控制器为车辆上除所述目标控制器以外的至少一个控制器;

在所述目标控制器的升级过程中,按照所述诊断路由进行所述目标控制器的诊断通信并按照所述非诊断路由进行所述非目标控制器的非诊断通信。

根据本公开的第二方面,提供了一种车辆控制器升级中的通信装置,包括:

第一接收单元,用于接收控制器升级消息,所述控制器升级消息指示待升级的目标控制器;

路由确定单元,用于响应于所述控制器升级消息,确定所述目标控制器的诊断路由以及非目标控制器的非诊断路由,所述非目标控制器为车辆上除所述目标控制器以外的至少一个控制器;

通信单元,用于在所述目标控制器的升级过程中,按照所述诊断路由进行所述目标控制器的诊断通信并按照所述非诊断路由进行所述非目标控制器的非诊断通信。

根据本公开的第三方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的车辆控制器升级中的通信方法。

根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行第一方面所述的车辆控制器升级中的通信方法。

根据本公开的第五方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行第一方面所述的车辆控制器升级中的通信方法。

根据本公开的第六方面,提供了一种自动驾驶车辆,所述自动驾驶车辆包括如第三方面所述的电子设备。

根据本公开提供的技术方案,响应于接收到的控制器升级消息,确定目标控制器的诊断路由以及非目标控制器的非诊断路由,控制器升级消息指示待升级的目标控制器;在目标控制器的升级过程中,按照目标控制器的诊断路由,进行目标控制器的诊断通信,以确保目标控制器能够通过诊断通信及时反馈和解决升级过程中遇到的问题,按照非目标控制器的非诊断路由,进行非目标控制器的非诊断通信,以使得目标控制器的升级过程中非目标控制器能够通过非诊断通信实现自身关联的车辆功能。从而,降低了控制器升级对车辆功能正常使用的影响范围,提高了车辆的智能化程度。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本公开的限定。其中:

图1为OTA升级的软件通信架构的示意图;

图2为本公开实施例适用的一种应用场景的示意图;

图3为根据本公开实施例提供的车辆控制器升级中的通信方法的流程示意图一;

图4为根据本公开实施例提供的车辆控制器升级中的通信方法的流程示意图二;

图5为根据本公开实施例提供的车辆控制器升级中的通信方法的流程示意图三;

图6为本公开实施例提供的车辆控制器升级的软件通信架构的示例图一;

图7为本公开实施例提供的车辆控制器升级的软件通信架构的示例图二;

图8为本公开实施例提供的车辆控制器升级的软件通信架构的示例图三;

图9为根据本公开实施例提供的车辆控制器升级中的通信方法的流程示意图四;

图10为本公开实施例提供的车辆控制器升级中的通信装置的结构示意图一;

图11为本公开实施例提供的车辆控制器升级中的通信装置的结构示意图二;

图12为可以用来实施本公开的实施例的示例电子设备1200的示意性框图。

具体实施方式

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

图1为通过空中下载(Over The Air,简称OTA)技术对车辆中的控制器进行升级(简称OTA升级)的软件通信架构的示意图。如图1所示,OTA升级的软件通信架构包括OTA云平台、升级主控(例如TBOX)、网关(Gateway,简称GW)以及分布在GW下的多个网段。其中:

OTA云平台与车辆通过TBOX进行文件传输;升级主控具备OTA Master功能,负责车内控制器的刷写,即负责车内控制器的升级;GW为车内的网络枢纽,在控制器的升级过程中,GW负责将待刷写的升级报文路由到一个或多个控制器;在GW下分布的多个网段可为制器域网(Controller Area Network,CAN)网段或者CANFD网段,每个网段中分布有多个控制器,控制器可为CAN控制器或者CANFD控制器。其中,CAN是一种通信协议,CANFD是CAN的升级版。

在图1中,将控制器表示为节点,在OTA升级的软件通信架构中,一个网段下分布有多个节点,例如:CAN1-N1、CAN1-N2、CAN1-N3、……、CAN1-Nm这些节点属于一个网段,CAN2-N1、CAN2-N2、CAN2-N3、……、CAN2-Nn这些节点属于又一个网段,CAN3-N1、CAN3-N2、CAN3-N3、……、CAN3-Nk这些节点属于另一个网段,CAN4-N1、CAN4-N2、CAN1-N3、……、CAN1-Nl这些节点属于再一个网段。

基于上述软件通信架构,相关技术中,在OTA刷写控制器以升级控制器的过程中,通过统一诊断服务(Unified Diagnostic Services,简称UDS)请求对所有控制器的非诊断通信进行禁止,以避免未进行刷写的控制器之间发送CAN报文影响OTA刷写过程。然而,在仅刷写某一个或者某几个控制器的情况下,所有控制器的非诊断通信都被静止,即所有控制器都进入了等待状态,导致所有控制器所控制的车辆功能无法正常使用,比如,车门开启、车灯点亮、车辆远程控制、车辆音乐播放等功能均无法正常使用。

为解决上述缺陷,本公开提供一种车辆控制器升级中的通信方法、设备及自动驾驶车辆,应用于车辆技术领域,可进一步用于控制器远程升级、自动驾驶等技术领域。在车辆控制器升级中的通信方法中,在接收到控制器升级消息后,确定待升级的控制器的诊断路由和无需升级的至少一个控制器的非诊断路由;在控制器升级过程中,基于待升级的控制器的诊断路由,进行待升级的控制器的诊断通信,基于无需升级的控制器的非诊断路由,进行无需升级的控制器的非诊断通信。如此,一方面,保证控制器升级过程中待升级的控制器的诊断通信,使得升级过程中的问题能够被及时反馈和解决;另一方面,降低了控制器升级过程的影响范围,至少一个无需升级的控制器能够通过非诊断通信实现自身关联的车辆功能。

其中,本公开所提供的车辆控制器升级中的通信方法的执行主体为车辆内的网关,比如图1所示的软件通信架构中的GW。

图2为本公开实施例适用的一种应用场景的示意图。如图2所示,应用场景包括升级服务器210和车辆220,车辆220内部包括升级主控221、网关222以及多个控制器223,升级服务器210与升级主控221之间、升级主控221与网关222之间、网关222与多个控制器223之间可相互通信。在升级过程中,升级服务器210与升级主控221进行升级文件的传输,升级主控221将升级文件发送到网关222,网关222再将升级文件路由至待升级的控制器,以对该控制器进行升级;在升级过程中,网关222若接收到车辆功能的相关请求且控制该车辆功能的控制器无需升级,则可通过与该控制器之间的非诊断路由,将车辆功能的相关请求发送至该控制器,以实现该车辆功能。

进一步的,车辆220可为智能驾驶车辆。

下面以具体的实施例对本公开的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开的实施例进行描述。

图3为根据本公开实施例提供的车辆控制器升级中的通信方法的流程示意图一。如图3所示,车辆控制器升级中的通信方法包括:

S301,接收控制器升级消息,控制器升级消息指示待升级的目标控制器。

本实施例中,车辆内的网关可接收来自车辆内的升级主控的控制器升级消息,控制器升级消息指示待升级的控制器,为便于区分,将待升级的控制器称为目标控制器。升级主控可在接收到升级服务器的控制器升级指令的情况下,向网关发送控制器升级消息,控制器升级指令指示对目标控制器进行升级和/或控制器升级指令包含待刷写至目标控制器的升级文件。

S302,响应于控制器升级消息,确定目标控制器的诊断路由以及非目标控制器的非诊断路由。

其中,车辆内包含多个控制器,非目标控制器为车辆上除目标控制器以外的至少一个控制器,换句话说,非目标控制器为车辆上无需进行控制器升级的至少一个控制器。目标控制器的诊断路由是指与目标控制器的诊断服务相关的信息的收发路径,非目标控制器的非诊断路由是指与非目标控制器的非诊断服务相关的信息的收发路径。

本实施例中,可预先配置目标控制器的诊断路由和非目标控制器的非诊断路由,网关在接收到控制器升级消息后,可获取目标控制器的诊断路由以及非目标控制器的非诊断路由,目标控制器的诊断路由和非目标控制器的非诊断路由为网关在目标控制器的升级过程中执行的路由信息。

S303,在目标控制器的升级过程中,按照诊断路由进行目标控制器的诊断通信并按照非诊断路由进行非目标控制器的非诊断通信。

其中,目标控制器的升级过程是指升级主控对目标控制器进行升级文件刷写的过程;目标控制器的诊断通信,是指接收和/或发送与目标控制器的诊断服务相关的信息的通信过程;非目标控制器的非诊断通信,是指接收和/或发送与非目标控制器的非诊断服务相关的信息的通信过程。

本实施例中,由升级主控对目标控制器进行升级文件的刷写,以对目标控制器进行升级,在这一升级过程中,网关按照目标控制器的诊断路由以及非目标控制器的非诊断路由,与目标控制器、非目标控制器进行通信。在目标控制器的升级过程中,网关可接收与目标控制器的诊断服务相关的信息,将该信息发送给该信息指向的目标地址,以及时反馈和解决目标控制器在升级过程中遇到的问题;网关可接收与非目标控制器的非诊断服务相关的信息,将该信息发送给该信息指向的目标地址,以实现非诊断服务对应的车辆功能。

本公开实施例中,在目标控制器的升级过程中,网关按照目标控制器的诊断路由进行目标控制器的诊断通信,按照非目标控制器的非诊断路由进行非目标控制器的非诊断通信。非目标控制器所控制实现的车辆功能依赖于非目标控制器的非诊断通信,因此,在目标控制器的升级过程中,非目标控制器所控制的车辆功能依旧可以正常使用,降低了控制器升级对车辆功能的影响范围,提高了车辆的智能化程度和用户使用体验。

网关下分布有多个网段,每个网段中包含多个控制器,考虑到在目标控制器升级的过程中,与目标控制器位于同一网段的控制器的非诊断通信对目标控制器的影响大于与目标控制器位于不同网段的控制器的非诊断通信对目标控制器的影响,因此,可以根据网段来确定控制器升级的影响范围,提高控制器升级的影响范围的准确性。基于此思路,图4为根据本公开实施例提供的车辆控制器升级中的通信方法的流程示意图二。如图4所示,车辆控制器升级中的通信方法包括:

S401,接收控制器升级消息,控制器升级消息指示待升级的目标控制器。

其中,S401的实现原理和技术效果可参照前述实施例,不再赘述。

S402,响应于控制器升级消息,确定第一网段中的控制器的诊断路由以及第二网段中的控制器的非诊断路由。

其中,第二网段为车辆内的网关管理的多个网段(即车辆内的网关下分布的多个网段,例如图1所示的多个网段)中除第一网段以外剩余的至少一个网段。目标控制器位于第一网段,所以第一网段为与目标控制器升级相关的网段,第二网段为与目标控制器升级无关的网段。上述实施例中的非目标控制器可位于第二网段中,即为第二网段中的控制器。

本实施例中,可预先配置第一网段中的控制器的诊断路由以及第二网段中的控制器的非诊断路由,网关接收到控制器升级消息后,确定控制器升级消息指示的待升级的目标控制器,根据目标控制器,获取第一网段中的控制器的诊断路由以及第二网段中控制器的非诊断路由。

S403,在目标控制器的升级过程中,按照第一网段中控制器的诊断路由进行第一网段中的控制器的诊断通信并按照第二网段中控制器的非诊断路由进行第二网段中的控制器的非诊断通信。

本实施例中,由升级主控对目标控制器进行升级文件的刷写,以对目标控制器进行升级,在这一升级过程中,考虑到第一网段中的控制器的非诊断通信对目标控制器的升级过程产生影响的概率较高,第二网段中的控制器的非诊断通信对目标控制器的升级过程产生的概率较低,网关可按照第一网段中控制器的诊断路由,进行第一网段中的控制器的诊断通信,还可按照第二网段中控制器的非诊断路由,进行第二网段中的控制器的非诊断通信。

本公开实施例中,第一网段为目标控制器所在的网段,可理解为第一网段为目标控制器升级过程中的刷写域,第二网段为除第一网段以外剩余的至少一个网段,可理解第二网段为目标控制器升级过程中的未刷写域。如此,通过网段实现对刷写域和未刷写域的准确区分。刷写域中的通信对目标控制器的升级影响明显大于未刷写域中的通信对目标控制器的升级影响,在目标控制器的升级过程中,按照第一网段中控制器的诊断路由进行第一网段中的控制器的诊断通信并按照第二网段中控制器的非诊断路由进行第二网段中的控制器的非诊断通信。如此,目标控制器的升级未影响第二网段中控制器的非诊断通信,即未影响未刷写域中控制器所控制实现的车辆功能的正常使用,降低了控制器升级的影响范围,并准确控制了控制器升级的影响范围。

在一些实施例中,可配置与目标控制器对应的升级模式路由文件,与目标控制器对应的升级模式路由文件用于记录目标控制器升级过程中允许的路由信息,在目标控制器的升级过程中,网关可按照目标控制器对应的升级模式路由文件进行车辆内控制器的通信。从而,通过升级模式路由文件来约束目标控制器升级的影响范围,专业人员可通过调整升级模式路由文件中的路由信息来调整目标控制器升级的影响范围,在降低目标控制器升级的影响范围的同时,提高了目标控制器升级的影响范围的确定性和合理性。

在一种可能的实现方式中,与目标控制器对应的升级模式路由文件中包含目标控制器的诊断路由和非目标控制器的非诊断路由。

在又一种可能的实现方式中,与目标控制器对应的升级模式路由文件包含第一网段中的控制器的诊断路由和第二网段中的控制器的非诊断路由。

图5为根据本公开实施例提供的车辆控制器升级中的通信方法的流程示意图三。如图5所示,车辆控制器升级中的通信方法包括:

S501,接收控制器升级消息,控制器升级消息指示待升级的目标控制器。

其中,S501的实现原理和技术效果可参照前述实施例,不再赘述。

S502,响应于控制器升级消息,确定目标控制器对应的升级模式路由文件,目标控制器对应的升级模式路由文件中包含第一网段中的控制器的诊断路由和第二网段中的控制器的非诊断路由。

其中,可预先为车辆内的控制器配置对应的升级模式路由文件,一个控制器可对应一个升级模式路由文件,一个升级模式路由文件可对应一个或多个控制器,即升级模式路由文件与控制器的对应关系可为一对一或者一对多的关系。升级模式路由文件在与升级模式路由文件对应的控制器的升级过程中使用,以在控制器的升级过程中网关按照控制器对应的升级模式路由文件进行控制器的通信,从而,有针对性地对控制器的升级影响范围进行约束。

本实施例中,网关在接收到控制器升级消息后,通过对控制器升级消息进行解析,确定待升级的目标控制器;接着,可在预先配置的一个或多个升级模式路由文件中,查找目标控制器对应的升级模式路由文件。

在一种可能的实现方式中,可根据控制器升级消息,确定目标控制器的设备标识;根据路由配置文件,确定目标控制器的设备标识对应的升级模式路由文件。目标控制器的设备标识对应的升级模式路由文件即目标控制器对应的升级模式路由文件,如此,利用路由配置文件和控制器的设备标识,提高确定控制器对应的升级模式路由文件的效率和准确性。

其中,路由配置文件中包含升级模式路由文件与控制器的设备标识的对应关系,其中,包括目标控制器对应的升级模式路由文件与目标控制器的设备标识的对应关系。路由配置文件可由专业人员预先配置,也可以在为控制器生成对应的升级模式路由文件时在路由配置文件中自动记录控制器的设备标识与升级模式路由文件的对应关系。

本实现方式中,控制器升级消息中包含目标控制器的设备标识,网关可从控制器升级消息中,获得目标控制器的设备标识,之后,可在路由配置文件中,查找与目标控制器的设备标识对应的升级模式文件。

进一步的,可由升级服务器将路由配置文件发送至升级主控,升级主控再将路由配置文件发送至网关,由网关保存路由配置文件,以便网关在接收到控制器升级消息后,可及时根据路由配置文件确定目标控制器对应的升级模式路由文件,提高目标控制器对应的升级模式路由文件的查找效率。

进一步的,路由配置文件可为JavaScript对象表示法(JavaScript ObjectNotation,简称JSON)文件,可由专业人员编写生成。

进一步的,路由配置文件的格式可为表格,即路由配置表。

在一种可能的实现方式中,目标控制器可为多个,升级模式路由文件与目标控制器的对应关系可为一对多,基于此,响应于控制器升级消息,确定目标控制器对应的升级模式路由文件,可包括:响应于控制器升级消息,确定多个目标控制器对应的同一升级模式路由文件。从而,网关可实现对多个目标控制器的并行升级,并在多个目标控制器并行升级的过程中,基于多个目标控制器对应的同一升级模式路由文件,实现对多个目标控制器并行升级的影响范围的约束,即降低多个目标控制器并行升级的影响范围。

本实现方式中,在目标控制器为多个,升级模式路由文件与目标控制器的对应关系可为一对多的情况下,与多个目标控制器对应的同一升级模式路由文件中可包含各个目标控制器所在的网段中控制器的诊断路由和除各个目标控制器所在的网段之外剩余的至少一个网段中控制器的非诊断路由。从而,在并行升级多个目标控制器的过程中,不影响除各个目标控制器所在的网段之外剩余的至少一个网段中控制器所控制的车辆功能的正常使用。

S503,将当前运行的路由文件从工作模式路由文件切换至目标控制器对应的升级模式路由文件,工作模式路由文件中包含各个网段中的控制器的诊断路由和各个网段中的控制器的非诊断路由。

其中,工作模式路由文件为网关在正常工作模式下使用的路由文件,在正常工作模式下车辆内的控制器均未处于升级过程,因此,工作模式路由文件中包含各个网段中的控制器的诊断路由和各个网段中的控制器的非诊断路由,以确保各个网段中的控制器的诊断通信和非诊断通信,在车辆内不存在处于升级过程中的控制器时确保各项车辆功能的正常使用。

本实施例中,在进行目标控制器的升级之前,网关当前运行的路由文件为工作模式路由文件。在确定目标控制器对应的升级模式路由文件后,网关可将工作模式路由文件切换为目标控制器对应的升级模式路由文件,以便在目标控制器的升级过程中网关能够按照目标控制器对应的升级模式路由文件进行车辆内控制器的通信。

S504,在目标控制器的升级过程中,按照升级模式路由文件进行第一网段中控制器的诊断通信和第二网段中控制器的非诊断通信。

本实施例中,在目标控制器的升级过程中,网关运行的路由文件为目标控制器对应的升级模式路由文件。因此,在目标控制器的升级过程中,网关按照目标控制器对应的升级模式路由文件中第一网段中控制器对应的诊断路由,进行第一网段中控制器的诊断通信,其中包括进行目标控制器的诊断通信;按照目标控制器对应的升级模式路由文件中第二网段中控制器对应的非诊断路由,进行第二网段中控制器的诊断通信,其中包括进行非目标控制器的非诊断同学。如此,目标控制器的升级不影响第二网段范围内的控制器的诊断通信,不影响第二网段范围内的控制器所控制的车辆功能的正常使用。

本公开实施例中,为控制器有针对性地配置对应的升级模式路由文件,在接收到控制器升级消息后,确定控制器升级消息指示待升级的目标控制器对应的升级模式路由文件,将网关当前运行的路由文件从工作模式路由文件切换为目标控制器对应的升级模式路由文件,在目标控制器的升级过程中,按照升级模式路由文件进行车内控制器的通信。从而,通过控制器对应的升级模式路由文件,准确且合理地约束控制器升级的影响范围。

在一些实施例中,升级模式路由文件可为升级模式路由表,工作模式路由文件可为工作模式路由表,从而,网关可通过切换路由表的方式,在正常工作模式下和存在控制器升级的升级模式下运行不同的路由表,在存在控制器升级的升级模式下运行的路由表中允许部分控制器的非诊断通信,而不是简单的禁止所有控制器的非诊断通信,降低了控制器升级的影响范围。

作为示例的,图6为本公开实施例提供的车辆控制器升级的软件通信架构的示例图一。如图6所示,控制器升级的软件通信架构包括升级服务器、车内的升级主控、车内的网关以及分布在网关下的多个网段,每个网段中包含多个控制器(此处可参照图1的解释)。升级云平台通过升级主控将路由配置表发送至网关中,网关中还保存有多个路由表:路由表1、路由表2、路由表3、路由表4、路由表5,这些路由表为前述实施例中的升级模式路由文件。路由配置表中记录着多个控制器与多个路由表的对应关系:CAN1-N1对应路由表2、CAN1-N2对应路由表5、CAN1-N3对应路由表3、……、CAN1-Nm对应路由表2、……、CAN2-Nn对应路由表4、……、CAN4-Nl对应路由表3。可以看出,一个控制器对应一个路由表,一个路由表可以对应1个或者多个控制器。在控制器升级之前,网关可以切换至控制器对应的路由表,按照控制器对应的路由表进行控制器的通信。

作为示例的,图7为本公开实施例提供的车辆控制器升级的软件通信架构的示例图二。图7中的软件通信架构、路由表、路由配置表可以参照对图6的描述,不再赘述。如图7所示,升级主控当前正在刷写的控制器为CAN1-N2节点,升级主控进行该控制器升级之前提前通知网关,网关可通过路由配置表识别出CAN1-N2对应的路由表为路由表5,并切换至路由表5。其中,路由表5涉及的网段范围(即路由表5中允许进行非诊断通信的网段范围)是不受CAN1-N2升级影响的范围,图7中路由表5涉及的网段范围是除了待升级的CAN1-N2所在网段以外的剩余网段:CAN2~CAN4对应的网段。

作为示例的,图8为本公开实施例提供的车辆控制器升级的软件通信架构的示例图三。图8中的软件通信架构、路由表、路由配置表可以参照对图6的描述,不再赘述。如图8所示,升级主控当前正在刷写的控制器为CAN1-Nm节点和CAN3-Nk节点,升级主控进行该控制器升级之前提前通知网关,网关可通过路由配置表识别出CAN1-Nm和CAN3-Nk对应的同一路由表:路由表2。因此,网关可在进行CAN1-Nm和CAN3-Nk的并行升级之前,切换至路由表2。其中,路由表2涉及的网段范围(即路由表2中允许进行非诊断通信的网段范围)是不受CAN1-Nm和CAN3-Nk并行升级影响的范围,图8中路由表2涉及的网段范围是除了待升级的CAN1-Nm所在网段和CAN3-Nk所在网段以外的剩余网段:CAN2对应的网段和CAN4对应的网段。

在一些实施例中,网关在将当前运行的路由文件从工作模式路由文件切换至目标控制器对应的升级模式路由文件之后,可向目标控制器对应的升级模式路由文件中的路由信息所涉及的控制器和车辆内的升级主控发送路由文件切换完成消息,路由文件切换完成消息指示当前运行的路由文件成功切换为目标控制器对应的升级模式路由文件。从而,在切换路由文件后,及时同时控制器和升级主控,以便控制器和升级主控也能够按照目标控制器对应的升级模式路由文件进行消息的接收和/或发送。

其中,在目标控制器对应的升级模式路由文件中的路由信息包括第一网段中控制器的诊断路由和第二网段中控制器的非诊断路由的情况下,目标控制器对应的升级模式路由文件中的路由信息所涉及的控制器,可包括第一网段中的控制器和第二网段中的控制器。

在一些实施例中,网关将当前运行的路由文件从工作模式路由文件切换至升级模式路由文件之后,升级主控对目标控制器进行刷写,以对目标控制器进行升级,在升级完成后,升级主控可向网关发送控制器升级结束消息,网关接收控制器升级结束消息,其中,控制器升级结束消息指示目标控制器升级结束;之后,网关可响应于控制器升级结束消息,将当前运行的路由文件从目标控制器对应的升级模式路由文件切换至工作模式路由文件。从而,在控制器升级结束后,及时恢复至正常工作模式下的车辆通信。

进一步的,若在控制器升级的过程中对网关中的工作模式路由文件进行了升级,则网关可响应于控制器升级结束消息,将当前运行的路由文件从目标控制器对应的升级模式路由文件切换至升级后的工作模式路由文件。

在一些实施例中,在网关接收控制器升级消息之前,可对网关进行升级,以使网关支持目标控制器的升级。其中,对网关进行升级可包括如下至少一种:对网关的功能进行升级、对网关中的路由文件进行更新、对网关中的路由配置文件进行更新、对网关中的软件程序进行升级。

本实施例中,升级主控可在路由配置文件更新后,对网关中的路由配置文件进行更新,以确保网关中路由配置文件的准确性,提高对控制器升级影响范围约束的准确性;和/或,升级主控可对网关中的路由文件进行更新,其中,对网关文件中的路由文件进行更新包括对网关中的工作模式路由文件和/或升级模式路由文件进行更新,确保网关在工作模式下进行控制器通信的准确性,确保网关能够支持的升级模式路由文件可以包括本次待升级的所有控制器对应的升级模式路由文件,支持本次待升级的所有控制器的升级。

图9为根据本公开实施例提供的车辆控制器升级中的通信方法的流程示意图四。如图9所示,车辆控制器升级中的通信方法包括:

S901,升级主控通过网关向控制器发送诊断故障代码(Diagnostic TroubleCode,简称DTC)禁止消息。

其中,DTC禁止消息指示禁止记录DTC。

本实施例中,考虑到在控制器升级过程中网关中运行的路由文件会从工作模式路由文件切换至升级模式路由文件,改变了网关的路由功能,会产生DTC记录,但其实并未出现故障,为避免故障记录不准确,升级主控在启动控制器升级之前,可先通过网关将DTC禁止消息告知所有控制器,以指示所有控制器停止DTC通信,即停止DTC记录。其中,所有控制器中包括了第一网段中的控制器(即刷写范围内的控制器,包括了待升级的目标控制器)和第二网段中的控制器(即不受刷写影响的控制器,包括了非目标控制器),所以图9中以升级主控通过网关向第一网段中的控制器和第二网段中的控制器发送DTC禁止消息为例。

S902,升级主控向网关发送控制器升级消息。

其中,控制器升级消息指示待升级的目标控制器。

S903,网关确定目标控制器对应的升级模式路由文件。

本实施例中,网关响应于控制器升级消息,确定目标控制器对应的升级模式路由文件,具体的确定过程可参照前述实施例。

S904,网关将当前运行的路由文件从工作模式路由文件切换至目标控制器对应的升级模式路由文件。

S905,网关向控制器和升级主控发送路由文件切换完成消息。

其中,路由文件切换完成消息指示当前运行的路由文件成功切换为目标控制器对应的升级模式路由文件。

具体的,网关向第一网段中的控制器(包括目标控制器)、第二网段中的控制器(包括非目标控制器)以及升级主控发送路由文件切换完成消息。其中,S902~S905的实现原理和技术效果可参照前述实施例,不再赘述。

S906,升级主控按照目标控制器对应的升级模式路由文件,通过网关向第一网段中的控制器发送非诊断通信禁止消息,以禁止第一网段中控制器的非诊断通信。

本实施例中,目标控制器对应的升级模式路由文件中包含第一网段中控制器的诊断通信,因此,升级主控在接收到路由文件切换完成消息后,按照目标控制器对应的升级模式路由文件,向第一网段中的控制器发送非诊断通信禁止消息,避免第一网段中的控制器进行非诊断通信影响目标控制器升级。

S907,升级主控通过网关向目标控制器刷写升级文件。

本实施例中,在升级主控向第一网段中的控制器发送非诊断通信禁止消息之后,进入目标控制器的升级过程。在该过程中,升级主控可向第一网段中的目标控制器刷写升级文件,例如通过编码方式进行升级文件的刷写。

S908,目标控制器通过网关向升级主控发送刷写完成消息。

其中,刷写完成消息指示目标控制器刷写完成。

本实施例中,目标控制器完成升级文件刷写后,向升级主控发送刷写完成消息,以将目标控制器中升级刷写完成的消息告诉升级主控。由于目标控制器位于第一网段,所以图9中以第一网段中控制器通过网关向升级主控发送刷写完成消息来表示目标控制器通过网关向升级主控发送刷写完成消息。

S909,升级主控向网关并通过网关向控制器发送控制器升级结束消息和DTC记录恢复消息。

其中,控制器升级结束消息指示控制器升级完成,DTC记录恢复消息指示恢复记录DTC。

本实施例中,升级主控在确定所有待升级的控制器完成升级后,可向网关并通过网关向控制器(图9以第一网段内的控制器和第二网段内的控制器为例)发送控制器升级结束消息和DTC记录恢复消息,以向控制器和网关告知控制器升级已完成并恢复DCT记录。

在一种可能的实施例中,升级主控可对多个控制器进行串行升级,因此,S908和S909之间还可进行其他控制器的升级,升级过程可参照S902~S907,在此不一一描述,不一一描述。

本公开实施例中,通过升级主控、控制器以及网关之间的信息交互,实现对控制器的升级,并在控制器的升级过程中通过升级模式路由表对控制器升级的影响范围进行约束,降低了控制器升级的影响范围,确保了在控制器升级过程中至少一个网段中的控制器控制的车辆功能的正常使用。

图10为本公开实施例提供的车辆控制器升级中的通信装置的结构示意图一。如图10所示,车辆控制器升级中的通信装置1000包括:

第一接收单元1001,用于接收控制器升级消息,控制器升级消息指示待升级的目标控制器;

路由确定单元1002,用于响应于控制器升级消息,确定目标控制器的诊断路由以及非目标控制器的非诊断路由,非目标控制器为车辆上除目标控制器以外的至少一个控制器;

通信单元1003,用于在目标控制器的升级过程中,按照诊断路由进行目标控制器的诊断通信并按照非诊断路由进行非目标控制器的非诊断通信。

图11为本公开实施例提供的车辆控制器升级中的通信装置的结构示意图二。如图11所示,车辆控制器升级中的通信装置1100包括:

第一接收单元1101,用于接收控制器升级消息,控制器升级消息指示待升级的目标控制器;

路由确定单元1102,用于响应于控制器升级消息,确定目标控制器的诊断路由以及非目标控制器的非诊断路由,非目标控制器为车辆上除目标控制器以外的至少一个控制器;

通信单元1103,用于在目标控制器的升级过程中,按照诊断路由进行目标控制器的诊断通信并按照非诊断路由进行非目标控制器的非诊断通信。

在一些实施例中,目标控制器位于第一网段,非目标控制器位于第二网段,路由确定单元1102包括:路由确定模块11021,用于响应于控制器升级消息,确定第一网段中的控制器的诊断路由以及第二网段中的控制器的非诊断路由,第二网段为车辆内的网关管理的多个网段中除第一网段以外剩余的至少一个网段。

在一些实施例中,路由确定模块11021包括:路由文件确定子模块(图中未示出),用于响应于控制器升级消息,确定目标控制器对应的升级模式路由文件,升级模式路由文件中包含第一网段中的控制器的诊断路由和第二网段中的控制器的非诊断路由。

在一些实施例中,通信单元1103包括:路由文件切换模块11031,用于将当前运行的路由文件从工作模式路由文件切换至升级模式路由文件,工作模式路由文件中包含各个网段中的控制器的诊断路由和各个网段中的控制器的非诊断路由;通信模块11032,用于在目标控制器的升级过程中,按照升级模式路由文件进行目标控制器的诊断通信和非目标控制器的非诊断通信。

在一些实施例中,目标控制器为多个,升级模式路由文件与目标控制器的对应关系为一对多,路由文件确定子模块具体用于:响应于控制器升级消息,确定多个目标控制器对应的同一升级模式路由文件。

在一些实施例中,路由文件确定子模块具体用于:根据控制器升级消息,确定目标控制器的设备标识;根据路由配置文件,确定设备标识对应的升级模式路由文件,路由配置文件中包含升级模式路由文件与设备标识的对应关系。

在一些实施例中,车辆控制器升级中的通信装置还包括:消息发送单元(图中未示出),用于向升级模式路由文件中的路由信息所涉及的控制器和车辆内的升级主控发送路由文件切换完成消息,路由文件切换完成消息指示当前运行的路由文件成功切换为升级模式路由文件。

在一些实施例中,车辆控制器升级中的通信装置还包括:第二接收单元(图中未示出),用于接收控制器升级结束消息,控制器升级结束消息指示目标控制器升级结束;路由文件切回单元(图中未示出),用于响应于控制器升级结束消息,将当前运行的路由文件从升级模式路由文件切换至工作模式路由文件。

在一些实施例中,车辆控制器升级中的通信装置还包括:网关升级单元(图中未示出),用于对车辆内的网关进行升级,以使网关支持目标控制器的升级。

图10~图11提供的车辆控制器升级中的通信装置,可以执行上述相应方法实施例,其实现原理和技术效果类似,在此不再赘述。

根据本公开的实施例,本公开还提供了一种电子设备,电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述任一实施例提供的方案。

根据本公开实施例,本公开还提供了一种自动驾驶车辆,自动驾驶车辆包括前述实施例提供的电子设备,自动驾驶车辆中的电子设备中的处理器能够执行上述任一实施例提供的方案。

根据本公开的实施例,本公开还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行上述任一实施例提供的方案。

根据本公开的实施例,本公开还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。

图12为可以用来实施本公开的实施例的示例电子设备1200的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图12所示,电子设备1200包括计算单元1201,其可以根据存储在只读存储器(Read Only Memory,简称ROM)(例如ROM1202)中的计算机程序或者从存储单元1208加载到随机访问存储器(Random Access Memory,简称RAM)(例如RAM1203)中的计算机程序,来执行各种适当的动作和处理。在RAM 1203中,还可存储设备1200操作所需的各种程序和数据。计算单元1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入/输出(I/O)接口1205也连接至总线1204。

设备1200中的多个部件连接至I/O接口1205,包括:输入单元1206,例如键盘、鼠标等;输出单元1207,例如各种类型的显示器、扬声器等;存储单元1208,例如磁盘、光盘等;以及通信单元1209,例如网卡、调制解调器、无线通信收发机等。通信单元1209允许设备1200通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元1201可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1201的一些示例包括但不限于中央处理单元(Central Processing Unit,简称CPU)、图形处理单元(Graphic Processing Unit,简称GPU)、各种专用的人工智能(ArtificialIntelligence,简称AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(Digital Signal Process,简称DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1201执行上文所描述的各个方法和处理,例如车辆控制器升级中的通信方法。例如,在一些实施例中,车辆控制器升级中的通信方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1208。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1202和/或通信单元1209而被载入和/或安装到设备1200上。当计算机程序加载到RAM 1203并由计算单元1201执行时,可以执行上文描述的车辆控制器升级中的通信方法的一个或多个步骤。备选地,在其他实施例中,计算单元1201可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行车辆控制器升级中的通信方法。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(Field Program Gate Array,简称FPGA)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、专用标准产品(ApplicationSpecific Standard Parts,简称ASSP)、芯片上系统的系统(System On a Chip,简称SOC)、复杂可编程逻辑设备(Complex Programming Logic Device,简称CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(Compact Disc Read-Only Memory,简称CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(Local Area Network,简称LAN)、广域网(Wide Area Network,简称WAN)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

相关技术
  • 一种车辆定位方法、设备及自动驾驶车辆
  • 自动驾驶车辆和用于自动驾驶车辆的控制方法
  • 自动驾驶车辆的变道方法、装置及具有其的自动驾驶车辆
  • 自动驾驶车辆的控制方法、装置及具有其的自动驾驶车辆
  • 自动驾驶车辆控制器的实现方法及自动驾驶车辆控制器
  • 车辆OTA升级方法、装置、设备、介质及自动驾驶车辆
技术分类

06120116329531