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

一种基于CAN通信的ECU升级方法及系统

文献发布时间:2023-06-19 19:07:35


一种基于CAN通信的ECU升级方法及系统

技术领域

本发明涉及车辆智能网联技术领域,具体为一种基于CAN通信的ECU升级方法及系统。

背景技术

随着汽车行业的高速发展,尤其是智能网联汽车的快速发展,汽车电子产品在整车中的比重越来越大,相应的,车内ECU(Electronic Control Unit,电子控制单元)越来越多,功能越来越强大。而由于目前汽车软件更新换代的频率比较高,为了保证车内电子产品的高效运行,车内电子产品中的ECU需要及时进行升级。

现有汽车基于CAN控制器模块的软件开发一般是根据不同的配置分别开发或者下线的时候给每个ECU控制器都烧写配置,如发动机管理系统,手动挡和自动挡需要做分别的软件开发,且在物料上也要做明确区别以免安装的时候车辆混淆导致软件不匹配,这样既增加了主机厂物料的管理成本,又延长了下线配置时间。如果车辆在售后进行加装一些电子配置,则需要升级与之相关的控制单元的软件,而现有技术是通过UDS终端设备针对单个ECU去一一独立更新,使得配置升级的效率低下,不利于整体配置统一的维护。

发明内容

本发明的目的是针对背景技术中存在的缺点和问题加以改进和创新,提供一种基于CAN通信的配置方法及系统。

实现上述目的,根据本发明的第一方面,提供如下技术方案:一种基于CAN通信的配置方法,具体包括:

建立与CAN控制器的通信连接,获取目标车辆的第一车辆信息,第一车辆信息至少包括目标车辆ECU的配置信息及软件版本信息;

将获取的第一车辆信息与最新版本的第二车辆信息相比较,从而确定需要修改配置信息的ECU;

将DID信息写入CAN控制器;所述DID信息至少包括对应的ECU的配置信息和对应的ECU诊断ID;

控制CAN控制器将DID信息以广播形式周期性发送到车辆总线上,以使对应的ECU处于唤醒状态时,接收所述DID信息;

当对应的ECU处于唤醒状态时,ECU根据接收到的DID信息而更新其配置信息,从而完成软件升级。

由上述技术方案可见,本发明先将包括ECU配置信息和ECU诊断ID发送给CAN控制器,然后再控制CAN控制器将DID信息以广播形式周期性发送到车辆总线上,以使对应的ECU处于唤醒状态时,接收所述DID信息,并根据接收到的DID信息来自动完成软件升级,从而无需针对单个ECU去独立更新其配置信息,极大提高了配置升级的效率,也利于整体配置统一的维护,后续更改车辆配置,则只需刷写车辆配置到该CAN控制器上。

进一步的方案是,所述控制CAN控制器将DID信息以广播形式周期性发送到车辆总线上,以使对应的ECU处于唤醒状态时,接收所述DID信息具体包括:

控制CAN控制器以广播形式周期性发送ECU诊断ID信息至车辆总线,并接收车辆总线返回的实时报文,所述实时报文包括带有ECU工作状态和地址信息的状态编码,通过状态编码判断对应的ECU是否与车辆总线网络连接正常;

若是,则控制CAN控制器向所述车辆总线以广播形式周期性发送配置信息,以使对应的所述ECU处于唤醒状态时,接收所述配置信息并返回升级成功信息至CAN控制器。

由上述技术方案可见,本发明通过先周期性发送ECU诊断ID信息至车辆总线,确定ECU与车辆总线是否网络连接正常以及获取对应的ECU地址信息,然后再将配置信息周期性发送给ECU,以便于ECU接收到所述配置信息;上述方法相比将DID信息打包发送给ECU,有利于减小数据的传输量,从而提高CAN 控制器芯片处理性能,节省对应的ECU更新配置信息所花费的时间。

