CN106569864A - 一种电池管理单元的远程在线升级方法及系统 - Google Patents
一种电池管理单元的远程在线升级方法及系统 Download PDFInfo
- Publication number
- CN106569864A CN106569864A CN201610998635.4A CN201610998635A CN106569864A CN 106569864 A CN106569864 A CN 106569864A CN 201610998635 A CN201610998635 A CN 201610998635A CN 106569864 A CN106569864 A CN 106569864A
- Authority
- CN
- China
- Prior art keywords
- code
- value
- upgrade
- file
- battery management
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种电池管理单元的远程在线升级方法,包括以下步骤:车载控制终端接收来自于FTP文件服务器的升级代码数据,在接收到下载确认值为预期应答数据的情况下,车载控制终端读取升级代码数据并将其发送至电池管理单元;电池管理单元接收升级代码数据,在更新标识的值为预设值三的情况下,将更新代码数据写入flash存储器内的用户代码区,并运行用户代码区内的程序。本发明还提供了一种远程在线升级系统,包括管理服务器、FTP服务器、车载控制终端以及电池管理单元。本发明能够对电池管理单元进行软件升级,具有高可靠性和稳定性,解决了电池管理单元软件升级失败后出现运行崩溃的技术问题,提高了电池管理单元运行的稳定性。
Description
技术领域
本发明涉及电池管理系统技术领域,具体涉及一种电池管理单元的远程在线升级方法及系统。
背景技术
电池管理单元(简称为“BMU”)是电池管理系统(简称为“BMS”)的主要控制和管理单元,能够对电池管理系统内部的其他子单元,例如电池检测单元和绝缘检测单元,进行控制以及对外通信,从而实现对动力锂电池进行充放电管理、热管理、过压保护、欠压保护、过流保护以及电池剩余电量估算等功能。实际应用过程中,基于应用功能需求的变化,电池管理单元内嵌入的软件具有升级的需求。
电池管理单元内嵌入的软件的传统的升级方式主要包括两种:第一种方式是利用专用下载器(或编译器)与车载控制终端内的单元模块连接,将升级代码数据传输至车载控制终端,从而完成升级操作,升级过程中需要拆开电池管理单元的箱体,实际操作较为复杂,且要求工作人员具有较高的专业知识和技能;第二种方式是上位机通过串口和CAN等通讯接口与车载控制终端连接,并将升级代码数据传输至电池管理单元,从而完成升级操作,该种升级方式不需要拆卸电池管理单元的箱体,无需专用下载器,实际操作较为简单,升级成本较低,但是该升级方式存在一定的误码率,仅要求工作人员具有一定的专业知识和技能。
同时,上述的两种升级方式均属于人工手动升级方式,实际应用过程中,由于安装有电池管理单元的车辆所处的位置极为分散,出于运营成本上的考虑,人工手动升级的方式并不适合电池管理单元的大规模升级。而远程无线升级方式则解决了人工手动升级方式不适合电池管理单元的大规模升级的问题,但是,由于主客观因素的影响,现有的远程无线升级方式仍然存在具有一定的误码率以及升级失败的情形,因此,如何提高电池管理单元升级的稳定性和可靠性,降低其软件升级出现的误码率,以及电池管理单元升级失败后如何防止出现运行崩溃,从而提升电池管理单元运行的稳定性和可靠性,是亟需解决的技术问题。
发明内容
本发明提供了一种电池管理单元的远程在线升级方法和系统,能够对电池管理单元进行升级,具有高可靠性和稳定性,同时解决了电池管理单元升级失败后出现运行崩溃的技术问题,提高了电池管理单元运行的稳定性。
本发明的技术方案如下:
本发明提供了一种电池管理单元的远程在线升级方法,包括以下步骤:
车载控制终端接收来自管理服务器的升级指令,根据该指令所携带的升级信息,向FTP文件服务器发送升级文件获取请求后,接收来自于FTP文件服务器的升级代码数据并写入至升级代码文件中;其中,升级信息包括升级代码名称、存储地址、FTP服务器地址、访问FTP文件服务器的用户名以及密码信息;
在升级代码文件内下载标识的值为预设值二的情况下,车载控制终端发送文件下载指令至电池管理单元,在接收到电池管理单元返回的下载确认值为预期应答数据的情况下,读取升级代码文件中的升级代码数据并将其发送至电池管理单元;
电池管理单元接收升级代码数据并将其写入至更新代码文件内,在更新代码文件内更新标识的值为预设值三的情况下,将更新代码文件内更新代码索引指向的更新代码数据写入flash存储器内的用户代码区,并运行用户代码区内的程序。
进一步地,升级代码文件的格式包括文件头和更新代码,其中,文件头包括下载标识和更新代码长度;
更新代码文件的格式包括文件头、更新代码一和更新代码二,文件头包括更新标识、更新代码一的长度、更新代码二的长度和更新代码索引;
主控芯片内flash存储器划分为引导区、执行区、用户代码区,其中引导区用于存储bootload引导函数代码以及内部子函数代码,执行区用于固定main函数物理地址位置,用户代码区用于存储升级代码。
进一步地,车载控制终端接收来自管理服务器的升级指令之后,根据该指令所携带的升级信息之前,还包括:
车载控制终端读取升级代码文件中的下载标识的值,在该值为预设值一的情况下,对来自于管理服务器的升级指令进行解析,获取升级指令内携带的升级信息;
接收来自于FTP文件服务器的升级代码数据并写入至升级代码文件之后,还包括:
将下载标识的值设置为预设值二。
进一步地,在升级代码文件内下载标识的值为预设值二的情况下,车载控制终端发送文件下载指令至电池管理单元之前,还包括:
车载控制终端读取升级代码文件内下载标识的值;
读取升级代码文件中的升级代码数据并将其发送至电池管理单元之后,还包括:
发送完毕后,车载控制终端将下载标识的值设置为预设值一。
进一步地,电池管理单元接收升级代码数据并将其写入至更新代码文件内之前,还包括:
电池管理单元接收文件下载指令,读取更新代码文件内的更新标识的值,在更新标识的值为预设值二的情况下,返回下载确认值至车载控制终端;
电池管理单元接收所述升级代码数据并将其写入至更新代码文件内之后,还包括:
将更新标识的值由预设值二设置为预设值三。
进一步地,电池管理单元将升级代码数据写入至更新代码文件内,具体包括:
读取更新代码文件内的更新代码索引的值,在更新代码索引的值为预设值一的情况下,将升级代码数据写入至更新代码文件的更新代码一内;
或者,读取更新代码文件内的更新代码索引的值,在更新代码索引的值为预设值二的情况下,将升级代码数据写入至更新代码文件的更新代码二内。
上述步骤中,更新代码文件存储在电池管理单元的BMU存储模块内,更新代码一和更新代码二作为两个缓存区,用于存储更新代码数据,当更新代码索引指向更新代码二时,更新代码二则用于存储来自于车载控制终端的升级代码数据,当更新代码索引指向更新代码一时,则更新代码一用于存储来自于车载控制终端的升级代码数据。
进一步地,将更新代码文件内更新代码索引指向的更新代码数据写入flash存储器内的用户代码区,具体包括:
在更新代码索引的值为预设值一的情况下,将更新代码一内的升级代码数据写入至flash存储器内的用户代码区,然后将更新代码索引的值由预设值一设置为预设值二;
或者,在更新代码索引的值为预设值二的情况下,将更新代码二内的升级代码数据写入至flash存储器内的用户代码区,然后将更新代码索引的值由预设值二设置为预设值一。
进一步地,运行用户代码区内的程序之后,还包括:
获取程序运行时间,在程序运行时间大于或等于预设时间的情况下,将更新标识的值设置为预设值二并进入正常的工作流程;
或者,获取程序运行时间,在程序运行时间小于预设时间的情况下,电池管理单元进行复位操作并进入回溯阶段。
进一步地,回溯阶段包括:
读取更新代码文件内更新标识的值,在该值为预设值三的情况下,获取更新代码索引的值,在更新代码索引的值为预设值二的情况下,将更新代码二内的上一版本的代码数据写入flash存储器内的用户代码区;将更新代码索引的值设置为预设值一,运行上一版本的程序;在上一版本的程序的运行时间大于或等于预设时间的情况下,将更新标识的值设置为预设值二,复位后,读取更新代码文件内的更新标识的值,在该值为预设值二的情况下,运行上一版本的程序并进入正常的工作流程;
或者,读取更新代码文件内更新标识的值,在该值为预设值三的情况下,获取更新代码索引的值,在更新代码索引的值为预设值一的情况下,将更新代码一内的上一版本的代码数据写入flash存储器内的用户代码区;将更新代码索引的值设置为预设值二,运行上一版本的程序;在上一版本的程序的运行时间大于或等于预设时间的情况下,将更新标识的值设置为预设值二,复位后,读取更新代码文件内的更新标识的值为预设值二,运行上一版本的程序并进入正常的工作流程。
本发明还提供了一种电池管理单元的远程在线升级系统,包括管理服务器、FTP文件服务器、分别与管理服务器和文件服务器保持通讯连接的车载控制终端以及与车载控制终端保持通讯连接的电池管理单元,其中:
管理服务器,用于发送远程在线升级指令;
FTP文件服务器,用于储存升级代码文件,以及用于接收升级文件获取请求并根据该请求将升级代码文件传送至车载控制终端;
车载控制终端,包括控制芯片、与控制芯片保持通讯连接的RCM存储模块以及与控制芯片保持通讯连接的GPRS/3G/4G Modem通讯模块,其中, 控制芯片用于接收来自管理服务器的升级指令并读取升级代码文件中的下载标识的值,在该值为预设值一的情况下,对来自于管理服务器的升级指令进行解析,获取升级指令内携带的升级信息,根据该升级信息,向FTP文件服务器发送升级文件获取请求后,接收来自于FTP文件服务器的升级代码数据并写入至升级代码文件中,将下载标识的值设置为预设值二;还用于读取升级代码文件内下载标识的值,在升级代码文件内下载标识的值为预设值二的情况下,发送文件下载指令至电池管理单元,在接收到电池管理单元返回的下载确认值为预期应答数据的情况下,读取升级代码文件中的升级代码数据并将其发送至电池管理单元,发送完毕后,车载控制终端将下载标识的值设置为预设值一;
电池管理单元,包括主控芯片、与主控芯片保持通讯连接的BMS存储模块和CAN通讯模块,其中主控芯片用于接收文件下载指令,读取更新代码文件内的更新标识的值,在更新标识的值为预设值二的情况下,返回下载确认值至车载控制终端;接收升级代码数据并将其写入至更新代码文件内以及将更新标识的值由预设值二设置为预设值三,在更新代码文件内更新标识的值为预设值三的情况下,将更新代码文件内更新代码索引指向的更新代码数据写入flash存储器内的用户代码区,并运行用户代码区内的程序。
进一步地,主控芯片还用于获取程序运行时间,在程序运行时间大于或等于预设时间的情况下,将更新标识的值设置为预设值二并进入正常的工作流程;
主控芯片还用于获取程序运行时间,在程序运行时间小于预设时间的情况下,电池管理单元进行复位操作,读取更新代码文件内更新标识的值,在该值为预设值三的情况下,获取更新代码索引的值,在更新代码索引的值为预设值二的情况下,将更新代码二内的上一版本的代码数据写入flash存储器内的用户代码区;将更新代码索引的值设置为预设值一,运行上一版本的程序;在上一版本的程序的运行时间大于或等于预设时间的情况下,将更新标识的值设置为预设值二,复位后,读取更新代码文件内的更新标识的值为预设值二,运行上一版本的程序并进入正常的工作流程;
还用于获取程序运行时间,在程序运行时间小于预设时间的情况下,电池管理单元进行复位操作,读取更新代码文件内更新标识的值,在该值为预设值三的情况下,获取更新代码索引的值,在更新代码索引的值为预设值一的情况下,将更新代码一内的上一版本的代码数据写入flash存储器内的用户代码区;将更新代码索引的值设置为预设值二,运行上一版本的程序;在上一版本的程序的运行时间大于或等于预设时间的情况下,将更新标识的值设置为预设值二,复位后,读取更新代码文件内的更新标识的值为预设值二,运行上一版本的程序并进入正常的工作流程。
本发明中,车载控制终端内控制芯片根据管理服务器发送的升级指令,从FTP服务器中获取的升级代码数据并写入至升级代码文件内;然后,通过读取该升级代码文件,并将其中的升级代码数据发送至电池管理单元,电池管理单元内主控芯片接收并写入至更新代码文件;重新上电后,从BMU存储模块内读取该更新代码文件,并将其中的升级代码数据写入至其内主控芯片内的Flash存储器的用户代码区,并运行该升级程序,从而完成电池管理单元的升级工作。
同时,电池管理单元接收升级代码数据的过程中,若出现断电等主客观因素而导致升级失败的情况,电池管理单元重新上电启动后,由于更新标识的值为预设值二,会重新接收升级代码数据并进入正常的升级流程;而电池管理单元在升级代码数据接收完成后,若出现断电等主客观因素而导致升级失败的情况,电池管理单元重新上电启动后,由于更新标识的值为预设值为预设值三,会再次将升级代码数据写入至Flash存储器的用户代码区并进入正常的升级流程;若电池管理单元运行升级程序,若升级代码程序的运行少于预设时间,硬件看门狗电路进行复位操作,那么,电池管理单元会进入回溯阶段,从而执行上一版本的程序;因此,整个升级过程具有高稳定性和可靠性,升级成率高,能够确保电池管理单元工作的正常运行,提升了电池管理单元的稳定性和可靠性。
本发明产生的有益效果:
1、车载控制终端、管理服务器、FTP服务器以及电池管理单元组建了本发明所述的电池管理单元的升级系统,通过本发明所述的远程在线升级流程,实现了对电池管理单元的远程在线升级,避免了人工现场升级,从而降低了系统升级成本和复杂度;
2、在电池管理单元升级过程中,具有高稳定性和可靠性,解决了电池管理单元升级失败后出现运行崩溃的技术问题,提高了电池管理单元运行的稳定性;同时,电池管理单元通过CAN总线与车载控制终端进行通信,误码率低;
3、若电池管理单元在接收升级代码数据的过程中出现断电的情况,本发明能够确保电池管理单元再次上电后重新接收升级代码数据并写入至更新代码文件中,确保电池管理单元工作的正常进行,提升了电池管理单元升级的稳定性和可靠性;由于升级代码数据较小,因此电池管理单元重新接收升级代码数据所耗费的时间很短,相比于断点续传功能,本发明通过重新接收升级代码数据,出错率更少,可靠性更高,而且实现方式较为简单。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例所述的电池管理单元的远程在线升级方法的第一阶段的流程图;
图2是本发明实施例所述的电池管理单元的远程在线升级方法的第二阶段的流程图;
图3是本发明实施例所述的电池管理单元的远程在线升级方法的第三阶段的流程图;
图4是本发明实施例所述的电池管理单元的远程在线升级方法的第四阶段的流程图;
图5是本发明实施例所述的电池管理单元的远程在线升级方法的回溯阶段的流程图;
图6是本发明实施例所述的电池管理单元的远程在线升级系统的结构示意图;
图7a是升级代码文件的数据格式示意图,图7b是升级代码文件内文件头的数据格式示意图;
图8a是更新代码文件的数据格式示意图,图8b是更新代码文件内文件头的数据格式示意图;
图9是主控芯片内flash存储器划分方式示意图。
具体实施方式
以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
本发明实施例还提出了一种电池管理单元的远程在线升级方法,分四个阶段进行介绍,第一阶段为车载控制终端接收升级代码数据的过程;第二阶段为车载控制终端发送升级代码数据给电池管理单元的过程,第三阶段为电池管理单元接收升级代码数据的过程,第四阶段为电池管理单元升级的过程。
第一阶段:
附图1为本发明实施例所述的车载控制终端接收升级代码数据并发送给电池管理单元的流程图,具体包括以下步骤:
S101.车载控制终端内控制芯片通过2G/3G/4G通讯模块接收来自于管理服务器的升级指令;
S102.判断其SD卡内的下载标识的值是否为0,若是,则进入S103,若否,则进入S101;
S103.解析升级指令并获取升级指令内携带的升级信息,向FTP服务器发送升级文件获取请求;
S104.接收升级代码文件并将其存储在SD卡内,接收完成后,将升级代码文件内下载标识的值设置为1。
第二阶段:
如附图2为本发明实施例所述的车载控制终端发送升级代码数据给电池管理单元的流程图,具体包括以下步骤:
S201.车载控制终端内控制芯片判断其升级代码文件内的下载标识的值是否为1,若是,则进入S202;
S202.发送文件下载指令至电池管理单元并接收电池管理单元的返回的确认值;
S203.判断上述确认值是否为1,若是,则进入S203,若否,则进入S202;
S204.读取升级代码文件内的升级代码长度和升级代码数据,将升级代码数据发送给电池管理单元,发送完毕,将下载标识的值设置为0。
第三阶段:
附图3为本发明实施例所述的电池管理单元接收升级代码数据的流程图,具体包括以下步骤:
S301.电池管理单元内主控芯片接收来自于车载控制终端的文件下载指令;
S302.判断更新代码文件的更新标识的值是否为0,若是,则进入S303;
S303.返回确认值1给车载控制终端,判断更新代码索引是否为1,若是,则进入S304,若否,则进入S305;
S304.接收升级代码数据并将其写入至更新代码文件内用户代码一中;
S305.接收升级代码数据并将其写入至更新代码文件内用户代码二中;
S306.接收完成后,将更新代码文件的更新标识的值设置为0xaabb4455。
第四阶段:
附图4为本发明实施例所述的电池管理单元升级的流程图,具体包括以下步骤:
S401.电池管理单元重新上电启动后,主控芯片运行引导代码BOOTLOAD、初始化SD卡以及读取更新标识的值;
S402.判断更新标识的值是否为0xaabb4455,在更新标识的值是0xaabb4455的情况下进入S403;
S403. 初始化flash存储器以及擦除对应需要更新代码长度的flash块,读取更新代码文件内更新代码索引的值,在该值是1的情况下,将更新代码一内的升级代码数据写入flash存储器内的用户代码区;
S404.将升级代码文件内更新代码索引的值设置为0;
S405. 运行main函数程序并初始化数据区并运行flash存储器内用户代码区内的更新程序;
S406. 执行main函数程序并判断更新程序的运行时间是否超过10s,若是,则将更新标识的值设置为0并进入正常的工作流程,若否,则直接进行复位操作,并进入第五阶段;
第五阶段:
如附图5所示,第五阶段为电池管理单元回溯至当前版本的程序的流程,当电池管理单元在远程在线升级过程中,若由于主客观因素的影响,而导致电池管理单元远程在线升级不成功时,或者在上述第四阶段S406中,更新程序的运行时间未超过10s,则启动该流程,从而电池管理单元运行的软件回溯至当前版本(相对于更新版本,也可理解为上一版本),确保电池管理单元的正常运行,提高电池管理单元运行的可靠性和稳定性。
S501.电池管理单元重新上电;
S502.读取更新代码文件内更新标识的值,在该值为0xaabb4455的情况下,获取更新代码索引的值,在更新代码索引的值为0的情况下,将更新代码二内的当前版本的代码数据写入flash存储器内的用户代码区;
S503.将更新代码索引的值设置为1;
S504.运行flash存储器内用户代码区内的当前版本的程序;
S505.判断当前版本的程序是否正常运行;
即判断当前版本的程序的运行时间是否超过10s,在运行时间大于或等于10s的情况下,则将更新标识的值设置为0并进入正常的工作流程。
如附图6所示,一种电池管理单元的远程在线升级系统,包括管理服务器、FTP文件服务器、分别与管理服务器和文件服务器保持GPRS/3G/4G无线网络通讯的车载控制终端以及与车载控制终端保持CAN通讯连接的电池管理单元,其中:
管理服务器,用于发送远程在线升级指令;
FTP文件服务器,用于储存升级代码文件,以及用于接收升级文件获取请求并根据该请求将升级代码文件传送至车载控制终端;
车载控制终端,包括控制芯片、与控制芯片保持SPI通讯连接的RCM存储模块(SD卡)以及与控制芯片保持串口通讯连接的GPRS/3G/4G Modem通讯模块,其中, 控制芯片采用MC9S12XET256型芯片,其用于接收来自管理服务器的升级指令并读取升级代码文件中的下载标识的值,在该值为1的情况下,对来自于管理服务器的升级指令进行解析,获取升级指令内携带的升级信息,根据该升级信息,向FTP文件服务器发送升级文件获取请求后,接收来自于FTP文件服务器的升级代码数据并写入至升级代码文件中,将下载标识的值设置为0;还用于读取升级代码文件内下载标识的值,在升级代码文件内下载标识的值为0的情况下,发送文件下载指令至电池管理单元,在接收到电池管理单元返回的下载确认值为预期应答数据的情况下,读取升级代码文件中的升级代码数据并将其发送至电池管理单元,发送完毕后,车载控制终端将下载标识的值设置为1。
电池管理单元,包括主控芯片以及与主控芯片保持SPI通讯连接的BMS存储模块(SD卡),其中主控芯片采用型号为SPC56EL70L5的芯片,用于接收文件下载指令,读取更新代码文件内的更新标识的值,在更新标识的值为0的情况下,返回下载确认值至车载控制终端;接收所述升级代码数据并将其写入至更新代码文件内,然后将更新标识的值由0设置为0xaabb4455;在更新代码文件内更新标识的值为0xaabb4455的情况下,将更新代码文件内更新代码索引指向的更新代码数据写入flash存储器内的用户代码区,并运行用户代码区内的程序。
主控芯片还用于获取程序运行时间,在程序运行时间大于或等于10s的情况下,将更新标识的值设置为0并进入正常的工作流程;
还用于获取程序运行时间,在程序运行时间小于10s的情况下,电池管理单元进行重新上电操作,读取更新代码文件内更新标识的值,在该值为0xaabb4455的情况下,获取更新代码索引的值,在更新代码索引的值为0的情况下,将更新代码二内的上一版本的代码数据写入flash存储器内的用户代码区;将更新代码索引的值设置为1,运行上一版本的程序;在上一版本的程序的运行时间大于或等于10s的情况下,将更新标识的值设置为0,重新上电后,读取更新代码文件内的更新标识的值为0,运行上一版本的程序并进入正常的工作流程;
还用于获取程序运行时间,在程序运行时间小于10s的情况下,电池管理单元进行重新上电操作,读取更新代码文件内更新标识的值,在该值为0xaabb4455的情况下,获取更新代码索引的值,在更新代码索引的值为1的情况下,将更新代码一内的上一版本的代码数据写入flash存储器内的用户代码区;将更新代码索引的值设置为0,运行上一版本的程序;在上一版本的程序的运行时间大于或等于10s的情况下,将更新标识的值设置为0,重新上电后,读取更新代码文件内的更新标识的值为0,运行上一版本的程序并进入正常的工作流程。
如附图7a和7b所示,上述的升级代码文件的格式包括文件头和更新代码,其中,文件头包括下载标识和更新代码长度;如附图8a和8b所示,上述的更新代码文件的格式包括文件头、更新代码一和更新代码二,文件头包括更新标识、更新代码一的长度、更新代码二的长度和更新代码索引;如附图9所示,主控芯片内flash存储器划分为引导区、执行区、用户代码区,其中引导区用于存储bootload引导函数代码以及内部子函数代码,执行区用于固定main函数物理地址位置,用户代码区用于存储升级代码。
Claims (11)
1.一种电池管理单元的远程在线升级方法,其特征在于,包括以下步骤:
车载控制终端接收来自管理服务器的升级指令,根据该指令所携带的升级信息,向FTP文件服务器发送升级文件获取请求后,接收来自于FTP文件服务器的升级代码数据并写入至升级代码文件中;
在升级代码文件内下载标识的值为预设值二的情况下,车载控制终端发送文件下载指令至电池管理单元,在接收到电池管理单元返回的下载确认值为预期应答数据的情况下,读取升级代码文件中的升级代码数据并将其发送至电池管理单元;
电池管理单元接收所述升级代码数据并将其写入至更新代码文件内,在更新代码文件内更新标识的值为预设值三的情况下,将更新代码文件内更新代码索引指向的更新代码数据写入flash存储器内的用户代码区,并运行用户代码区内的程序。
2.如权利要求1所述的电池管理单元的远程在线升级方法,其特征在于,
所述升级代码文件的格式包括文件头和更新代码,其中,文件头包括下载标识和更新代码长度;
所述更新代码文件的格式包括文件头、更新代码一和更新代码二,文件头包括更新标识、更新代码一的长度、更新代码二的长度和更新代码索引;
所述主控芯片内flash存储器划分为引导区、执行区、用户代码区。
3.如权利要求1所述的电池管理单元的远程在线升级方法,其特征在于,
车载控制终端接收来自管理服务器的升级指令之后,根据该指令所携带的升级信息之前,还包括:
车载控制终端读取升级代码文件中的下载标识的值,在该值为预设值一的情况下,对来自于管理服务器的升级指令进行解析,获取升级指令内携带的升级信息;
接收来自于FTP文件服务器的升级代码数据并写入至升级代码文件之后,还包括:
将下载标识的值设置为预设值二。
4.如权利要求1所述的电池管理单元的远程在线升级方法,其特征在于,
在升级代码文件内下载标识的值为预设值二的情况下,车载控制终端发送文件下载指令至电池管理单元之前,还包括:
车载控制终端读取升级代码文件内下载标识的值;
读取升级代码文件中的升级代码数据并将其发送至电池管理单元之后,还包括:
发送完毕后,车载控制终端将下载标识的值设置为预设值一。
5.如权利要求1所述的电池管理单元的远程在线升级方法,其特征在于,
电池管理单元接收所述升级代码数据并将其写入至更新代码文件内之前,还包括:
电池管理单元接收文件下载指令,读取更新代码文件内的更新标识的值,在更新标识的值为预设值二的情况下,返回下载确认值至车载控制终端;
电池管理单元接收所述升级代码数据并将其写入至更新代码文件内之后,还包括:
将更新标识的值由预设值二设置为预设值三。
6.如权利要求1所述的电池管理单元的远程在线升级方法,其特征在于,
电池管理单元将升级代码数据写入至更新代码文件内,具体包括:
读取更新代码文件内的更新代码索引的值,在更新代码索引的值为预设值一的情况下,将升级代码数据写入至更新代码文件的更新代码一内;
或者,读取更新代码文件内的更新代码索引的值,在更新代码索引的值为预设值二的情况下,将升级代码数据写入至更新代码文件的更新代码二内。
7.如权利要求1所述的电池管理单元的远程在线升级方法,其特征在于,将更新代码文件内更新代码索引指向的更新代码数据写入flash存储器内的用户代码区,具体包括:
在更新代码索引的值为预设值一的情况下,将更新代码一内的升级代码数据写入至flash存储器内的用户代码区,然后将更新代码索引的值由预设值一设置为预设值二;
或者,在更新代码索引的值为预设值二的情况下,将更新代码二内的升级代码数据写入至flash存储器内的用户代码区,然后将更新代码索引的值由预设值二设置为预设值一。
8.如权利要求1所述的电池管理单元的远程在线升级方法,其特征在于,
运行用户代码区内的程序之后,还包括:
获取程序运行时间,在程序运行时间大于或等于预设时间的情况下,将更新标识的值设置为预设值二并进入正常的工作流程;
或者,获取程序运行时间,在程序运行时间小于预设时间的情况下,电池管理单元进行重新上电操作并进入回溯阶段。
9.如权利要求8所述的电池管理单元的远程在线升级方法,其特征在于,
所述回溯阶段包括:
读取更新代码文件内更新标识的值,在该值为预设值三的情况下,获取更新代码索引的值,在更新代码索引的值为预设值二的情况下,将更新代码二内的上一版本的代码数据写入flash存储器内的用户代码区;将更新代码索引的值设置为预设值一,运行上一版本的程序;在上一版本的程序的运行时间大于或等于预设时间的情况下,将更新标识的值设置为预设值二,重新上电后,读取更新代码文件内的更新标识的值,在该值为预设值二的情况下,运行上一版本的程序并进入正常的工作流程;
或者,读取更新代码文件内更新标识的值,在该值为预设值三的情况下,获取更新代码索引的值,在更新代码索引的值为预设值一的情况下,将更新代码一内的上一版本的代码数据写入flash存储器内的用户代码区;将更新代码索引的值设置为预设值二,运行上一版本的程序;在上一版本的程序的运行时间大于或等于预设时间的情况下,将更新标识的值设置为预设值二,重新上电后,读取更新代码文件内的更新标识的值为预设值二,运行上一版本的程序并进入正常的工作流程。
10.一种电池管理单元的远程在线升级系统,其特征在于,包括管理服务器、FTP文件服务器、分别与管理服务器和文件服务器保持通讯连接的车载控制终端以及与车载控制终端保持通讯连接的电池管理单元,其中:
管理服务器,用于发送远程在线升级指令;
FTP文件服务器,用于储存升级代码文件,以及用于接收升级文件获取请求并根据该请求将升级代码文件传送至车载控制终端;
车载控制终端,包括控制芯片、与控制芯片保持通讯连接的RCM存储模块以及与控制芯片保持通讯连接的GPRS/3G/4G Modem通讯模块,其中, 控制芯片用于接收来自管理服务器的升级指令并读取升级代码文件中的下载标识的值,在该值为预设值一的情况下,对来自于管理服务器的升级指令进行解析,获取升级指令内携带的升级信息,根据该升级信息,向FTP文件服务器发送升级文件获取请求后,接收来自于FTP文件服务器的升级代码数据并写入至升级代码文件中,将下载标识的值设置为预设值二;还用于读取升级代码文件内下载标识的值,在升级代码文件内下载标识的值为预设值二的情况下,发送文件下载指令至电池管理单元,在接收到电池管理单元返回的下载确认值为预期应答数据的情况下,读取升级代码文件中的升级代码数据并将其发送至电池管理单元,发送完毕后,车载控制终端将下载标识的值设置为预设值一;
电池管理单元,包括主控芯片以及与主控芯片保持通讯连接的BMS存储模块,其中主控芯片用于接收文件下载指令,读取更新代码文件内的更新标识的值,在更新标识的值为预设值二的情况下,返回下载确认值至车载控制终端;接收所述升级代码数据并将其写入至更新代码文件内,在更新代码文件内更新标识的值为预设值三的情况下,将更新代码文件内更新代码索引指向的更新代码数据写入flash存储器内的用户代码区,并运行用户代码区内的程序。
11.如权利要求10所述的一种电池管理单元远程在线升级系统,其特征在于,
所述主控芯片还用于获取程序运行时间,在程序运行时间大于或等于预设时间的情况下,将更新标识的值设置为预设值二并进入正常的工作流程;
还用于获取程序运行时间,在程序运行时间小于预设时间的情况下,电池管理单元进行重新上电操作,读取更新代码文件内更新标识的值,在该值为预设值三的情况下,获取更新代码索引的值,在更新代码索引的值为预设值二的情况下,将更新代码二内的上一版本的代码数据写入flash存储器内的用户代码区;将更新代码索引的值设置为预设值一,运行上一版本的程序;在上一版本的程序的运行时间大于或等于预设时间的情况下,将更新标识的值设置为预设值二并进入正常的工作流程;
还用于获取程序运行时间,在程序运行时间小于预设时间的情况下,电池管理单元进行重新上电操作,读取更新代码文件内更新标识的值,在该值为预设值三的情况下,获取更新代码索引的值,在更新代码索引的值为预设值一的情况下,将更新代码一内的上一版本的代码数据写入flash存储器内的用户代码区;将更新代码索引的值设置为预设值二,运行上一版本的程序;在上一版本的程序的运行时间大于或等于预设时间的情况下,将更新标识的值设置为预设值二并进入正常的工作流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610998635.4A CN106569864A (zh) | 2016-11-14 | 2016-11-14 | 一种电池管理单元的远程在线升级方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610998635.4A CN106569864A (zh) | 2016-11-14 | 2016-11-14 | 一种电池管理单元的远程在线升级方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106569864A true CN106569864A (zh) | 2017-04-19 |
Family
ID=58542041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610998635.4A Pending CN106569864A (zh) | 2016-11-14 | 2016-11-14 | 一种电池管理单元的远程在线升级方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106569864A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107835297A (zh) * | 2017-10-18 | 2018-03-23 | 维沃移动通信有限公司 | 信息更新方法及移动终端 |
CN109218412A (zh) * | 2018-08-27 | 2019-01-15 | 河南辉煌科技股份有限公司 | 用于stp系统的远程升级方法及系统 |
CN110096290A (zh) * | 2019-04-04 | 2019-08-06 | 武汉精能电子技术有限公司 | 一种电池模拟器主控板软件升级方法 |
CN113452761A (zh) * | 2021-06-07 | 2021-09-28 | 阳光电源股份有限公司 | 储能系统的更新方法、更新管理设备、储能系统及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314369A (zh) * | 2011-10-09 | 2012-01-11 | 杭州先锋电子技术股份有限公司 | 一种远程在线监控系统中设备自升级方法 |
US9086941B1 (en) * | 2014-05-29 | 2015-07-21 | Massachusetts Institute Of Technology | System and method for providing predictive software upgrades |
CN105959166A (zh) * | 2016-07-15 | 2016-09-21 | 深圳市沃特玛电池有限公司 | 一种使用3g/gps车载终端升级bms主机固件的方法 |
-
2016
- 2016-11-14 CN CN201610998635.4A patent/CN106569864A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314369A (zh) * | 2011-10-09 | 2012-01-11 | 杭州先锋电子技术股份有限公司 | 一种远程在线监控系统中设备自升级方法 |
US9086941B1 (en) * | 2014-05-29 | 2015-07-21 | Massachusetts Institute Of Technology | System and method for providing predictive software upgrades |
CN105959166A (zh) * | 2016-07-15 | 2016-09-21 | 深圳市沃特玛电池有限公司 | 一种使用3g/gps车载终端升级bms主机固件的方法 |
Non-Patent Citations (1)
Title |
---|
杜列波;涂青;罗武胜;冉再;: "基于麒麟嵌入式操作系统的车载智能终端软件远程升级的设计与实现" * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107835297A (zh) * | 2017-10-18 | 2018-03-23 | 维沃移动通信有限公司 | 信息更新方法及移动终端 |
CN107835297B (zh) * | 2017-10-18 | 2021-05-07 | 维沃移动通信有限公司 | 信息更新方法、移动终端及计算机可读存储介质 |
CN109218412A (zh) * | 2018-08-27 | 2019-01-15 | 河南辉煌科技股份有限公司 | 用于stp系统的远程升级方法及系统 |
CN110096290A (zh) * | 2019-04-04 | 2019-08-06 | 武汉精能电子技术有限公司 | 一种电池模拟器主控板软件升级方法 |
CN110096290B (zh) * | 2019-04-04 | 2023-07-18 | 武汉精能电子技术有限公司 | 一种电池模拟器主控板软件升级方法 |
CN113452761A (zh) * | 2021-06-07 | 2021-09-28 | 阳光电源股份有限公司 | 储能系统的更新方法、更新管理设备、储能系统及介质 |
CN113452761B (zh) * | 2021-06-07 | 2023-08-15 | 阳光电源股份有限公司 | 储能系统的更新方法、更新管理设备、储能系统及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106569864A (zh) | 一种电池管理单元的远程在线升级方法及系统 | |
CN102375788B (zh) | 为具有非易失性存储器的系统动态地分配功率预算的方法及装置 | |
CN101313287B (zh) | 经由嵌入式控制器初始化快闪存储设备 | |
CN103812944B (zh) | 一种用于电动汽车ecu的远程更新方法 | |
CN102665196B (zh) | 一种无线传感器网络的在线渐进式程序更新方法 | |
CN105353989B (zh) | 存储数据访问方法及相关的控制器、设备、主机和系统 | |
CN106506649A (zh) | 一种车载控制终端的远程在线升级方法及装置 | |
CN105573810A (zh) | 一种无线传感器网络节点远程升级方法及装置 | |
CN106067321A (zh) | 适于存储器编程暂停-恢复的控制器 | |
CN102096639A (zh) | 用于修剪在非易失性闪速介质上的数据的方法 | |
CN109032632A (zh) | 一种fota升级方法、无线通信终端及存储介质 | |
CN106909352A (zh) | 一种嵌入式设备的固件升级方法 | |
CN106020875A (zh) | 嵌入式终端的固件更新管理方法和装置 | |
CN100555206C (zh) | 一种绑定计算资源和存储资源的装置 | |
CN109284252B (zh) | 一种通信设备中轻量级文件系统管理方法 | |
CN106874054A (zh) | 一种直放站内模块程序在线升级方法与系统 | |
CN103092656A (zh) | 一种导航系统及导航方法 | |
CN102063939B (zh) | 一种电可擦除可编程只读存储器的实现方法和装置 | |
CN109086058A (zh) | 车载程序升级系统 | |
CN108469961A (zh) | 一种基于微型化嵌入式平台远程升级系统及方法 | |
CN102339264A (zh) | 一种星载电子系统设备即插即用控制方法及系统 | |
CN111756858A (zh) | 嵌入式设备的远程开发处理系统、方法及装置 | |
CN104881366A (zh) | 修复均化的方法与系统 | |
CN207067971U (zh) | 一种车辆电控单元软件升级设备及车辆 | |
WO2019210679A1 (zh) | 设备电池及无人机 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |