电动汽车电机控制器的固件更新方法技术

技术编号:14923768 阅读:203 留言:0更新日期:2017-03-30 15:57
本发明专利技术公开了一种电动汽车电机控制器的固件更新方法,包括:上电复位后,Bootloader程序运行,初始化控制器的MCU,将MCU的Flash空间划分为四个区域;获取当前的Bootloader版本及应用程序版本信息;根据获取的应用程序版本信息判断应用程序是否存在,若存在,则读取固件更新请求,若无固件更新请求,则跳转到应用程序,执行应用程序;若应用程序不存在或读取到固件更新请求,则将MCU的Flash或扩展的Flash初始化为USB大容量存储设备并通过USB接口与PC连接,并放入更新文件;读取更新文件信息,完成相应更新。利用USB的高速传输性能和文件系统进行自更新及固件更新,使得更新更加高效简洁。

【技术实现步骤摘要】

本专利技术属于电动汽车电机控制器
,具体涉及一种电动汽车电机控制器的固件更新方法
技术介绍
电机控制器是电动汽车的重要电子控制单元。一般情况下,电机控制器的软件分为Bootloader和应用程序。上电或复位时,从地址0x00000000处开始运行,而在这个地址处通常放置的是一段用来引导处理器并加载应用程序的引导程序,也就是常说的Bootloader。应用程序指的是用户用来实现某项或多项工作的程序。现有的Bootloader可以通过SCI、SPI、CAN等通信媒介,在不拆卸控制器的情况下,与PC或其他设备进行信息交互,实现应用程序的在线更新。这样一方面保证了源代码的安全性,一方面对于电机控制器的布置提供了更多选择。在实际应用中,使用CAN、SPI等通信媒介的Bootloader还存在不足之处,主要体现在以下两个方面:一是传输速度相对较慢,对于比较大的应用程序,往往需要几分钟甚至十几分钟的时间才能更新完成;二是PC上需要安装专门的软件来进行控制操作,操作步骤也较为复杂。随着计算机技术的快速发展,USB技术也得到了飞速发展,从早期1.0版本发展到今天的USB3.0版本,速度也由12Mbps发展到5Gbps,这个速度远远大于CAN、SPI等通信媒介几百kbps的速度。现在USB接口已经成为PC机的必备接口,适合用来做电机控制器MCU的单片机大多集成有USB接口,这样利用USB技术来设计电机控制器的Bootloader成为了一种高效方便的选择。
技术实现思路
针对上述技术问题,本专利技术提出了一种电动汽车电机控制器的固件更新方法,通过USB线将电机控制器和PC连接起来,利用USB的高速传输性能和文件系统进行Bootloader的自更新及固件更新,使得更新更加高效简洁。本专利技术的技术方案是:一种电动汽车电机控制器的固件更新方法,其特征在于,包括以下步骤:S01:上电或复位后,Bootloader程序自动运行,初始化电机控制器的MCU,将MCU的Flash空间划分为四个区域分别存储不同的信息;S02:获取当前的Bootloader版本信息及应用程序版本信息;S03:根据获取的应用程序版本信息判断应用程序是否存在,如果存在,则读取固件更新请求,如果没有固件更新请求,则直接跳转到应用程序,执行应用程序;如果应用程序不存在或者读取到固件更新请求,则将MCU的Flash或扩展的Flash初始化为USB大容量存储设备并通过USB接口与PC连接,并将更新文件放入USB大容量存储设备;S04:读取更新文件信息,判断更新文件是Bootloader更新文件还是应用程序更新文件,如果是Bootloader更新文件,则执行步骤S05;如果是应用程序更新文件,则执行步骤S06;S05:更新Bootloader代码,更新Bootloader版本信息,删除Bootloader更新文件,断开USB连接并复位;S06:更新应用程序代码,更新应用程序版本信息,删除应用程序更新文件,断开USB连接并复位。优选的,所述MCU的Flash空间划分的四个区域区为:区域一为固定区,存储复位向量表,指向Bootloader区的首地址;区域二为Bootloader区,包括主存储区和备份区,备份区用于Bootloader的自更新;区域三为应用程序存储区,存储应用程序及中断向量重映射表;区域四为用户数据存储区,存储Bootloader及应用程序版本信息、故障代码及重要参数。优选的,所述步骤S05具体包括如下步骤:S11:上电或复位后,程序运行在Bootloader主存储区,获取Bootloader更新代码,擦除Bootloader备份区,将更新代码写入备份区;S12:运行程序跳转到Bootloader备份区,擦除Bootloader主存储区,将更新代码写入主存储区;S13:运行程序跳转到Bootloader主存储区,更新Bootloader版本信息,删除Bootloader更新文件,断开USB连接并复位。优选的,所述应用程序版本信息包括版本号、更新日期、大小,如果全不为0,则应用程序存在,否则应用程序不存在。优选的,所述步骤S03包括通过按键来控制设定的引脚电平的高低,如果为高电平则代表存在固件更新请求,如果为低电平则代表没有固件更新请求。与现有技术相比,本专利技术的优点是:1.利用USB的高传输速度可以快速传输更新文件,更新速度快。2.不需要与上位机软件进行通讯,节约时间和成本。3.大大简化了操作,用户只需要将更新文件放入到USB大容量存储设备即可,通过简单的步骤即可完成更新。附图说明下面结合附图及实施例对本专利技术作进一步描述:图1为本专利技术电动汽车电机控制器的固件更新方法的电机控制器MCU的Flash空间分配图;图2为本专利技术电动汽车电机控制器的固件更新方法的流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本专利技术进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本专利技术的概念。实施例:下面结合附图,对本专利技术的较佳实施例作进一步说明。本实施例是基于SAM4S系列硬件,以电机控制器为载体,实现电机控制器固件的更新方法。如图1和2所示,该电动汽车电机控制器的固件更新方法,包括下列步骤:S01:上电或复位后,Bootloader程序自动运行,初始化电机控制器的MCU,将MCU的Flash空间划分为四个区域为:区域一为固定区,存储复位向量表,指向Bootloader区的首地址;区域二为Bootloader区,包括主存储区和备份区,备份区用于Bootloader的自更新;区域三为应用程序存储区,存储应用程序及中断向量重映射表;区域四为用户数据存储区,存储Bootloader及应用程序版本信息、故障代码及重要参数。S02:获取当前的Bootloader版本信息及应用程序版本信息;S03:根据获取的应用程序版本信息判断应用程序是否存在,如果存在,则读取固件更新请求,如果没有固件更新请求,则直接跳转到应用程序,执行应用程序;如果应用程序不存在或者读取到固件更新请求,则将MCU的Flash或扩展的Flash初始化为大容量存储设备并通过USB与PC连接,并放入更新文件;S04:读取更新文件信息,判断更新文件是Bootloader更新文件还是应用程序更新文件,如果本文档来自技高网
...
电动汽车电机控制器的固件更新方法