进一步的方案是,所述通过状态编码判断对应的ECU是否与车辆总线网络连接正常的步骤之后还包括:

当对应的ECU与车辆总线之间网络连接不正常时,对应的ECU返回第二故障码给到CAN控制器,所述第二故障码包括ECU的故障状态代码。

进一步的方案是,所述将DID信息写入CAN控制器;所述DID信息至少包括对应的ECU的配置信息和对应的ECU诊断ID的步骤之后还包括:

通过UDS诊断设备发送故障码清除指令,对CAN控制器的故障码清除,并接收CAN控制器返回的故障清除成功信息,所述故障清除成功信息包括第一故障码,第一故障码包括CAN控制器的故障状态代码,再控制CAN控制器重新上电,完成自检复位。

由上述技术方案可见,通过UDS诊断设备发送故障码清除指令,对CAN控制器的故障码清除,从而避免由于CAN控制器的问题而导致DID信息无法发送到对应的ECU,有利于后续诊断对应的ECU与车辆总线之间是否网络连接正常。

进一步的方案是,所述控制CAN控制器将DID信息以广播形式周期性发送到车辆总线上,以使对应的ECU处于唤醒状态时,接收所述DID信息的步骤还包括:

在CAN控制器向车辆总线周期性发送DID信息的同时,CAN控制器记录发送的时间和发送的DID信息。

根据本发明的第二方面,提供一种基于CAN通信的配置系统,具体包括:

信息获取模块,用于建立与CAN控制器的通信连接,获取目标车辆的第一车辆信息,第一车辆信息至少包括目标车辆ECU的配置信息及软件版本信息;

信息比较模块,用于将获取的第一车辆信息与最新版本的第二车辆信息相比较,从而确定需要修改配置信息的ECU;

信息写入模块,用于将DID信息写入CAN控制器;所述DID信息至少包括对应的ECU的配置信息和对应的ECU诊断ID;

信息发送模块,控制CAN控制器将DID信息以广播形式周期性发送到车辆总线上,以使对应的ECU处于唤醒状态时,接收所述DID信息;

信息更新模块,当对应的ECU处于唤醒状态时,ECU根据接收到的DID信息而更新其配置信息,从而完成软件升级。

由上述技术方案可见,本发明通过先周期性发送ECU诊断ID信息至车辆总线,确定ECU与车辆总线是否网络连接正常以及对应的ECU地址信息,然后再将配置信息周期性发送给ECU,以便于ECU接收到所述配置信息;上述方法相比将DID信息打包发送给ECU,有利于减小数据的传输量,从而提高CAN 控制器芯片处理性能,节省对应的ECU更新配置信息所花费的时间。

进一步的方案是,所述信息发送模块具体包括:

第一发送单元,用于控制CAN控制器以广播形式周期性发送ECU诊断ID信息至车辆总线,并接收车辆总线返回的实时报文,所述实时报文为带有ECU工作状态和地址信息的状态编码,通过状态编码判断对应的ECU是否与车辆总线网络连接正常;

第二发送单元,当对应的ECU与车辆总线网络连接正常时,用于控制CAN控制器向所述车辆总线以广播形式周期性发送配置信息,以使对应的所述ECU处于唤醒状态时,接收所述配置信息并返回升级成功信息至CAN控制器。

进一步的方案是,所述信息发送模块还包括:

故障返回单元,当对应的ECU与车辆总线之间网络连接不正常时,用于对应的ECU返回第二故障码给到CAN控制器,所述第二故障码包括ECU的故障状态代码。

进一步的方案是,还包括:

故障清除模块,用于通过UDS诊断设备发送故障码清除指令,对CAN控制器的故障码清除,并接收CAN控制器返回的故障清除成功信息,所述故障清除成功信息包括第一故障码,第一故障码包括CAN控制器的故障状态代码,再控制CAN控制器重新上电,完成自检复位。

进一步的方案是,所述信息发送模块还包括:

