1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 新能源汽车电机控制器的程序更新回滚方法与流程

新能源汽车电机控制器的程序更新回滚方法与流程

时间:2020-08-17 07:53:28

相关推荐

新能源汽车电机控制器的程序更新回滚方法与流程

本发明涉及新能源汽车电机控制技术领域,尤其涉及一种新能源汽车电机控制器的程序更新回滚方法。

背景技术:

随着新能源汽车行业的发展,生产及在运行的新能源车的数量不断提升,因此对车载电机控制器的程序维护升级需求不断提高,对程序更新过程鲁棒性的要求提出了更高的要求。但在车载电机控制器中普遍采用的是绝对地址的嵌入式soc芯片(系统级芯片),程序更新时需要将程序文件刷写到指定的地址空间,对程序更新方法具有一定的限制。

传统的程序更新回滚方法是通过can总线发送连接指令、安全访问指令、擦除指令、下载数据指令、校验数据完整性指令,最终完成下载启动新程序;当在程序更新的过程中,擦除指令执行后,电机控制器中就没有可直接运行的电机控制的应用程序代码,在擦除之后的环节中如果出现故障或错误,将导致程序更新失败,则电机控制器功能失效,无法再实现电机控制的基本功能。传统的程序回滚方法是重新擦除程序代码空间,从备份空间读取备份数据,重新写入到程序代码空间,重新启动运行,恢复电机控制器功能。但该过程耗时较长,可达数分钟之久,如发生异常断电等情况,需要重新执行程序回滚操作,在该过程中电机控制器功能是失效的,如此严重影响电机控制器功能的鲁棒性。

技术实现要素:

本发明所要解决的技术问题是提供一种新能源汽车电机控制器的程序更新回滚方法,本方法克服传统车载电机控制器程序维护升级过程的缺陷,解决电机控制器程序更新过程中异常退出后程序回滚过程中功能缺失的问题,且程序更新回滚无需等待,保证了电机控制器功能的鲁棒性。

为解决上述技术问题,本发明新能源汽车电机控制器的程序更新回滚方法包括如下步骤:

步骤一、将车载电机控制器内soc芯片的微控制单元内部的程序存储空间划分为三个存储区块,且每个存储区块可独立擦除而不影响其他存储区块内容,其中,一个存储区块用于存储引导应用程序运行的boot程序,另外两个存储区块分别用于存储第一应用程序和第二应用程序,第一应用程序和第二应用程序独立运行,互不相干;

步骤二、编制用于车载电机控制器程序更新的功能程序,分别采用第一链接配置文件和第二链接配置文件生成第一更新应用程序和第二更新应用程序,第一更新应用程序和第二更新应用程序功能相同并分配有不同的地址空间,将第一更新应用程序和第二更新应用程序合成形成程序更新文件并储存于外部非易失性存储器中;

步骤三、车载电机控制器复位启动后进行环境初始化,并经can总线及程序更新终端获取程序更新请求,若有程序更新请求,进入程序更新操作,若无程序更新请求,车载电机控制器执行第一应用程序或第二应用程序的控制功能;

步骤四、车载电机控制器程序更新操作从外部非易失性存储器中获取程序更新文件,若车载电机控制器当前执行的是第一应用程序,则擦除第二应用程序,并将程序更新文件中的第二更新应用程序写入对应的存储区块,若车载电机控制器当前执行的是第二应用程序,则擦除第一应用程序,并将程序更新文件中的第一更新应用程序写入对应的存储区块;

步骤五、重启车载电机控制器,车载电机控制器在boot程序的引导下执行第二更新应用程序或第一更新应用程序,实现电机的控制功能;若车载电机控制器程序更新操作失败,则车载电机控制器在boot程序的引导下执行第一应用程序或第二应用程序的控制功能。

进一步,所述车载电机控制器内soc芯片通过通讯模块与所述外部非易失性存储器同步通讯连接,若有程序更新请求时,通讯模块从外部非易失性存储器获取程序更新文件。

进一步,所述车载电机控制器内soc芯片通过连接于can总线的can收发器和can总线设备获取程序更新请求。

由于本发明新能源汽车电机控制器的程序更新回滚方法采用了上述技术方案,即本方法将程序存储空间划分为三个存储区块,分别存储boot程序、第一和第二应用程序;编制用于电机控制器程序更新的功能程序,按配置文件生成第一更新应用程序和第二更新应用程序合成形成程序更新文件储存于外部非易失性存储器中;电机控制器复位启动后获取程序更新请求,若有程序更新请求,进入程序更新操作,若无程序更新请求,电机控制器执行第一或第二应用程序的控制功能;程序更新操作从外部非易失性存储器中获取程序更新文件,若电机控制器当前执行的是第一应用程序,则擦除第二应用程序,并将程序更新文件中的第二更新应用程序写入对应的存储区块,若电机控制器当前执行的是第二应用程序,则擦除第一应用程序,并将程序更新文件中的第一更新应用程序写入对应的存储区块;重启电机控制器并在boot程序的引导下执行第二更新应用程序或第一更新应用程序,实现电机的控制功能;若电机控制器程序更新操作失败,则电机控制器在boot程序的引导下执行第一应用程序或第二应用程序的控制功能。本方法克服传统车载电机控制器程序维护升级过程的缺陷,解决电机控制器程序更新过程中异常退出后程序回滚过程中功能缺失的问题,且程序更新回滚无需等待,保证了电机控制器功能的鲁棒性。

附图说明

下面结合附图和实施方式对本发明作进一步的详细说明:

图1为本发明新能源汽车电机控制器的程序更新回滚方法的系统框图;

图2为本方法中程序更新文件生成流程框图;

图3为本方法中程序更新操作流程框图。

具体实施方式

实施例如图1、图2和图3所示,本发明新能源汽车电机控制器的程序更新回滚方法包括如下步骤:

步骤一、将车载电机控制器1内soc芯片11的微控制单元12内部的程序存储空间13划分为三个存储区块,且每个存储区块可独立擦除而不影响其他存储区块内容,其中,一个存储区块用于存储引导应用程序运行的boot程序,另外两个存储区块分别用于存储第一应用程序和第二应用程序,第一应用程序和第二应用程序独立运行,互不相干;

步骤二、编制用于车载电机控制器1程序更新的功能程序,分别采用第一链接配置文件和第二链接配置文件生成第一更新应用程序和第二更新应用程序,第一更新应用程序和第二更新应用程序功能相同并分配有不同的地址空间,将第一更新应用程序和第二更新应用程序合成形成程序更新文件并储存于外部非易失性存储器中;

步骤三、车载电机控制器1复位启动后进行环境初始化,并经can总线2及程序更新终端3获取程序更新请求,若有程序更新请求,进入程序更新操作,若无程序更新请求,车载电机控制器1执行第一应用程序或第二应用程序的控制功能;

步骤四、车载电机控制器1程序更新操作从外部非易失性存储器14中获取程序更新文件,若车载电机控制器1当前执行的是第一应用程序,则擦除第二应用程序,并将程序更新文件中的第二更新应用程序写入对应的存储区块,若车载电机控制器1当前执行的是第二应用程序,则擦除第一应用程序,并将程序更新文件中的第一更新应用程序写入对应的存储区块;

步骤五、重启车载电机控制器1,车载电机控制器1在boot程序的引导下执行第二更新应用程序或第一更新应用程序,实现电机的控制功能;若车载电机控制器1程序更新操作失败,则车载电机控制器1在boot程序的引导下执行第一应用程序或第二应用程序的控制功能。

优选的,所述车载电机控制器1内soc芯片11通过通讯模块15与所述外部非易失性存储器14同步通讯连接,若有程序更新请求时,通讯模块15从外部非易失性存储器14获取程序更新文件。

优选的,所述车载电机控制器1内soc芯片11通过连接于can总线2的can收发器15和can总线设备4获取程序更新请求。

本方法用于更新新能源汽车电机控制器的控制程序,从而提高程序更新过程的鲁棒性,有效降低程序更新异常导致的控制功能缺失,确保新能源汽车的可靠控制。

如图1所示,电机控制器的程序更新系统由soc芯片11、程序更新终端3(如pc机、诊断仪等)、can总线设备4、can收发器16、供电模块17、外部非易失性存储器14、can总线2等构成,其中,soc芯片11包括微控制单元12、程序存储空间13、can模块18、通讯模块15等。

