一种电池管理系统软件的远程升级系统及其远程升级方法
【技术领域】
[0001]本发明属于远程控制领域,尤其涉及一种支持断点续传的电池管理系统软件的远程升级系统及其远程升级方法。
【背景技术】
[0002]在远程自动升级系统上,一般的应用场合中,无论是面向单片机的程序还是基于操作系统层面之上的应用程序的升级,均是因断电、断网等物理连接断开才会中断升级程序的传输,此类型属于被动中断。而安装于电动汽车上用于管理动力电池的电池管理系统(Battery Management System,下称BMS)的远程自动升级,必须把行车安全因素纳入考虑范围,因此基于BMS的远程自动升级,不仅要考虑被动断点续传,还要考虑按一定的主动策略进行中断传输以及断点续传,传统的远程升级方法无法满足基于BMS的软件远程自动升级需求。
[0003]BMS作为一种电动汽车动力电池的管理系统,系统软件具有更新升级的需求。而运行状态的汽车所处的位置分布是极为分散的,加上出于运营的考虑,BMS不适宜集中进行手动本地升级。考虑目前IT或电子行业,无论基于操作系统层面上应用程序的自动升级,还是基于单片机软件的自动升级,有考虑因物理连接断开的客观因素的断点续传,但不具备主动暂停,断点续传的系统机制,具有一定的不安全因素和不稳定因素。
【发明内容】
[0004]本发明所要解决的技术问题在于提供一种电池管理系统软件的远程升级系统及其远程升级方法,旨在解决现有电池管理系统的软件在升级过程中不具备主动暂停,断点续传的问题。
[0005]本发明是这样实现的,一种电池管理系统软件的远程升级系统,包括服务器系统、分别与所述服务器系统相连接的若干客户端和若干电池管理系统;
[0006]所述客户端,与用户进行交互,用于接收用户的选择操作并传输至所述服务器系统;用户的选择操作具体包括如下信息:从所述若干电池管理系统中选择作为升级对象的电池管理系统、升级文件以及用户触发的升级指令;
[0007]所述电池管理系统,用于上传心跳信息至所述服务器系统;所述心跳信息包括当前版本信息和当前状态信息;还用于根据接收到的所述升级文件完成系统软件的升级;
[0008]所述服务器系统,用于在接收到所述升级指令后,根据所述心跳信息判断所述升级对象的状态是否符合下发条件,在符合下发条件的情况下将所述升级文件下发至所述升级对象;同时在下发过程中接收来自所述升级对象反馈的状态信息以进行下发条件判断,若不符合下发条件则暂停下发升级文件;在判断所述状态信息满足下发条件进行升级文件续传,直至传输完毕。
[0009]进一步地,所述服务器系统包括服务模块和前置机模块,所述前置机模块分别与所述服务模块、所述电池管理系统相连接;所述服务模块与所述客户端相连接;所述服务模块包括数据库子模块和客户端服务子模块;所述数据库子模块用于存储用户的选择操作、升级文件、升级对象上报的状态信息;所述客户端服务子模块用于接收用户通过所述客户端选择升级对象、指定升级文件版本的信息,并将用户的选择操作存入所述数据库子模块,供所述前置机模块进行数据调用;所述前置机模块:
[0010]用于将接收到的所述心跳信息传输至所述服务模块供客户端读取所述电池管理系统的状态;
[0011 ]还用于在接收到所述升级指令后时,根据所述选择操作判断所述升级对象传输的当前版本信息,确定是否需要升级;
[0012]在判断为需要升级后,根据所述当前状态信息判断是否符合下发条件;
[0013]在判断为符合下发条件的情况,根据所述选择操作调取所述数据库子模块中的升级文件,并下发至所述升级对象;
[0014]所述升级对象每接收一帧所述前置机模块下发的数据,则反馈一帧状态信息给所述前置机模块,所述前置机模块根据反馈的状态信息判断是否满足下发条件,若不满足下发条件则暂停升级文件下发,当再次判断所述心跳信息满足下发条件时,进行升级文件续传,直至传输完毕。
[0015]进一步地,所述服务器系统为云服务器、大型计算机中的一种。
[0016]进一步地,所述电池管理系统包括传输模块、存储模块和生成模块;所述传输模块分别与所述前置机模块、所述存储模块和所述生成模块相连接;
[0017]所述传输模块,与所述前置机模块进行信息交互,用于传输所述生成模块产生的心跳信息和状态信息;还用于将接收到的升级文件传输至所述存储模块。
[0018]进一步地,所述传输模块为GPRS模块,所述存储模块包括FLASH存储子模块、RAM存储子模块、ROM存储子模块。
[0019]进一步地,所述服务器系统与所述电池管理系统通过GPRS通道,遵循TCP/IP协议进行信息交互。
[0020]本发明还提供了一种如上述所述的远程升级系统的远程升级方法,包括以下步骤:
[0021 ]步骤A,电池管理系统上传心跳信息至所述服务器系统;
[0022]步骤B,客户端接收用户的选择操作,然后将所述选择操作发送至所述服务器系统;用户的选择操作具体包括如下信息:从所述若干电池管理系统中选择作为升级对象的电池管理系统、升级文件以及用户触发的升级指令;
[0023]步骤C,所述服务器系统在接收到所述升级指令后,根据所述心跳信息判断所述升级对象的状态是否符合下发条件,若所述心跳信息符合下发条件,则将所述升级文件下发至所述升级对象;并接收所述升级对象反馈的状态信息,根据所述状态信息判断是否进行下发暂停或者继续传输,直至升级文件传输完毕,然后发送一下发完毕指令至所述升级对象;
[0024]步骤D,所述升级对象根据接收到的所述下发完毕指令,按照所述升级文件对系统软件进行复位升级。
[0025]进一步地,所述心跳信息包括当前状态信息和当前版本信息;步骤C具体包括:
[0026]步骤Cl,所述服务器系统在接收到所述升级指令后,根据接收的所述心跳信息判断所述升级对象的当前状态信息;
[0027]步骤C2,若判断所述升级对象的当前状态符合下发条件,则所述服务器系统生成一下发命令并根据所述选择操作调取对应的升级文件,将所述下发命令和所述升级文件一并发送至所述升级对象;
[0028]步骤C3,所述升级对象每接收一帧所述服务器系统传输的升级文件的数据,则反馈一帧状态信息至所述服务器系统;
[0029]步骤C4,所述服务器系统根据所述状态信息判断是否满足继续下发条件,在判断为满足继续下发条件的情况下,继续传输所述升级文件;若判断为不满足继续下发条件,则暂停传输,然后发送一暂停指令至所述升级对象;
[0030]步骤C5,所述服务器系统根据接收的所述心跳信息判断所述升级对象的当前状态信息是否满足下发条件,在判断为满足下发条件的时候,发送一续传命令至所述升级对象然后继续下发所述升级文件,并返回步骤C3;
[0031 ]步骤C6,若所述升级文件传输完毕,则所述服务器系统发送一下发完毕指令至所述升级对象。
[0032]进一步地,所述步骤D具体包括:
[0033]步骤D1,所述升级对象监测是否有来自所述服务器系统传输的升级文件;
[0034]步骤D2,若监测到来自所述服务器系统传输的下发命令和升级文件,则所述升级对象每接收一帧所述升级文件的数据,反馈一帧状态信息至所述服务器系统,同时将接收到数据
保存至RAM存储子模块中;
[0035]步骤D3,若接收到所述服务器系统传输的暂停命令,则所述升级对象将RAM存储子模块中保存的数据传输至FLASH存储子模块中进行保存;
[0036]步骤D4,若接收到所述服务器系统发送的续传命令,要求继续下发升级文件,则所述升级系统按暂停的地址,继续接收所述升级文件,并将接收到的数据续存至所述RAM存储子模块中;
[0037]步骤D5,所述升级对象在接收到所述服务器系统传输的下发完毕指令后,若RAM存储子模块中有升级文件数据,则先转存至FLASH存储子模块,使FLASH存储子模块中存在一份完成的升级文件后,最后将所述FLASH存储子模块中的升级文件烧写至ROM存储子模块,执行复位操作,按照所述升级文件完成系统软件的复位升级。
[0038]本发明与现有技术相比,有益效果在于:本发明考虑了电池管理系统的应用场景,考虑了行车,充电的情况,能够根据电池管理系统的当前状态在系统软件升级过程中具备主动暂停,断点续传功能,提高了安全性、可靠性,降低了运维成本。
【附图说明】
[0039]图1是本发明实施例提供的一种电池管理系统软件的远程升级系统的结构示意图。
[0040]图2是本发明实施例提供的一种电池管理系统软件的远程升级系统的远程升级方法的流程图。
[0041]图3是本发明实施例提供的服务器系统下发升级文件的工作流程图。
[0042]图4是本发明实施例提供的电池管理系统的软件升级的工作流程图。
【具体实施方式】
[0043]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0044]本发明在传统远程升级方法上作了升级,增加了一套完整的主动暂停,断点续传的系统及其对应的方法,从实际出发,很好地解决了 BMS远程自动升级影响行车安全的问题;本发明考虑了 BMS的应用场景,具有主动暂停,断点续传功能,提高了安全性、可靠性,降低了运维成本,给出的一种升级过程主动暂时传输,后续满足条件时再按原来的进度进行续传的远程升级系统,能够从BMS的应用场景实际出发,考虑了行车,充电的情况,给出了系统的架构,定义了包括正常传输、暂停、续传的传输协议,改善了当前自动升级系统应用于BMS上的不安全的情况,提高了系统的安全性,可靠性。
[0045]基于上述理论,本发明实施例给出了如图1所述的一种电池管理系统软件的远程升级系统,包括服务器系统2、分别与服务器系统2相连接的客户端1和若干电池管理系统3;
[0046]客户端1,与用户进行交互,用于接收用户的选择操作并传输至服务器系统2;用户的选择操作具体包括如下信息:从若干电池管理系统3中选择作为升级对象的电池管理系统3、升级文件以及用户触发的升级指令;
[0047]电池管理系统3,用于上传心跳信息至服务器系统2;所述心跳信息包括当前版本信息和当前状态信息;还用于根据接收到的所述升级文件完成系统软件的升级。在本实施例中,当前状态信息包括小于5A放电状态、大于5A放电状态和充电状态的信息。为表示清楚,图1仅示出了 1个电池管理系统3与本产品的相关结构部分,其余结构在本实施例中省略不表。
[0048]服务器系统2,用于在接收到所述升级指令后,根据所述心跳信息判断所述升级对象的状态是否符合下发条件,在符合下发条件的情况下将所述升级文件下发至所述升级对象;同时在下发过程中接收来自所述升级对象反馈的状态信息以进行下发条件判断,若不符合下发条件则暂停下发升级文件;在判断所述状态信息满足下发条件进行升级文件续传,直至传输完毕。在本实施例中,作为升级对象的电池管理系统的当前状态为小于5A放电状态,则判断为满足下发条件。因为在实际应用的升级过程中,装载有待升级的电池管理系统的车辆可能在升级过程中启动行进或者充电等情况,导致当前状态信息可能处于大于5A放电状态或者充电状态,服务器系统2根据被选择作为升级对象的电池管理系统每接收一帧升级文件的数据而反馈的状态信息判断是否符合继续下发的下发条件,如若反馈的状态信息不合符下发条件,则暂停升级文件的下发,而此时,升级对象因为未接收到升级文件的数据,则暂停反馈状态信息;然后服务器系统2根据被选择作为升级对象的电池管理系统3发送的心跳信息进行判断是否符合下发条件,如若符合,则按照暂停的地址再次下发升级文件;如若不符合,则继续接收心跳信息进行下发条件的判断。
[0049]进一步地,服务器系统2包括相互连接的服务模块和前置机模块,所述服务模块包括数据库子模块和客户端服务子模块,电池管理系统3包括传输模块、存储模块和生成模块;客户端1与所述服务模块相连接,所述传输模块分别与所述前置机模块、所述存储模块和所述生成模块相连接。
[0050]所述数据库子模块,主要用于存储数据供前置机模块调用,用于存储如用户的选择操作(如从电池管理系统中选取升级对象、指定升级文件版本等)、升级文件、升级对象上报的状态信息等数据;所述客户端服务子模块用于接收用户通过所述客户端选择升级对象、指定升级文件版本的信息,并将用户的选择操作存入所述数据库子模块,供所述前置机模块进行数据调用;在具体应用中,客户端1可以是在电脑上安装WEB客户端,也可以是在移动终端上安装APP客户端来实现与用户的交互,更具体的,用户可以对客户端1进行操作,如选取需要升级的车辆的BMS系统,以及选择需要升级的版本,还可以对升级过程中进行暂停、续传和取消等操作。因为用户主动选择暂停、续传和取消不是本实施例所要重点阐述的,在本实施例中不做赘述。在本实施例中,服务器系统可以是云服务器,或者具备大型计算能力及存储能力的计算机,在这里不做具体限定。
[0051 ]下面,以客户端1为WEB客户端、传输模块为GPRS模块,存储模块包括RAM存储子模块、FLASH存储子模块和ROM存储子模块,以BMS表示电池管理系统来对本发明进行进一步地解释。
[0052]WEB客户端负责与用户交互,完成待升级BMS选择、升级文件选择等任务。服务器系统为BMS提供了上位机服务平台,通过GPRS通道,BMS内部的GPRS模块通过TCP/IP协议连接到前置机模块中的服务应用程序,服务器系统内部的前置机模块上的服务应用程序连接到服务器系统中的服务模块。BMS内部包含GPRS模块,可以完成与服务器系统的TCP/IP通讯,同时能读写FLASH或RAM或ROM存储子模块以完成升级程序的保护、转移和烧录。这样,整个远程升级系统处于紧密连接的状态,协同工作,共同完成BMS的自动升级。BMS定时上报系统的当前版本信息和当前状态信息,前置机模块收到当前版本信息后判断是否需要升级,判断为需要升级则根据用户的选择启动升级传输。前置机模块按本发明的协议每发一帧数据,BMS均要回一帧数据,回复的帧里含有BMS的状态字,前置机模块再根据状态字判断是否要暂停传输还是一直传输完毕。BMS收到升级文件存入FLASH存储子模块,一旦条件允许则启动ROM烧录完成升级。
[0053]在本实施例中,服务器系统部署完毕后,前置机模块绑定一个本地端口,BMS根据服务器系统的IP地址和前置机模块端口,连接到前置机模块上的服务应用程序。前置机模块能访问在服务器系统上的服务模块,该服务模块负责存储BMS的升级文件及版本信息。BMS包括一独立的GPR
S模块,该GPRS模块通过GPRS通道与前置机模块连接,负责传输命令与数据。BMS内部的FLASH存储子模块是BMS的数据存储器,用于存储升级文件及其他辅助信息。
[0054]在本实施例中,前置机模块与BMS的通信协议定义如下:
[0055]一、物理层是GPRS通道的TCP/IP协议。
[0056]二、数据链路层为:帧头1字节+帧长1字节+地址2字节+控制字1字节+数据域η字节+校验和1字节+帧尾1字节。
[0057]1)帧头采用1个字节编码,统一为0x68。
[0058]2)帧长采用1个字节长度,为数据域η的大小。
[0059]3)地址采用2个字节长度,表示要烧录的起始地址。
[0060]4)控制字采用1字节长度,表示帧的类型。
[0061 ] 5)数据域,字节长度取决于帧长的定义,内容为升级文件的内容。
[0062]6)校验和,为从帧头一直到数据域最后一个字节所有字节加和的2的补码。
[0063]7)帧尾采用1个字节编码,统一为0x16。
[0064]三、数据应用层定义了链路层各部分数据的具体含义。
[0065]1)前置机模块下发升级文件数据:控制字为0x01(以下表述为控制字01),长度为〈78字节(与sl9文件兼容),数据取连续的升级文件的内容。BMS正确接收回复控制字0x81,长度为0x00,异常回复长度0x01,数据域为错误码。同时BMS按规定单位时间,规定为1分钟,上报其状态(小于5A放电、大于5A放电,充电状态)。如果前置机模块检测到BMS的状态在大于5A放电或充电状态时,则暂停升级传输,以让前置机模块作是否继续下发的决策。
[0066]2)中断下发:控制字为0x02 (以下表述为控制字02),长度0x02,数据域内容为2个字节长度的暂停地址。BMS成功接收回复0x82,长度为0x00。
[0067]3)续传下发:控制字为0x03(以下表述为控制字03),长度为升级文件段的长度,数据域为升级文件。BMS接收正确,回复0x83,长度为0x00。随后接着暂停的地址,继续用0x03下发未发完的数据段。
[0068]4)传输完毕:控制字为0x04(以下表述为控制字04),长度OxOOAMS接收正确,回复0x84,长度 0x00。
[0069]四、工作流程:
[0070 ]远程升级系统是由WEB客户端、服务器系统和BMS共同完成的。用户通过WEB客户端选择好要升级的BMS终端,选择好升级文件,触发升级。服务器系统中的前置机模块则根据BMS上报的心跳信息中的当前状态信息进行分析,符合状态要求方能进行下发,在下发升级文件的过程中每发一帧数据则检查一次BMS状态,不能满足下发条件要求时,须暂停升级,重新满足要求时,进行升级文件续传,至传输完毕。
[0071]如图2所示,为上述远程升级系统的对应的远程升级方法,步骤包括:
[0072]S1,电池管理系统3上传心跳信息至服务器系统2;
[0073]S2,客户端1接收用户的选择操作,然后将所述选择操作发送至服务器系统2;用户的选择操作具体包括如下信息:从若干电池管理系统3中选择作为升级对象的电池管理系统3、升级文件以及用户触发的升级指令;
[0074]S3,服务器系统2在接收到所述升级指令后,根据所述心跳信息判断所述升级对象的状态是否符合下发条件,若所述心跳信息符合下发条件,则将所述升级文件下发至所述升级对象;并接收所述升级对象反馈的状态信息,根据所述状态信息判断是否进行下发暂停或者继续传输,直至升级文件传输完毕,然后发送一下发完毕指令至所述升级对象;
[0075]S4,所述升级对象根据接收到的所述下发完毕指令,按照所述升级文件对系统软件进行复位升级。
[0076]为表述的方便,下面对各部件的升级过程进行详细的解释:
[0077]1、BMS终端的心跳上报。
[0078]BMS终端作为从机,按单位时间上传心跳信息,心跳信息的帧格式可自行定义,但考虑到与前置机模块协议的统一性,在本实施例中采取上述规定的传输协议,采用不同的控制字。但需要明确的是,数据域须至少包含心跳信号和BMS状态信息。这样,服务器系统2中的前置机模块就能实时地知道待升级的车辆的BMS的当前状态,按当前状态进行升级传输或是暂停,或是续传。该当前状态包含三种:小于5A放电,大于5A放电,充电状态。BMS终端上报的心跳信息中,必须含有当前状态信息,以便服务器系统中的前置机模块进行正确的升级传输决策。在本实施例中,BMS按1分钟的心跳时间向服务器系统2上报心跳信息,BMS上报心跳信息的时间间隔可以根据实际需要进行设置。
[0079]2、服务器系统中的前置机模块作为上位机的工作流程:
[0080]用户通过WEB客户端选择好要升级的BMS终端,和升级文件后,触发升级。服务器系统中的前置机模块随即监控该待升级的BMS终端的状态,符合小电流(规定为小于5A)放电状态时,启动升级文件的传输,同时每发一帧升级文件的数据前检查一次BMS终端的状态(被选择作为升级对象的BMS每接收一帧服务器系统的前置机模块下发的升级文件的数据,则反馈一帧状态信息给前置机模块),如果不合要求则中断升级传输,继续符合要求则续传直至传输完毕。图3为前置机模块主动传输升级文件的工作流程,其中:前置机模块从数据库子模块读取用户的选择操作,根据BMS的心跳信息判断该BMS的版本是否需要升级,在判断为需要升级的情况下,即启动升级程序,开始按照BMS上传的心跳信息判断是否符合升级文件的下发条件。
[0081 ] 3、BMS终端作为从机的升级工作流程:
[0082]BMS终端作为从机,在主循环里检查是否有升级文件的传输帧下来,一旦存在升级文件的传输帧则执行升级传输,其中接收到控制字01传输时,升级文件全部放在RAM存储子模块里,一旦接收到前置机模块传输的控制字02,即把RAM存储子模块中的数据写到规定的本地存储FLASH存储子模块的区域内,以防断电或其他原因数据丢失。继续检查升级文件的传输帧,一旦接收到前置机模块传输的控制字03,则BMS继续接收数据并存放在RAM存储子模块中,直到收到控制字04的传输帧,将FLASH存储子模块中缓存的全部升级文件搬到指定的ROM存储子模块执行复位升级。详细的工作流程见图4。在本实施例中,在升级文件的传输过程中,升级文件的数据均线存储在RAM存储子模块中,一旦出现传输暂停的情况,则将RAM存储子模块中的数据传输至FLASH存储子模块进行保存,再次接收到升级文件的续传数据时,继续存放在RAM存储子模块中,若出现再次暂停的情况,则将RAM存储子模块的数据传输至FLASH存储子模块进行保存,若传输升级文件过程中未出现暂停等情况,则升级文件传输完毕后,将RAM存储子模块中的升级文件传输至FLASH存储子模块中进行保存,在升级条件允许的情况下(满足小于5A放电状态),则将FLASH存储子模块中的数据烧录至ROM存储子模块中,执行复位操作。
[0083]本发明从BMS的应用场景实际出发,考虑了行车,充电的情况,给出了系统的架构,定义基于软件升级的暂停、续传的传输协议,改善了当前自动升级系统应用于BMS上的不安全的情况,提高了系统的安全性,可靠性。
[0084]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,
凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种电池管理系统软件的远程升级系统,其特征在于,所述远程升级系统包括服务器系统、分别与所述服务器系统相连接的若干客户端和若干电池管理系统; 所述客户端,与用户进行交互,用于接收用户的选择操作并传输至所述服务器系统;用户的选择操作具体包括如下信息:从所述若干电池管理系统中选择作为升级对象的电池管理系统、升级文件以及用户触发的升级指令; 所述电池管理系统,用于上传心跳信息至所述服务器系统;所述心跳信息包括当前版本信息和当前状态信息;还用于根据接收到的所述升级文件完成系统软件的升级; 所述服务器系统,用于在接收到所述升级指令后,根据所述心跳信息判断所述升级对象的状态是否符合下发条件,在符合下发条件的情况下将所述升级文件下发至所述升级对象;同时在下发过程中接收来自所述升级对象反馈的状态信息以进行下发条件判断,若不符合下发条件则暂停下发升级文件;在判断所述状态信息满足下发条件进行升级文件续传,直至传输完毕。2.如权利要求1所述的远程升级系统,其特征在于,所述服务器系统包括服务模块和前置机模块,所述前置机模块分别与所述服务模块、所述电池管理系统相连接;所述服务模块与所述客户端相连接;所述服务模块包括数据库子模块和客户端服务子模块;所述数据库子模块用于存储用户的选择操作、升级文件、升级对象上报的状态信息;所述客户端服务子模块用于接收用户通过所述客户端选择升级对象、指定升级文件版本的信息,并将用户的选择操作存入所述数据库子模块,供所述前置机模块进行数据调用;所述前置机模块: 用于将接收到的所述心跳信息传输至所述服务模块供客户端读取所述电池管理系统的状态; 还用于在接收到所述升级指令后时,根据所述选择操作判断所述升级对象传输的当前版本息,确定是否需要升级; 在判断为需要升级后,根据所述当前状态信息判断是否符合下发条件; 在判断为符合下发条件的情况,根据所述选择操作调取所述数据库子模块中的升级文件,并下发至所述升级对象; 所述升级对象每接收一帧所述前置机模块下发的数据,则反馈一帧状态信息给所述前置机模块,所述前置机模块根据反馈的状态信息判断是否满足下发条件,若不满足下发条件则暂停升级文件下发,当再次判断所述心跳信息满足下发条件时,进行升级文件续传,直至传输完毕。3.如权利要求1所述的远程升级系统,其特征在于,所述服务器系统为云服务器、大型计算机中的一种。4.如权利要求2所述的远程升级系统,其特征在于,所述电池管理系统包括传输模块、存储模块和生成模块;所述传输模块分别与所述前置机模块、所述存储模块和所述生成模块相连接; 所述传输模块,与所述前置机模块进行信息交互,用于传输所述生成模块产生的心跳信息和状态信息;还用于将接收到的升级文件传输至所述存储模块。5.如权利要求4所述的远程升级系统,其特征在于,所述传输模块为GPRS模块,所述存储模块包括FLASH存储子模块、RAM存储子模块、ROM存储子模块。6.如权利要求1所述的远程升级系统,其特征在于,所述服务器系统与所述电池管理系统通过GPRS通道,遵循TCP/IP协议进行信息交互。7.—种如权利要求1至6任一项所述的远程升级系统的远程升级方法,其特征在于,所述远程升级方法包括以下步骤: 步骤A,电池管理系统上传心跳信息至所述服务器系统; 步骤B,客户端接收用户的选择操作,然后将所述选择操作发送至所述服务器系统;用户的选择操作具体包括如下信息:从所述若干电池管理系统中选择作为升级对象的电池管理系统、升级文件以及用户触发的升级指令; 步骤C,所述服务器系统在接收到所述升级指令后,根据所述心跳信息判断所述升级对象的状态是否符合下发条件,若所述心跳信息符合下发条件,则将所述升级文件下发至所述升级对象;并接收所述升级对象反馈的状态信息,根据所述状态信息判断是否进行下发暂停或者继续传输,直至升级文件传输完毕,然后发送一下发完毕指令至所述升级对象;步骤D,所述升级对象根据接收到的所述下发完毕指令,按照所述升级文件对系统软件进行复位升级。8.如权利要求7所述的升级方法,其特征在于,所述心跳信息包括当前状态信息和当前版本信息;步骤C具体包括: 步骤C1,所述服务器系统在接收到所述升级指令后,根据接收的所述心跳信息判断所述升级对象的当前状态信息; 步骤C2,若判断所述升级对象的当前状态符合下发条件,则所述服务器系统生成一下发命令并根据所述选择操作调取对应的升级文件,将所述下发命令和所述升级文件一并发送至所述升级对象; 步骤C3,所述升级对象每接收一帧所述服务器系统传输的升级文件的数据,则反馈一帧状态信息至所述服务器系统; 步骤C4,所述服务器系统根据所述状态信息判断是否满足继续下发条件,在判断为满足继续下发条件的情况下,继续传输所述升级文件;若判断为不满足继续下发条件,则暂停传输,然后发送一暂停指令至所述升级对象; 步骤C5,所述服务器系统根据接收的所述心跳信息判断所述升级对象的当前状态信息是否满足下发条件,在判断为满足下发条件的时候,发送一续传命令至所述升级对象然后继续下发所述升级文件,并返回步骤C3; 步骤C6,若所述升级文件传输完毕,则所述服务器系统发送一下发完毕指令至所述升级对象。9.如权利要求8所述的升级方法,其特征在于,所述步骤D具体包括: 步骤D1,所述升级对象监测是否有来自所述服务器系统传输的升级文件; 步骤D2,若监测到来自所述服务器系统传输的下发命令和升级文件,则所述升级对象每接收一帧所述升级文件的数据,反馈一帧状态信息至所述服务器系统,同时将接收到数据保存至RAM存储子模块中; 步骤D3,若接收到所述服务器系统传输的暂停命令,则所述升级对象将RAM存储子模块中保存的数据传输至FLASH存储子模块中进行保存; 步骤D4,若接收到所述服务器系统发送的续传命令,要求继续下发升级文件,则所述升级系统按暂停的地址,继续接收所述升级文件,并将接收到的数据续存至所述RAM存储子模块中; 步骤D5,所述升级对象在接收到所述服务器系统传输的下发完毕指令后,若RAM存储子模块中有升级文件数据,则先转存至FLASH存储子模块,使FLASH存储子模块中存在一份完成的升级文件后,最后将所述FLASH存储子模块中的升级文件烧写至ROM存储子模块,执行复位操作,按照所述升级文件完成系统软件的复位升级。
【专利摘要】本发明适用于软件远程升级,提供了电池管理系统软件的远程升级系统,包括服务器系统、客户端和若干电池管理系统;客户端将接收的用户选择操作传输至服务器系统;电池管理系统用于上传心跳信息至服务器系统和根据接收到的升级文件完成系统软件的升级;心跳信息包括当前版本信息和当前状态信息;服务器系统用于判断心跳信息符合下发条件时下发相应的升级文件至对应的电池管理系统;在下发过程中根据反馈的状态信息选择暂停或续传,直至传输完毕。本发明考虑了电池管理系统的应用场景,考虑了行车、充电的情况,能够根据电池管理系统的当前状态在系统软件升级过程中具备主动暂停,断点续传功能,提高了安全性、可靠性,降低了运维成本。
【IPC分类】H04L29/08, G06F9/445
【公开号】CN105491161
【申请号】CN201610033788
【发明人】李远志, 龚建奎, 尹旭勇, 文明, 李瑶
【申请人】深圳市沃特玛电池有限公司
【公开日】2016年4月13日
【申请日】2016年1月19日