信息记录单元,在CAN控制器向车辆总线周期性发送DID信息的同时,用于CAN控制器记录发送的时间和发送的DID信息。

与现有技术相比,本发明的有益效果是:本发明先将包括ECU配置信息和ECU诊断ID发送给CAN控制器,然后再控制CAN控制器将DID信息以广播形式周期性发送到车辆总线上,以使对应的ECU处于唤醒状态时,接收所述DID信息,并根据接收到的DID信息来自动完成软件升级,从而无需针对单个ECU去独立更新其配置信息,极大提高了配置升级的效率,也利于整体配置统一的维护,后续更改车辆配置,则只需刷写车辆配置到该CAN控制器上;此外,通过先发送ECU诊断ID信息至车辆总线,确定ECU与车辆总线是否网络连接正常以及对应的ECU地址信息,然后再将配置信息周期性发送给ECU,以便于ECU接收到所述配置信息;上述方法相比将DID信息打包发送给ECU,有利于减小数据的传输量,从而提高CAN 控制器芯片处理性能,节省对应的ECU更新配置信息所花费的时间。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一实施例所提供的方法的流程示意图;

图2为本发明一实施例控制CAN控制器将DID信息以广播形式周期性发送到车辆总线上的方法的流程示意图;

图3是本发明一实施例提供的系统结构示意图。

具体实施方式

为使本发明的目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。

需要说明的是,当元件被称为“固定于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

实施例1

请参阅图1,本发明提供一种基于CAN通信的ECU软件升级方法,具体包括以下步骤:

步骤S1、建立与CAN控制器的通信连接,获取目标车辆的第一车辆信息,第一车辆信息至少包括目标车辆的配置信息及软件版本信息;

具体的,UDS终端设备首先通过数据线连接到目标车辆的OBD诊断接口,然后在UDS终端设备上输入访问码,UDS终端设备将发送与CAN控制器连接请求信息;所述CAN控制器连接请求信息包括CAN控制器的地址信息,当CAN控制器接收到该连接请求信息后,CAN控制器将反馈连接成功信息给UDS终端设备,以反馈UDS终端设备与CAN控制器连接成功。当UDS终端设备与CAN控制器连接成功后,然后UDS终端设备发送信息读取指令给目标车辆的CAN控制器,CAN控制器接收到该指令后,将数据库预存的目标车辆的VIN编码、目标车辆的配置信息及软件版本信息反馈给UDS终端设备,以实现第一车辆信息的读取。其中,第一车辆信息用于与最新版本的第二车辆信息相比较,从而确定需要修改配置信息的ECU(电子控制单元)。

需要说明的是,第一车辆信息也可以编译成二维码或上传云端,UDS终端设备通过扫描二维码或者连接云端,以获取目标车辆的第一车辆信息,从而提高操作便利性及可维护性。

步骤S2、将获取的第一车辆信息与最新版本的第二车辆信息相比较,从而确定需要修改配置信息的ECU;

步骤S3、将DID信息写入CAN控制器;所述DID信息至少包括对应的ECU的配置信息和对应的ECU诊断ID;

需要注意的是,UDS终端设备将DID信息写入CAN控制器,所述DID信息至少包括对应的ECU的配置信息和对应的ECU诊断ID。当DID信息写入CAN控制器后,CAN控制器此时的内部软件及相关信息已经配置完毕,接下来应当对该CAN控制器的连接及工作状态做测试,以保证其正常运行。

步骤S4、发送故障码清除指令,对CAN控制器的故障码进行清除与读取,再控制CAN控制器重新上电,完成自检复位;

其中,通过UDS诊断设备发送故障码清除指令,对CAN控制器的故障码清除,并接收CAN控制器返回的故障清除成功信息,所述故障清除成功信息包括第一故障码,第一故障码包括CAN控制器的故障状态代码,再控制CAN控制器重新上电,完成自检复位。可以理解的是,如此设置,避免了由于CAN控制器的问题而导致DID信息无法发送到对应的ECU,有利于后续诊断对应的ECU与车辆总线之间是否网络连接正常。

