CN110908690A - 一种基于can总线的多个bmu应用程序在线升级方法 - Google Patents
一种基于can总线的多个bmu应用程序在线升级方法 Download PDFInfo
- Publication number
- CN110908690A CN110908690A CN201911199356.1A CN201911199356A CN110908690A CN 110908690 A CN110908690 A CN 110908690A CN 201911199356 A CN201911199356 A CN 201911199356A CN 110908690 A CN110908690 A CN 110908690A
- Authority
- CN
- China
- Prior art keywords
- bmu
- node
- app
- version information
- command
- 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.)
- Granted
Links
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于CAN总线的多个BMU应用程序在线升级方法。该方法为:PC机通过USB‑CAN转换器向CAN组网广播查询命令,提取节点BMU当前App的版本信息并与PC机中的升级App版本信息对比,选中版本信息不一致的BMU发送地址跳转指令,对应的节点BMU从App模式跳转到BootLoader模式,跳转成功以后进入CAN循环等待模式;PC机向该节点BMU发送程序下载命令并与节点BMU建立连接、向节点BMU发送升级App数据包,节点BMU将接收的升级App代码存固化在当前App代码占用的FALSH地址内,覆盖当前App代码、复位重启、进行系统初始化、执行BootLoader程序、进入CAN循环等待,等待期间未收到PC机命令,BMU将FALSH内的当前App加载到RAM中,并跳转到当前App入口开始执行当前App。本发明避免了对现场设备的拆卸和升级失败造成事故。
Description
技术领域:
本发明涉及储能电站电池管理系统领域,具体涉及一种基于CAN总线的多个BMU应用程序在线升级方法。
背景技术:
BMU,即分布式电池组管理模块,作为储能电站电池管理系统的最基本单元,在安装完成以后,BMU固定于电池插箱内,要更新其运行程序,一般需到现场利用BMU上的调试接口(JTAG、BDM等),工作量大且维护困难。
储能电站电池管理系统走线较多,且内部含有高压电池组,到现场对BMU程序升级,具有一定风险,一般建议通过远程通信对BMU的程序进行在线升级。目前,多数厂家会预先在BMU中固化BootLoader程序,BMU在上电运行App前会预先运行BootLoader,以决定是否更新运行程序,用户可通过串口向BMU下载应用程序代码。当电池管理系统中具有多个BMU或者BMU的拆卸不方便时,通过串口对系统中的BMU程序进行升级,需要逐个对BMU的App进行升级,花费大量人力。
发明内容
本发明提出一种基于CAN总线的多个BMU应用程序在线升级方法。可避免到现场插拔串口及拆卸设备外壳引起的不便,同时,可避免程序升级成功的BMU重复升级。
上述的目的通过以下技术方案实现:
一种基于CAN总线的多个BMU应用程序在线升级方法,该方法包括如下步骤:
S1:CAN组网内的各个节点BMU通过其上的拨码开关设置ID,该ID为唯一编码,预先存储在节点BMU寄存器内,PC机通过USB-CAN转换器向CAN组网广播查询命令,CAN组网内的各个节点BMU返回各自在电池簇内的ID;
S2:PC机通过各节点BMU的ID选择相应的节点BMU,选定前提取节点BMU当前App的版本信息并与PC机中的升级App版本信息对比,选中版本信息不一致的节点BMU,针对App版本一致的节点BMU即认为其当前App已经是最新版本,无需重复升级;
S3:PC机向选中的版本信息不一致的节点BMU发送地址跳转指令,对应的节点BMU从App模式跳转到BootLoader模式,跳转成功以后,对应的节点BMU向PC机返回成功跳转应答并进入CAN循环等待模式;
S4:PC机收到步骤S3中选中节点BMU的成功跳转应答以后,向该节点BMU发送程序下载命令,该节点BMU收到命令以后向PC机发送握手请求,PC机回复节点BMU的握手请求,与节点BMU建立连接;若节点BMU与PC机握手失败,节点BMU进入CAN循环等待模式,若在CAN循环等待期间未收到升级命令,跳转到当前App入口,运行当前App;
S5: PC机与节点BMU建立连接以后,向该节点BMU发送升级App数据包,FALSH内的App区分为:默认App区和当前App区,节点BMU将接收的App代码固化在当前App的FALSH地址内,覆盖当前的App;
S6:节点BMU接收完升级App数据包以后,向PC机返回确认信息,然后复位重启,进行系统初始化,执行BootLoader程序,进入CAN循环等待;等待期间未收到PC机命令,BMU将FALSH内的当前App加载到RAM中,并跳转到当前App入口开始执行当前App,如果升级失败,则该节点BMU跳转到默认App区入口,运行默认App。
有益效果:
本发明可通过CAN总线实现对组网内的多个BMU应用程序在线升级,同时,可避免对已经升级完程序的节点BMU进行重复升级,且在节点BMU程序升级失败时可运行默认App,避免了对现场设备的拆卸,提高了储能电站程序升级效率和管控水品。
附图说明
图1是本发明的方法流程图。
图2是CAN组网的多个节点BMU网络拓扑。
图3是FALSH内Bootloader程序、默认App区和当前App区存储结构示意图。
图4是节点BMU程序升级成功复位重启以后的流程图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细说明。
为了更好的说明本文方案,下面通过具体实例并结合附图,说明本发明的具体实施方式:
本发明涉及的系统包括装有升级所需软件的PC机、USB-CAN转换器和电池管理单元(BMU),BMU通过CAN总线和上层单元组网,PC机通过USB-CAN转换器接入CAN总线,具体步骤如下:
S1:PC机通过USB-CAN转换器向CAN组网广播查询命令,CAN组网内的各个BMU返回各自在电池簇内的ID;ID可通过BMU上的6位拨码开关设置,该ID为唯一编码,预先存储在BMU寄存器内,占一个字节的存储空间,拨码开关接VCC为0,接GND为1,如第10个电池管理单元的序号可通过拨码开关设置为00001010(高位补0),6位拨码开关最多可为26个电池管理单元分配序号;
S2:PC机通过ID选择相应的节点BMU,选定前提取节点BMU当前App的版本信息并与PC机中的升级App数据包版本信息对比,各个节点BMU的版本信息被存储在FALSH内,占一个字节的存储空间,PC机仅选中版本信息不一致的节点BMU;
S201:进一步,针对App版本信息一致的节点BMU即认为其App已经是最新版本,无需升级,避免对已经升级程序的节点BMU进行重复升级;
S3:PC机向选中的节点BMU发送地址跳转指令,对应的节点BMU从App模式跳转到BootLoader模式,跳转成功以后,对应的节点BMU向PC返回成功跳转应答,节点BMU进入CAN循环等待模式;
S4:PC收到节点BMU的成功跳转应答以后,向节点BMU发送升级App数据包下载命令,节点BMU收到命令以后向PC机发送握手请求,PC机回复握手请求,与节点BMU建立连接;
S401:进一步,若在CAN循环等待期间,节点BMU未收到PC机的命令,则认为PC机未下发升级App数据包命令,循环结束即跳转到当前App程序入口,执行当前App;
S5:PC机与节点BMU建立连接以后,向节点BMU发送升级App数据包,升级数据包是bin文件或hex文件;FALSH内存分为BootLoader存储区、默认App存储区及当前App存储区,节点BMU将接收的升级App数据包覆盖当前App;BootLoader最主要的功能是完全对App数据的擦除和重写操作,BootLoader程序需存储在的FALSH地址内;
S6:节点BMU接收完升级App数据包以后,复位重启,进行系统初始化,执行BootLoader程序,进入CAN循环等待模式;若等待期间未收到PC机命令,节点BMU将FALSH内的当前App加载到RAM中,并跳转到当前App入口开始执行当前App;
S7:进一步,在系统升级过程中出现升级数据包丢失、连接中断等情况导致升级失败,节点BMU跳转到默认App区入口,运行默认App,避免升级失败导致节点BMU无法正常启动运。
以上描述显示了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (6)
1.一种基于CAN总线的多个BMU应用程序在线升级方法,其特征在于,该方法包括如下步骤:
S1:PC机通过USB-CAN转换器向CAN组网广播查询命令,CAN组网内的各个节点BMU返回各自在电池簇内的ID;
S2:PC机通过ID选择CAN组网内相应的节点BMU,提取节点BMU当前App的版本信息并与PC机中的升级App版本信息对比,选中版本信息不一致的BMU;
S3:PC机向选中的节点BMU发送地址跳转指令,对应的节点BMU从App模式跳转到BootLoader模式,跳转成功以后,对应的节点BMU向PC机返回成功跳转应答,节点BMU进入CAN循环等待模式;
S4:PC机收到节点BMU的成功跳转应答以后,向节点BMU发送程序下载命令,节点BMU收到命令以后向PC发送握手命令,PC机回复握手命令,与节点BMU建立连接;
S5:PC机与节点BMU建立连接以后,向节点BMU发送升级App数据包,节点BMU将接收的升级App代码固化在当前App代码占用的FALSH地址内,覆盖当前App代码;
S6:节点BMU接收完升级App数据包以后,复位重启,进行系统初始化,执行BootLoader程序,进入CAN循环等待,等待期间未收到PC机命令,BMU将FALSH内的当前App加载到RAM中,并跳转到当前App入口开始执行当前App。
2.如权利要求1所述的基于CAN总线的多个BMU应用程序在线升级方法,其特征在于,S1中所述CAN组网内各个节点BMU的ID通过各自节点BMU上的6位拨码开关设置。
3.如权利要求1所述的基于CAN总线多个BMU应用程序在线升级方法,其特征在于,S2中节点BMU当前App的版本信息与PC机中的升级App版本一致时,不选择对应的节点BMU。
4.如权利要求书1所述的基于CAN总线的多个BMU应用程序在线升级方法,其特征在于,S3中节点BMU进入CAN循环等待模式,若在循环周期内未收到命令,跳转到默认App入口执行默认App。
5.如权利要求书1所述的基于CAN总线的对个BMU应用程序在线升级方法,其特征在于,S4中若节点BMU与PC机握手失败,节点BMU进入循环等待模式。
6.如权利要求书1所述的基于CAN总线的多个BMU应用程序在线升级方法,其特征在于,S6中BootLoader程序区和App区均存放在FLASH内,且App区分为:默认App区和当前App区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911199356.1A CN110908690B (zh) | 2019-11-29 | 2019-11-29 | 一种基于can总线的多个bmu应用程序在线升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911199356.1A CN110908690B (zh) | 2019-11-29 | 2019-11-29 | 一种基于can总线的多个bmu应用程序在线升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110908690A true CN110908690A (zh) | 2020-03-24 |
CN110908690B CN110908690B (zh) | 2022-11-22 |
Family
ID=69820540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911199356.1A Active CN110908690B (zh) | 2019-11-29 | 2019-11-29 | 一种基于can总线的多个bmu应用程序在线升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110908690B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112671577A (zh) * | 2020-12-23 | 2021-04-16 | 潍柴动力股份有限公司 | 终端设备的升级方法、装置、网络节点及计算机存储介质 |
CN112732311A (zh) * | 2020-12-28 | 2021-04-30 | 上海瑞浦青创新能源有限公司 | 一种大型储能系统bms程序热更新方法、系统及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019788A (zh) * | 2012-12-14 | 2013-04-03 | 上海邮政科学研究院 | 一种基于can总线的远程在线升级方法 |
CN108628624A (zh) * | 2018-04-08 | 2018-10-09 | 华南理工大学 | 一种基于can总线的多节点单片机在线更新代码的方法 |
-
2019
- 2019-11-29 CN CN201911199356.1A patent/CN110908690B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019788A (zh) * | 2012-12-14 | 2013-04-03 | 上海邮政科学研究院 | 一种基于can总线的远程在线升级方法 |
CN108628624A (zh) * | 2018-04-08 | 2018-10-09 | 华南理工大学 | 一种基于can总线的多节点单片机在线更新代码的方法 |
Non-Patent Citations (2)
Title |
---|
王建斌等: "基于CAN总线节点的远程在线升级系统设计", 《单片机与嵌入式系统应用》 * |
邓力等: "一种改良安全机制的嵌入式远程升级系统的研究", 《电子测量技术》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112671577A (zh) * | 2020-12-23 | 2021-04-16 | 潍柴动力股份有限公司 | 终端设备的升级方法、装置、网络节点及计算机存储介质 |
CN112671577B (zh) * | 2020-12-23 | 2023-04-18 | 潍柴动力股份有限公司 | 终端设备的升级方法、装置、网络节点及计算机存储介质 |
CN112732311A (zh) * | 2020-12-28 | 2021-04-30 | 上海瑞浦青创新能源有限公司 | 一种大型储能系统bms程序热更新方法、系统及介质 |
CN112732311B (zh) * | 2020-12-28 | 2024-05-03 | 上海瑞浦青创新能源有限公司 | 一种大型储能系统bms程序热更新方法、系统及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110908690B (zh) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104090796B (zh) | 一种嵌入式设备程序更新方法和系统 | |
CN106095480B (zh) | 一种光模块固件升级的方法及装置 | |
CN103176824B (zh) | 一种系统升级的方法及装置 | |
CN104102518B (zh) | 一种双cpu系统及其程序升级方法 | |
CN103136012B (zh) | 计算机系统及其基本输入输出系统的更新方法 | |
CN103186404B (zh) | 系统固件更新方法与使用该方法的服务器系统 | |
CN103793238A (zh) | 机柜与其同时更新多个基本输入输出系统的方法 | |
CN103761088A (zh) | 一种适用于arm架构移动设备的多操作系统切换方法 | |
CN107465539A (zh) | 固件的升级方法、终端及固件的升级系统 | |
CN110908690B (zh) | 一种基于can总线的多个bmu应用程序在线升级方法 | |
CN103580908A (zh) | 服务器的配置方法及系统 | |
CN110753088B (zh) | 一种系统部署方法及装置 | |
CN113741933B (zh) | 控制器的远程升级方法、控制器及系统 | |
CN101931603A (zh) | 一种在手持智能终端上实现远程调用的方法 | |
CN106406955A (zh) | RSU设备bootloader程序升级的方法、装置 | |
CN103777979A (zh) | 一种通过云端来刷写bios的方法及装置 | |
CN103092659A (zh) | 脱离仿真器支持环境的dsp软件升级系统及其升级方法 | |
CN116243996B (zh) | 业务的运行切换方法、装置、存储介质及电子装置 | |
CN110362323B (zh) | 基于分布式自组网的嵌入式终端设备程序更新方法 | |
CN102402444A (zh) | 一种软件远程升级的方法 | |
CN107911816B (zh) | 用于多模IoT设备的启动方法、多模IoT设备及存储介质 | |
CN105278992A (zh) | 固件更新方法及装置 | |
CN117519749A (zh) | 一种stm32在线升级功能解决方法 | |
CN104423997A (zh) | 一种远程基站版本安装方法及装置 | |
CN115344292B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |