车辆程序更新系统及车辆程序更新方法与流程

文档序号:12157456阅读:976来源:国知局
车辆程序更新系统及车辆程序更新方法与流程

本发明涉及于车辆领域,更具体而言,涉及一种车辆程序更新系统及一种车辆程序更新方法。



背景技术:

在现有的各种车辆的车身网络协议中,CAN(Controller Area Network,控制器局域网络)总线具有高速、实时性好、具备错误诊断等优点,在车载网络中得到了最为广泛的应用,因此现有的车辆控制器普遍采用CAN总线作为通讯介质。

随着汽车电子技术的发展,电子控制单元(Electronic Control Unit,ECU)越来越多地应用于现代汽车上。在电子控制软件开发过程中由于各种原因,在装车之后,ECU中的应用程序可能存在某种缺陷或者应用程序需要变更,这时就需要对ECU中的应用程序进行维护或者升级。由于ECU在整车厂装配之后很难拆卸,因此通过汽车CAN总线对ECU中的应用程序进行重编程是最简单、便捷、迅速的实现方式。

正是由于ECU的数量越来越多,CAN总线上的数据也越来越多,当通过CAN总线更新程序时,总线负载率瞬间变大往往会导致程序更新失败。



技术实现要素:

本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明需要提供一种车辆程序更新系统及一种车辆程序更新方法。

一种车辆程序更新系统,包括上位机、CAN总线及多个电子控制单元。该多个电子控制单元均连接该CAN总线以对应形成多个节点。该上位机用于通过该CAN总线控制所有该节点禁止报文的发送及禁止故障码的设置,之后,该上位机用于通过该CAN总线将待更新的应用程序发送至该多个节点的一个设定节点,并保持该多个节点的其它节点禁止报文的发送及禁止故障码的设置。在该设定节点的应用程序更新完成后,该上位机用于通过该CAN总线控制所有该节点恢复报文的发送及故障码的设置。

上述车辆程序更新系统,在对设定节点进行程序更新时,保持其它节点禁止报文的发送及禁止故障码的设置,从而降低CAN总线负载率,提高CAN总线程序更新的成功率。

在一个实施方式中,该车辆程序更新系统包括车载诊断系统接口,该车载诊断系统 接口连接该CAN总线与该上位机。

在一个实施方式中,该车辆程序更新系统包括车载终端,该车载终端连接该CAN总线及该上位机。

在一个实施方式中,该上位机用于通过该CAN总线向所有该节点请求进入诊断会话模式。所有该节点用于根据进入诊断会话模式的请求,发送会话应答至该上位机。该上位机用于根据该会话应答,通过该CAN总线控制所有该节点禁止报文的发送及禁止故障码的设置。

在一个实施方式中,在该设定节点的应用程序更新完成后,该设定节点用于通过该CAN总线发送更新完成信号至该上位机。该上位机用于根据该更新完成信号,通过该CAN总线发送恢复请求至所有该节点。所有该节点用于根据该恢复请求,恢复报文的发送及故障码的设置。

一种车辆程序更新方法,包括以下步骤:

S1:上位机通过CAN总线控制连接在该CAN总线上的所有节点禁止报文的发送及禁止故障码的设置,之后进入步骤S2;

S2:该上位机通过该CAN总线将待更新的应用程序发送至所有该节点中的一个设定节点,并保持其它节点禁止报文的发送及禁止故障码的设置,之后进入步骤S3;

S3:在该设定节点的应用程序更新完成后,该上位机通过该CAN总线控制所有该节点恢复报文的发送及故障码的设置。

在一个实施方式中,步骤S1、步骤S2及步骤S3均包括:该上位机通过车载诊断系统接口连接该CAN总线。

在一个实施方式中,步骤S1、步骤S2及步骤S3均包括:该上位机通过车载终端连接该CAN总线。

在一个实施方式中,步骤S1包括:

该上位机通过该CAN总线向所有该节点请求进入诊断会话模式;

所有该节点根据进入诊断会话模式的请求,发送会话应答至该上位机;

该上位机根据该会话应答,通过该CAN总线控制所有该节点禁止报文的发送及禁止故障码的设置。

在一个实施方式中,步骤S3包括:

在该设定节点的应用程序更新完成后,该设定节点通过该CAN总线发送更新完成信号至该上位机;

该上位机根据该更新完成信号,通过该CAN总线发送恢复报文至所有该节点;

所有该节点根据该恢复报文,恢复报文的发送及故障码的设置。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:

图1是本发明较佳实施方式的车辆程序更新系统的模块示意图;

图2是本发明较佳实施方式的车辆程序更新系统的网络拓扑图;

图3是本发明较佳实施方式的车辆程序更新系统的构架示意图;

图4是本发明较佳实施方式的车辆程序更新系统的另一构架示意图;

图5是本发明较佳实施方式的车辆程序更新系统的又一构架示意图;

图6是本发明较佳实施方式的车辆程序更新系统的更新原理示意图;

图7是本发明较佳实施方式的车辆程序更新系统的程序更新的流程图;

图8是本发明较佳实施方式的车辆程序更新方法的流程示意图。

具体实施方式

下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

在本发明的描述中,需要理解的是,术语″第一″、″第二″仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有″第一″、″第二″的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,″多个″的含义是两个或两个以上,除非另有明确具体的限定。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语″安装″、″相连″、″连接″应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接或可以相互通信;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

下文的公开提供了许多不同的实施方式或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设定进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或参考 字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设定之间的关系。此外,本发明提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的应用和/或其他材料的使用。

请参阅图1,本发明较佳实施方式的车辆程序更新系统100包括上位机102、CAN总线104及多个电子控制单元(ECU)。

该多个电子控制单元均连接该CAN总线104以对应形成多个节点106。本实施方式中,每个电子控制单元内部连接有CAN控制器及CAN收发器,电子控制单元通过CAN收发器连接到CAN总线104上,形成CAN网络拓扑图,进而形成对应的多个节点106,如图2所示。CAN网络上的电子控制单元都支持通过CAN总线更新程序及CAN网络上的电子控制单元都支持诊断会话。

该上位机102通过CAN总线104连接该多个节点106,并用于通过该CAN总线104控制所有该节点106禁止报文的发送及禁止故障码的设置,之后,该上位机102用于通过该CAN总线104将待更新的应用程序发送至该多个节点106中的一个设定节点106,并保持该多个节点106中的其它节点106禁止报文的发送及禁止故障码的设置。在该设定节点106的应用程序更新完成后,该上位机102用于通过该CAN总线104控制所有该节点106恢复报文的发送及故障码的设置。

具体地,上位机102可为个人电脑、移动终端、服务器等中任意一种。请参图3,在某些实施方式中,该车辆程序更新系统100包括车辆200的车载诊断系统(On-Board Diagnostic,OBD)接口108,该车载诊断系统接口108连接该CAN总线104与该上位机102。该上位机102与该CAN总线104通过有线方式或无线方式连接,有线方式例如是上位机102通过CAN盒110(或OBD转换盒)连接至OBD接口108,进而连接CAN总线104。例如,当上位机102为个人电脑时,CAN盒110的一端连接上位机102的USB接口,CAN盒110的另一端连接OBD接口108。

无线方式可包括远距离无线方式及近距离无线方式,远距离无线方式可为利用移动通信网络进行连接的方式。例如,移动通信模块可插接在OBD接口108上,上位机102与移动通信模块进行无线通信而与CAN总线104连接。

近距离无线方式可为利用蓝牙模块进行连接的方式。例如,上位机102是移动终端,蓝牙模块可插接在OBD接口108上,上位机102与蓝牙模块进行无线通信而与CAN总线104连接。移动终端上的待更新程序可从服务器下载。

请参图4~图5,在某些实施方式中,该车辆程序更新系统100包括车辆的车载终端112,该车载终端112连接该CAN总线104及该上位机102。该上位机102与该CAN总线104通过无线方式连接。

无线方式可包括远距离无线方式及近距离无线方式,远距离无线方式可为利用移动通信网络进行连接的方式。例如,请参图4,上位机102是服务器,车载终端112内置有移动通信模块114,上位机102与移动通信模块114进行无线通信而与CAN总线104连接。

近距离无线方式可为利用蓝牙模块进行连接的方式。例如,请参图5,上位机102是移动终端,车载终端112内置有蓝牙模块116,上位机102与蓝牙模块116进行无线通信而与CAN总线104连接。而移动终端上的待更新程序可从服务器500下载。

需要指出的是,无论上位机102与CAN总线104通过有线方式连接,还是通过无线方式连接,上位机102均包括实现有线方式连接及/或无线方式连接对应的硬件及软件,例如,在上述远距离无线方式中,上位机102也包括移动通信模块,上位机102的移动通信模块与车载终端112的或插接在OBD接口108上的移动通信模块进行通信以传输信号及数据等。

在进行程序更新时,上位机102将待更新的程序通过有线方式或无线方式发送至CAN总线104的设定节点106上,或通过有线方式或无线方式发送至车载终端112,车载终端112再将待更新的程序发送至CAN总线104的设定节点106上。设定节点106例如为程序待更新的节点。

该上位机102用于通过该CAN总线104向所有节点106请求进入诊断会话模式。该多个节点106用于根据进入诊断会话模式的请求,发送会话应答至该上位机102。该上位机102用于根据该会话应答,通过该CAN总线104控制所有节点106禁止报文的发送及禁止故障码的设置。

在该设定节点106的应用程序更新完成后,该设定节点106用于通过该CAN总线104发送更新完成信号至该上位机102。该上位机102用于根据该更新完成信号,通过该CAN总线104发送恢复报文至所有节点106。所有节点106用于根据该恢复报文,恢复报文的发送及故障码的设置。

具体地,请结合图6,上位机102接收到会话应答后,上位机102发送所有节点禁止CAN总线报文的发送的请求,所有节点106接收到禁止报文的发送的请求后,禁止报文的发送,同时发送第一应答至上位机102。

上位机102根据第一应答,发送所有节点禁止故障码的设置的请求,所有节点106接收到禁止故障码的设置的请求后,禁止故障码的设置。同时,所有节点106发送第二应答至上位机102。上位机102根据第二答应,下发待更新的程序到CAN总线104的设定节点106上,同时请求不需要更新程序的其它节点106保持诊断会话模式。此时,设定节点106进入程序更新模式,其它节点106保持诊断会话模式。

设定节点106的程序更新完成后,上位机102根据设定节点106发送的更新完成信号,发送所有节点恢复报文的发送的请求,所有节点106接收到恢复报文的发送的请求后,恢复报文的发送,同时发送第三应答至上位机102。

上位机102根据第三应答,发送所有节点恢复故障码的设置的请求,各节点106接收到恢复故障码的设置的请求后,恢复故障码的设置,同时发送第四应答给上位机102,至此整个程序更新过程完成。需要指出的是,各节点106的CAN控制器可根据上位机102发送的请求,控制对应的节点106执行相应的操作,例如,禁止报文的发送及恢复报文的发送等以上操作。

请参图7,以CAN网络中的节点1进行程序更新为例说明:

步骤1:上位机102准备更新节点1的程序时先发送报文,通知CAN总线上的所有节点106都要禁止报文的发送;

步骤2:网络上包括节点1在内的所有节点106接收到通知后,立即停止报文的发送并发送第一应答至上位机102;

步骤3:上位机102接收到第一应答后,接着发送网络上的所有节点106都禁止故障码的设置的请求;

步骤4:网络上包括节点1在内的所有节点106接收到请求后,立即停止故障码的设置并发送第二应答至上位机102;

步骤5:上位机102接收到第二应答后,下发节点1的程序同时也下发报文通知网络上除节点1外的其它节点106保持以上状态(停止报文的发送及故障码的设置);

步骤6:节点1进行程序更新,其它节点106继续保持禁止报文的发送及故障码的设置;

步骤7:节点1程序更新完成后则跳转到步骤8,否则跳转到步骤6;

步骤8:在节点1的程序更新完成后,上位机102发送请求,通知网络上所有节点106恢复报文的发送;

步骤9:网络上的所有节点106接收到恢复报文的发送的请求后,立即恢复报文的发送并发送第三应答至上位机102;

步骤10:上位机102接收到第三应答后,发送网络上的所有节点106都恢复故障码的设置的请求;

步骤11:网络上的所有节点106接收到恢复故障码的设置的请求后,立即恢复故障码的设置并发送第四应答至上位机102。至此整个软件更新过程结束。

另外,由于节点1在更新程序后,会自动恢复报文的发送及故障码的设置,所以步骤9及步骤10中,节点1也可忽略上位机102下发的报文的发送及故障码的设置的恢复请求。

综上所述,上述车辆程序更新系统100,在对设定节点106进行程序更新时,保持 其它节点106禁止报文的发送及禁止故障码的设置,从而降低CAN总线104负载率,提高CAN总线104程序更新的成功率。

请参图8,本发明较佳实施方式提供一种车辆程序更新方法。该车辆程序更新方法可由以上实施方式的车辆程序更新系统100实现。该车辆程序更新方法包括以下步骤:

S1:上位机102通过CAN总线104控制连接在该CAN总线104上的所有节点106禁止报文的发送及禁止故障码的设置,之后进入步骤S2;

S2:该上位机102通过该CAN总线104将待更新的应用程序发送至所有该节点106中的一个设定节点106,并保持其它节点106禁止报文的发送及禁止故障码的设置,之后进入步骤S3;

S3:在该设定节点106的应用程序更新完成后,该上位机102通过该CAN总线104控制所有该节点106恢复报文的发送及故障码的设置。

在上述车辆程序更新方法中,该上位机102与该CAN总线104通过有线方式或无线方式连接。例如,上位机102通过CAN盒110连接车辆程序更新系统100的OBD接口108,进而与CAN总线104进行有线连接,或上位机102通过蓝牙模块116与车载终端112连接,进而与CAN总线104进行无线连接。

在进行程序更新时,上位机102将待更新的程序通过有线方式或无线方式发送至CAN总线104的设定节点106上,或通过无线方式发送至车载终端112,车载终端112再将待更新的程序发送至CAN总线104的设定节点106上。设定节点106例如为程序待更新的节点。

在步骤S1中,该上位机102通过该CAN总线104向所有节点106请求进入诊断会话模式。所有节点106根据进入诊断会话模式的请求,发送会话应答至该上位机102。该上位机102根据该会话应答,通过该CAN总线104控制所有节点106禁止报文的发送及禁止故障码的设置。

具体地,上位机102接收到会话应答后,上位机102发送所有节点禁止报文的发送的请求,所有节点106接收到禁止报文的发送的请求后,禁止报文的发送,同时发送第一应答至上位机102。

上位机102根据第一应答,发送所有节点禁止故障码的设置的请求,所有节点106接收到禁止故障码的设置的请求后,禁止故障码的设置。同时,所有节点106发送第二应答至上位机102。

在步骤S2中,上位机102根据第二答应,下发待更新的程序到CAN总线104的设定节点106上,同时请求不需要更新程序的其它节点106保持诊断会话模式。此时,设定节点106进入程序更新模式,其它节点106保持诊断会话模式。

在步骤S3中,在该设定节点106的应用程序更新完成后,该设定节点106通过该CAN总线104发送更新完成信号至该上位机102。该上位机102根据该更新完成信号,通过该CAN总线104发送恢复报文至所有节点106。所有节点106根据该恢复报文,恢复报文的发送及故障码的设置。

具体地,设定节点106的程序更新完成后,上位机102根据设定节点106发送的更新完成信号,发送所有节点恢复报文的发送的请求,所有节点106接收到恢复报文的发送的请求后,恢复报文的发送,同时发送第三应答至上位机102。

上位机102根据第三应答,发送所有节点恢复故障码的设置的请求,各节点106接收到恢复故障码的设置的请求后,恢复故障码的设置,同时发送第四应答至上位机102。至此整个程序更新过程完成。

上述车辆程序更新方法未展开的其它部分可参以上实施方式的车辆程序更新系统100相同或相对应的部分,在此不再详细展开。

综上所述,上述车辆程序更新方法,在对设定节点106进行程序更新时,保持其它节点106禁止报文的发送及禁止故障码的设置,从而降低CAN总线104负载率,提高CAN总线104程序更新的成功率。

在本说明书的描述中,参考术语″一个实施方式″、″一些实施方式″、″示意性实施方式″、″示例″、″具体示例″、或″一些示例″等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。

此外,术语″第一″、″第二″仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有″第一″、″第二″的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,″多个″的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以 供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,″计算机可读介质″可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1