在一些实施例中,当CAN控制器配置信息刷写完成以及故障码清除后,CAN控制器基于车辆VIN码与预设的主机厂云服务平台发起数据连接请求,其中车辆VIN码属于获取的目标车辆的第一车辆信息的一部分,将CAN控制器的DID信息与主机厂资源库相关信息比对,将主机厂资源库的目标车辆的配置信息进行更新,当接收到更新完成的反馈信息后,判断CAN控制器与主机厂云服务平台通信正常,使得既能将主机厂资源库的配置信息进行更新,又能测试CAN控制器的连接及工作状态是否正常运行。

步骤S5、控制CAN控制器将DID信息以广播形式周期性发送到车辆总线上,以使对应的ECU处于唤醒状态时,接收所述DID信息;

当判断CAN控制器的连接及工作状态是正常运行的,控制CAN控制器将DID信息以广播形式周期性发送到车辆总线上,以使对应的ECU处于唤醒状态时,接收所述DID信息,可以理解的是,当ECU处于非唤醒状态,ECU不能接收到所述DID信息,因此要控制CAN控制器将DID信息以广播形式周期性发送到车辆总线上,以使得ECU从非唤醒状态转换成唤醒状态,能够及时接收到所述DID信息。

其中,请参阅图2,所述步骤S5具体包括以下步骤:

步骤S51、控制CAN控制器以广播形式周期性发送ECU诊断ID信息至车辆总线,并接收车辆总线返回的实时报文,所述实时报文包括带有ECU地址信息的状态编码,通过状态编码判断对应的ECU是否与车辆总线网络连接正常;

可以理解的是,当车辆总线没有返回对应的ECU的实时报文,表明对应的ECU与车辆总线之间网络连接不正常,CAN控制器也将接收不到对应的ECU地址信息,同时对应的ECU返回第二故障码给到CAN控制器,所述第二故障码包括ECU的故障状态代码,因此需控制CAN控制器周期性发送ECU诊断ID,当ECU与车辆总线之间网络连接恢复正常以及ECU处于正常状态,此时才能接收到对应的ECU地址信息。

需要说明的是,当ECU接收到CAN控制器发送的信号,ECU才会返回反馈其工作状态和地址信息的状态编码。

步骤S52、若是,则控制CAN控制器向所述车辆总线以广播形式周期性发送配置信息,以使对应的所述ECU处于唤醒状态时,接收所述配置信息并返回升级成功信息至CAN控制器。

可以理解的是,由于上述步骤S51已经获取了ECU的地址信息,因此通过车辆总线能将相应的配置信息以广播形式周期性发送给对应的ECU,使得ECU在唤醒状态时获取对应的ECU配置信息,并根据对应的ECU配置信息完成ECU的升级,当升级成功后,返回完成配置升级以及当前版本信息的升级成功信息。如上所述,当ECU接收到CAN控制器发送的信号,ECU才会返回反馈其工作状态的状态编码,而ECU处于唤醒状态才会获取对应的ECU配置信息,因此需要周期性发送配置信息,当状态编码反馈ECU处于唤醒状态时,CAN控制器发送信号给车辆智能专用控制器,智能专用控制器控制ECU修改配置信息,从而完成ECU的升级。

需要说明的是,通过先周期性发送ECU诊断ID信息至车辆总线,确定ECU与车辆总线是否网络连接正常以及获取对应的ECU地址信息,对应的ECU不需要处于唤醒状态,而后将配置信息发送给ECU,才需要对应的ECU处于唤醒状态,因此本申请将DID信息拆分成ECU诊断ID和配置信息而发送给ECU,上述方法相比将DID信息打包发送给ECU,有利于减小数据的传输量,从而提高CAN 控制器芯片处理性能,节省对应的ECU更新配置信息所花费的时间。