程序更新终端3用于将程序更新文件数据通过通信通道传输到外部非易失性存储器14内存储,can总线设备用于转换程序更新终端3与can总线2之间的通信电平格式,can总线2在can总线设备4与电机控制器1之间建立电信号传递通道,电机控制器1用于控制电机运行,can收发器16可以在can总线2与soc芯片11间进行通信电平信号转换,soc芯片11中的微控制单元12用于执行电机控制程序,供电模块17用于对电机控制器1内的各个模块进行供电,非易失性存储器14用于存储掉电后仍需保存的数据以及程序更新文件,如程序更新请求信息、程序运行环境信息等;can模块18用于实现can通信的协议转换功能,通信模块15用于与非易失性存储器14进行匹配通信,操作非易失性存储器14进行写入、读取数据,程序存储空间13用于存储boot程序、应用程序代码。

本方法通过对程序存储空间进行分配设计、程序链接处理、刷写流程配套处理,可以使电机控制器中的soc芯片中保留前一版的电机控制程序以及刷新新版的电机控制程序,当更新成功时运行新版的电机控制程序,当在更新过程中发生故障或错误时,仍然可以直接让电机控制器运行前一版的控制程序,从而使控制程序回滚无需等待,保证电机控制器功能的鲁棒性。

本方法区别于传统的程序更新回滚方法,可以提高程序更新回滚的鲁棒性,当程序更新过程中任意环节出现异常失败后自动快速可靠回滚到旧版的控制程序运行,有效降低由于更新异常,电机控制器功能失效导致的危害。

技术特征:

1.一种新能源汽车电机控制器的程序更新回滚方法,其特征在于本方法包括如下步骤:

步骤一、将车载电机控制器内soc芯片的微控制单元内部的程序存储空间划分为三个存储区块,且每个存储区块可独立擦除而不影响其他存储区块内容,其中,一个存储区块用于存储引导应用程序运行的boot程序,另外两个存储区块分别用于存储第一应用程序和第二应用程序,第一应用程序和第二应用程序独立运行,互不相干;

步骤二、编制用于车载电机控制器程序更新的功能程序,分别采用第一链接配置文件和第二链接配置文件生成第一更新应用程序和第二更新应用程序,第一更新应用程序和第二更新应用程序功能相同并分配有不同的地址空间,将第一更新应用程序和第二更新应用程序合成形成程序更新文件并储存于外部非易失性存储器中;

步骤三、车载电机控制器复位启动后进行环境初始化,并经can总线及程序更新终端获取程序更新请求,若有程序更新请求,进入程序更新操作,若无程序更新请求,车载电机控制器执行第一应用程序或第二应用程序的控制功能;

步骤四、车载电机控制器程序更新操作从外部非易失性存储器中获取程序更新文件,若车载电机控制器当前执行的是第一应用程序,则擦除第二应用程序,并将程序更新文件中的第二更新应用程序写入对应的存储区块,若车载电机控制器当前执行的是第二应用程序,则擦除第一应用程序,并将程序更新文件中的第一更新应用程序写入对应的存储区块;

步骤五、重启车载电机控制器,车载电机控制器在boot程序的引导下执行第二更新应用程序或第一更新应用程序,实现电机的控制功能;若车载电机控制器程序更新操作失败,则车载电机控制器在boot程序的引导下执行第一应用程序或第二应用程序的控制功能。

2.根据权利要求1所述的新能源汽车电机控制器的程序更新回滚方法,其特征在于:所述车载电机控制器内soc芯片通过通讯模块与所述外部非易失性存储器同步通讯连接,若有程序更新请求时,通讯模块从外部非易失性存储器获取程序更新文件。

3.根据权利要求1所述的新能源汽车电机控制器的程序更新回滚方法,其特征在于:所述车载电机控制器内soc芯片通过连接于can总线的can收发器和can总线设备获取程序更新请求。

技术总结

本发明公开了一种新能源汽车电机控制器的程序更新回滚方法,本方法在程序存储空间分别存储Boot程序、第一和第二应用程序;编制生成第一和第二更新应用程序并合成形成程序更新文件储存于外部非易失性存储器中;电机控制器获取程序更新请求,若有该请求,进入程序更新操作,若无该请求,执行第一或第二应用程序的控制功能;程序更新操作获取程序更新文件,擦除第一或第二应用程序,写入第一或第二更新应用程序;重启电机控制器并在Boot程序的引导下执行第一或第二更新应用程序,若程序更新操作失败,则电机控制器在Boot程序的引导下执行第一或第二应用程序。本方法解决电机控制器程序更新异常导致的功能缺失问题,保证了电机控制器功能的鲁棒性。

技术研发人员:周敏;迟旭;杜朝辉

受保护的技术使用者:上海大郡动力控制技术有限公司

技术研发日:.10.28

技术公布日:.02.21

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。