一种基于can总线的ecu在线程序升级系统及方法

文档序号:9810337阅读:2425来源:国知局
一种基于can总线的ecu在线程序升级系统及方法
【技术领域】
[0001 ]本发明涉及电动汽车技术领域,特别涉及一种基于CAN总线的ECU在线程序升级系统及方法。
【背景技术】
[0002]目前,ECU安装在车上以后,要更新其中的程序,传统的方法是通过调试接口(JTAG,DAP等)来下载程序,非常不方便。以电池管理系统为例,其主控制单元和从控制单元均固定于箱体之中,如果要升级应用程序,操作非常不方便。因此,有必要设计一种更方便快捷的方案实现程序升级。现在市场上有一些在线程序升级方案,其中大部分是基于RS232总线,但是RS232总线速率比较低,而且RS232总线不满足汽车应用要求。CAN总线在汽车领域有着广泛应用,因此设计一套基于CAN总线的ECU在线程序升级系统就显得很有必要。

【发明内容】

[0003]为了克服已安装在车上ECU的程序升级难题,本发明提供一种基于CAN总线的ECU在线程序升级系统及方法。
[0004]本发明的技术方案是:
一种基于CAN总线的E⑶在线程序升级系统,包括装有上位机应用程序的PC机、CAN卡和车载嵌入式控制单元ECU,所述CAN卡一端与PC机通过USB接口连接,另一端通过CAN总线连接车载嵌入式控制单元ECU,车载嵌入式控制单元ECU安装有用于引导加载的下位机Boot loader程序,上位机软件与下位机Boot loader程序的通讯协议是基于标准的CCP协议编写。
[0005]—种基于CAN总线的E⑶在线程序升级方法,包括步骤:
51、将新的用户程序编译生成HEX文件,上位机软件加载并解析该HEX文件,得到相关的程序数据以及数据存储地址;
52、上位机软件在解析完HEX文件之后,就进入了与下位机通讯阶段,上位机会首先发连接命令,该命令包含下位机地址信息,确保与唯一确定的下位机建立连接,下位机接收到连接命令,置位程序升级标志;
53、上位机和下位机建立好连接之后,通过密钥机制进行密匙验证,密钥验证程序完成之后,上位机会发擦除命令,下位机擦除掉原有程序数据;
54、之后上位机开始发送数据开始地址以及数据,下位机接收数据开始地址以及数据,并根据开始地址判断是否需要将已经接收到的数据写入Flash,直到全部数据接收完成并且全部写入Flash中;
55、数据全部写入Flash之后,上位机软件发送断开连接命令,下位机清除程序升级标志,复位下位机,进入用户程序。
[0006]优选的,在上位机软件解析完目标文件以后,根据地址大小对目标文件进行排序。
[0007]优选的,数据的分页工作和Flash写入算法是在下位机Bootloader程序中完成的,上位机软件只负责解析目标文件并进行排序。
[0008]本发明的优点是:
本发明所提供的基于CAN总线的ECU在线程序升级系统及方法,采用CAN总线,实现ECU的在线程序升级,无需将ECU从车上拆下来,只需要CAN卡一端连接PC机的USB接口,另一端连接ECU的CAN总线,就可以通过上位机软件实现ECU程序升级,不用增加额外的硬件,非常便捷。
【附图说明】
[0009]下面结合附图及实施例对本发明作进一步描述:
图1为本发明所述的基于CAN总线的ECU在线程序升级系统的结构示意图;
图2本发明实施例中基于CAN总线的ECU在线程序升级系统的上位机软件界面图;
图3本发明实施例中基于CAN总线的ECU在线程序升级系统的上位机软件流程图;
图4本发明实施例中基于CAN总线的E⑶在线程序升级系统的下位机Bootloader程序流程图。
【具体实施方式】
[0010]如图1所示,本发明所揭示的基于CAN总线的ECU在线程序升级系统,包括装有上位机应用程序的PC机、kvaser公司的USBcan Light型CAN卡和车载嵌入式控制单元E⑶,所述CAN卡一端与PC机通过USB接口连接,另一端通过CAN总线连接车载嵌入式控制单元ECU,车载嵌入式控制单元ECU安装有用于引导加载的下位机Bootloader程序,上位机软件与下位机Bootloader程序的通讯协议是基于标准的CCP协议编写。本发明通过CAN总线,实现在线程序升级过程,只需要CAN卡一端连接PC机的USB接口,另一端连接E⑶的CAN总线,就可以通过PC机更新E⑶中的用户程序。
[0011]图2所展示的是上位机软件界面图,上位机软件是LabVIEW开发环境编写的。主界面主要由CAN卡配置区,加载程序选择区,help文件区,加载进度显示区和加载状态显示区。通过界面中不同功能的依次执行,可以实现HEX文件的正确下载。
[0012]本发明所述的基于CAN总线的E⑶在线程序升级方法包括步骤:
51、将新的用户程序编译生成HEX文件,上位机软件加载并解析该HEX文件,得到相关的程序数据以及数据存储地址;
52、上位机软件在解析完HEX文件之后,就进入了与下位机通讯阶段,上位机会首先发连接命令,该命令包含下位机地址信息,确保与唯一确定的下位机建立连接,下位机接收到连接命令,置位程序升级标志;
53、上位机和下位机建立好连接之后,通过密钥机制进行密匙验证,密钥验证程序完成之后,上位机会发擦除命令,下位机擦除掉原有程序数据;
54、之后上位机开始发送数据开始地址以及数据,下位机接收数据开始地址以及数据,并根据开始地址判断是否需要将已经接收到的数据写入Flash,直到全部数据接收完成并且全部写入Flash中;
55、数据全部写入Flash之后,上位机软件发送断开连接命令,下位机清除程序升级标志,复位下位机,进入用户程序。
[0013]图3所展示的是上位机软件流程图,在完成CAN卡配置之后,通过上位机主界面中的“打开文件”按钮选择需要载入的HEX文件,点击“Reprogram”按钮解析所在如的HEX文件,当点击“Download”之后会依次运行接下来的连接下位机、获取种子、解锁下位机等流程。
[0014]图4所展示的是下位机Bootloader程序流程图,当上位机点击“Download”按钮之后,上位机和下位机进行通讯,上位机只有接收到下位机正确的应答信息,才会进入下一个流程。
[0015]本具体实施通过CAN总线,实现E⑶的在线程序升级,只需要CAN卡一端连接PC机的USB接口,另一端连接E⑶的CAN总线,就可以通过上位机软件实现E⑶程序升级。
[0016]上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明主要技术方案的精神实质所做的修饰,都应涵盖在本发明的保护范围之内。
【主权项】
1.一种基于CAN总线的ECU在线程序升级系统,其特征在于:包括装有上位机应用程序的PC机、CAN卡和车载嵌入式控制单元E⑶,所述CAN卡一端与PC机通过USB接口连接,另一端通过CAN总线连接车载嵌入式控制单元ECU,车载嵌入式控制单元ECU安装有用于引导加载的下位机Boot loader程序,上位机软件与下位机Boot loader程序的通讯协议是基于标准的CCP协议编写。2.一种基于CAN总线的E⑶在线程序升级方法,其特征在于,包括步骤: 51、将新的用户程序编译生成HEX文件,上位机软件加载并解析该HEX文件,得到相关的程序数据以及数据存储地址; 52、上位机软件在解析完HEX文件之后,就进入了与下位机通讯阶段,上位机会首先发连接命令,该命令包含下位机地址信息,确保与唯一确定的下位机建立连接,下位机接收到连接命令,置位程序升级标志; 53、上位机和下位机建立好连接之后,通过密钥机制进行密匙验证,密钥验证程序完成之后,上位机会发擦除命令,下位机擦除掉原有程序数据; 54、之后上位机开始发送数据开始地址以及数据,下位机接收数据开始地址以及数据,并根据开始地址判断是否需要将已经接收到的数据写入Flash,直到全部数据接收完成并且全部写入Flash中; 55、数据全部写入Flash之后,上位机软件发送断开连接命令,下位机清除程序升级标志,复位下位机,进入用户程序。3.根据权利要求2所述的基于CAN总线的ECU在线程序升级系统,其特征在于,在上位机软件解析完目标文件以后,根据地址大小对目标文件进行排序。4.根据权利要求3所述的基于CAN总线的ECU在线程序升级系统,其特征在于,数据的分页工作和Flash写入算法是在下位机Bootloader程序中完成的,上位机软件只负责解析目标文件并进行排序。
【专利摘要】本发明公开了一种基于CAN总线的ECU在线程序升级系统及方法,包括装有上位机应用程序的PC机、CAN卡和车载嵌入式控制单元ECU,所述CAN卡一端与PC机通过USB接口连接,另一端通过CAN总线连接车载嵌入式控制单元ECU,车载嵌入式控制单元ECU安装有用于引导加载的下位机Bootloader程序,上位机软件与下位机Bootloader程序的通讯协议是基于标准的CCP协议编写。本发明所提供的基于CAN总线的ECU在线程序升级系统及方法,采用CAN总线,实现ECU的在线程序升级,无需将ECU从车上拆下来,只需要CAN卡一端连接PC机的USB接口,另一端连接ECU的CAN总线,就可以通过上位机软件实现ECU程序升级,不用增加额外的硬件,非常便捷。
【IPC分类】G06F9/445
【公开号】CN105573807
【申请号】CN201511014001
【发明人】金达锋, 张振兵
【申请人】清华大学苏州汽车研究院(吴江)
【公开日】2016年5月11日
【申请日】2015年12月31日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1