【技术实现步骤摘要】
一种电机专用驱动控制芯片的CAN
‑
Bootloader升级方法
[0001]本专利技术涉及新能源汽车
,具体涉及一种电机专用驱动控制芯片的
CAN
‑
Bootloader
升级方法
。
技术介绍
[0002]随着新能源汽车
ECU(Electronic Control Unit
,电子控制单元
)
应用软件开发的快速发展,其功能越来越强大,实现也越来越复杂
。
如果应用软件后续需要进行功能升级,传统的方法是将能源汽车电机控制器从整车上拆卸下来,而本申请的专利技术人经过研究发现,这样不仅增加了更新的工作量,而且还容易对车辆本身造成损坏,因而亟需对新能源汽车电机控制器装车之后应用程序升级困难的问题进行解决,开发了一种电机专用驱动控制芯片的
CAN
总线
BootLoader
升级的方法,
BootLoader
可以通过车载网络传输数据,实现应用软件的在线更新,免除拆卸的麻烦,在线诊断五大诊断标准之一的
CAN
总线,拥有高度的弹性调整能力,可以在既有的网络中增加节点而不用在软硬件上做任何修正和调整
。
因此,一种电机专用驱动控制芯片的
CAN
‑
Bootloader
升级方法具有很大的使用价值
。
技术实现思路
[0003]针对现有新能源汽车电机控制器装车之后应用程序升级 ...
【技术保护点】
【技术特征摘要】 【专利技术属性】
1.
一种电机专用驱动控制芯片的
CAN
‑
Bootloader
升级方法,其特征在于,在该方法中采用了一种基于
CAN
通信的
Bootloader
升级系统,所述基于
CAN
通信的
Bootloader
升级系统组成包括下位机的
Bootloader
程序和应用程序
、
上位机软件以及上下位机的
CAN
通信协议,所述下位机的
Bootloader
程序和应用程序存放在电机专用驱动控制芯片的
Flash
存储器中,上位机发送的数据经
USB
转
CAN
转换成
CAN
帧送入下位机的
CAN
接收缓冲区,下位机接收到消息应答将数据帧通过
USB
转
CAN
发送至上位机形成循环,所述方法包括以下步骤:
S1、
设计安全模式,所述安全模式用于提供安全访问和下载验证;
S2、
设计
Flash
驱动,所述
Flash
驱动有擦除和写入功能,
Flash
存储器在写入或擦除数据之前,都需要验证操作的合法性,应用程序下载时,把
Flash
驱动下载到
ECU
的
RAM
中,应用程序下载完成后,再把
RAM
中的数据清除,
ECU
进入正常操作模式;
S3、
配置
CAN
驱动模块,所述
CAN
驱动用于完成
CAN
的底层配置,包括
CAN
初始化以及
CAN
的发送和接收函数,所述
CAN
初始化包括中断
、
看门狗和时钟的配置,由现有的嵌入式软件开发工具
Keil5
完成;
S4、
设计
Bootloader
程序,所述
Bootloader
程序用于在应用程序需要升级时接收
、
解析
CAN
数据并将数据写入
Flash
中;
S5、
执行
Bootloader
升级,所述
Bootloader
升级包括启动引导程序和应用程序下载两部分,所述启动引导是在
Bootloader
程序上电完成初始化之后的
CAN
通信循环等待接受到启动命令或者等待超时,将
Flash
中的应用程序加载到
ECU
的
RAM
中执行;所述程序下载是在
Bootloader
程序接收到下载程序的命令时,将应用程序代码从上位机下载下来并写入到
Flash
中存储起来
。2.
根据权利要求1所述的电机专用驱动控制芯片的
CAN
‑
Bootloader
升级方法,其特征在于,所述步骤
S1
中设计安全访问模式包括:依照
ISO15765
协议中的
0x27
安全访问服务来提供下载验证,具体流程是上位机向
ECU
发出请求种子信号来申请一个种子,
ECU
随机返回种子,上位机得到
ECU
返回的种子后,将种子进行处理得到有效密钥
Key
然后发送给
ECU
,
Bootloader
程序得到访问
ECU
的授权;为了保证数据下载的正确性,使用现有
CRC32
校验来保证
。3.
根据权利要求1所述的电机专用驱动控制芯片的
CAN
‑
Bootloader
升级方法,其特征在于,所述步骤
S2
中的
Flash
存储器由一个主存储区和一个
NVR
存储区构成,所述主存储区由
32
个扇区构成,每个扇区包含
512
个基本存储器单元;所述
NVR
存储区由3个扇区构成,每个扇区包含
512
个基本存储器单元;所述主存储区起始地址为
0x10000000
,结束地址为
0x1001F000
,所述
Bootloader
程序放置在
0x10000000
‑
0x1001F000
之间;所述
Flash
驱动包括
CAN_BOOT_ProgramDatatoFlash()
和
CAN_BOOT_ErasePage()
两个函数,其中
CAN_BOOT_ProgramDatatoFlash()
函数用来将数据烧写到指定地址的
技术研发人员:欧阳奇,李美琪,张兴兰,邱念朝,
申请(专利权)人:重庆理工大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。