在一些实施例中,CAN控制器向车辆总线周期性发送DID信息的同时,CAN控制器记录发送的时间和DID信息,以便于发送失败时查找原因。

步骤S6、当对应的ECU处于唤醒状态时,ECU根据接收到的DID信息而更新其配置信息,从而完成软件升级;

具体的,当状态编码反馈ECU处于唤醒状态时,CAN控制器发送信号给车辆智能专用控制器,智能专用控制器控制ECU修改配置信息,从而完成ECU的升级。

综上,本发明通过先周期性发送ECU诊断ID信息至车辆总线,确定ECU与车辆总线是否网络连接正常以及对应的ECU地址信息,然后再将配置信息周期性发送给ECU,以便于ECU接收到所述配置信息;上述方法相比将DID信息打包发送给ECU,有利于减小数据的传输量,从而提高CAN 控制器芯片处理性能,节省对应的ECU更新配置信息所花费的时间。

请参阅图3,本发明提供一种基于CAN通信的配置系统,具体包括:

信息获取模块,用于建立与CAN控制器的通信连接,获取目标车辆的第一车辆信息,第一车辆信息至少包括目标车辆ECU的配置信息及软件版本信息;

信息比较模块,用于将获取的第一车辆信息与最新版本的第二车辆信息相比较,从而确定需要修改配置信息的ECU;

信息写入模块,用于将DID信息写入CAN控制器;所述DID信息至少包括对应的ECU的配置信息和对应的ECU诊断ID;

信息发送模块,控制CAN控制器将DID信息以广播形式周期性发送到车辆总线上,以使对应的ECU处于唤醒状态时,接收所述DID信息;

信息更新模块,当对应的ECU处于唤醒状态时,ECU根据接收到的DID信息而更新其配置信息,从而完成软件升级。

进一步地,所述信息发送模块具体包括:

第一发送单元,用于控制CAN控制器发送ECU诊断ID信息至车辆总线,并接收车辆总线返回的实时报文,所述实时报文为带有ECU地址信息和ECU工作状态的状态编码,通过状态编码判断对应的ECU是否与车辆总线网络连接正常;

第二发送单元,当对应的ECU与车辆总线网络连接正常时,用于控制CAN控制器向所述车辆总线以广播形式周期性发送配置信息,以使对应的所述ECU处于唤醒状态时,接收所述配置信息并返回升级成功信息至CAN控制器。

进一步地,所述信息发送模块还包括:

故障返回单元,当对应的ECU与车辆总线之间网络连接不正常时,对应的ECU返回第二故障码给到CAN控制器,所述第二故障码包括ECU的故障状态代码。

进一步地,还包括:

故障清除模块,用于通过UDS诊断设备发送故障码清除指令,对CAN控制器的故障码清除,并接收CAN控制器返回的故障清除成功信息,所述故障清除成功信息包括第一故障码,第一故障码包括CAN控制器的故障状态代码,再控制CAN控制器重新上电,完成自检复位。

进一步地,所述信息发送模块还包括:

信息记录单元,在CAN控制器向车辆总线周期性发送DID信息的同时,用于CAN控制器记录发送的时间和发送的DID信息。

上述各模块、单元被执行时所实现的功能或操作步骤与上述方法实施例大体相同,在此不再赘述。

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对发明的限制。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。

显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或者特性可以包含在本实施例申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是相同的实施例,也不是与其它实施例互斥的独立的或是备选的实施例。本领域技术人员可以显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

相关技术
  • 一种基于Contiki系统的智能云锁通信方法、通信系统
  • 一种基于三网融合的海上通信系统及通信方法
  • 一种基于滤波效应的多输入多输出光通信系统及通信方法
  • 一种基于蜂窝网络的车路实时通信系统及通信方法
  • 基于UDS通信协议实现车辆ECU远程升级的方法
  • 一种基于CAN总线的ECU在线程序升级系统及方法
技术分类

06120115801576