【技术保护点】
一种电动汽车电机控制器的固件更新方法,其特征在于,包括以下步骤:S01:上电或复位后,Bootloader程序自动运行,初始化电机控制器的MCU,将MCU的Flash空间划分为四个区域分别存储不同的信息;S02:获取当前的Bootloader版本信息及应用程序版本信息;S03:根据获取的应用程序版本信息判断应用程序是否存在,如果存在,则读取固件更新请求,如果没有固件更新请求,则直接跳转到应用程序,执行应用程序;如果应用程序不存在或者读取到固件更新请求,则将MCU的Flash或扩展的Flash初始化为大容量存储设备并通过USB与PC连接,并将更新文件放入大容量存储设备;S04:读取更新文件信息,判断更新文件是Bootloader更新文件还是应用程序更新文件,如果是Bootloader更新文件,则执行步骤S05;如果是应用程序更新文件,则执行步骤S06;S05:更新Bootloader代码,更新Bootloader版本信息,删除Bootloader更新文件,断开USB连接并复位;S06:更新应用程序代码,更新应用程序版本信息,删除应用程序更新文件,断开USB连接并复位。

【技术特征摘要】
1.一种电动汽车电机控制器的固件更新方法,其特征在于,包括以下步骤:
S01:上电或复位后,Bootloader程序自动运行,初始化电机控制器的MCU,将MCU的
Flash空间划分为四个区域分别存储不同的信息;
S02:获取当前的Bootloader版本信息及应用程序版本信息;
S03:根据获取的应用程序版本信息判断应用程序是否存在,如果存在,则读取固件更
新请求,如果没有固件更新请求,则直接跳转到应用程序,执行应用程序;如果应用程序不
存在或者读取到固件更新请求,则将MCU的Flash或扩展的Flash初始化为大容量存储设备
并通过USB与PC连接,并将更新文件放入大容量存储设备;
S04:读取更新文件信息,判断更新文件是Bootloader更新文件还是应用程序更新文
件,如果是Bootloader更新文件,则执行步骤S05;如果是应用程序更新文件,则执行步骤
S06;
S05:更新Bootloader代码,更新Bootloader版本信息,删除Bootloader更新文件,断开
USB连接并复位;
S06:更新应用程序代码,更新应用程序版本信息,删除应用程序更新文件,断开USB连
接并复位。
2.根据权利要求1所述的电动汽车电机控制器的固件更新方法,其特征在于,所述MCU
的Flash空间划分的四个区域区为:区域一为固定区,存储复位向量表,指向Boot...

【专利技术属性】
技术研发人员:王秀锐王月宏任晨佳周伟波易兴初
申请(专利权)人:清华大学苏州汽车研究院吴江苏州穆欧动力科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1