一种对电池管理系统进行稳定升级的方法
文献发布时间:2023-06-19 10:24:22
技术领域
本发明涉及电池管理系统技术领域,具体涉及一种对电池管理系统进行稳定升级的方法。
背景技术
随着技术的发展和社会的进步,锂离子电池的使用范围越来越广泛,由于锂离子电池的不稳定性,电池管理系统成为其不可或缺的部分。同时电池管理系统往往工作在比较复杂的环境中,基于串口通讯或TCP通讯等升级方式很容易收到干扰,导致通讯失败和数据错误。甚至在升级的过程中,如果不采取一定的措施,很容易导致升级失败。所以如何在复杂电磁环境中,能够对电池管理系统进行稳定、顺利的升级成为急需解决的问题。
发明内容
为了解决上述技术问题,本发明提供了一种对电池管理系统进行稳定升级的方法,该方法可以在软件逻辑层面大大增加升级成功的概率,保证电池管理系统的稳定运行。为了达到上述技术效果,本发明提供了如下技术方案:
一种对电池管理系统进行稳定升级的方法,包括以下步骤:
a)在电池管理系统满足升级条件时,专用上位机发送“进入升级态指令”,直到收到电池管理系统回复“进入升级态应答指令”后停止,此时电池管理系统进入升级态;
b)在上位机收到“进入升级态应答指令”后,在上位机上选取升级文件,并发送“启动升级指令”,在电池管理系统收到后,会擦除旧程序,并回复“准备接收应答指令”;
c)在上位机收到“准备接收应答指令”后,发送一条升级数据,电池管理系统收到后,会根据CRC16校验数据,如果成功则发送“准备接收应答指令”,否则发送“错误应答指令”;
d)在上位机收到“准备接收应答指令后”,会继续发送下一帧升级数据,如果收到“错误应答指令”则重发上次的指令;
e)在上位机发送指令后,连续5秒没有收到任何回复则认为超时,会重发上次指令;
f)升级文件发送完成,上位机发送“升级完成指令”后停止,在电池管理系统收到后,回复“升级完成应答指令”;
g)在上位机收到“升级完成指令”后,会发送“退出升级态指令”,直到电池管理系统回复“退出升级态应答指令”;至此整个升级过程完成。
进一步的技术方案为,所述上位机发送“进入升级态指令”以及“退出升级态指令”的周期为90~110ms。
进一步的技术方案为,所述上位机发送“进入升级态指令”以及“退出升级态指令”的周期为100ms。
进一步的技术方案为,该方法对于整个升级过程进行了状态机控制,分为未进入升级态、升级态、升级中、升级错误重发、升级完成、退出升级态,同时不同的状态之间按照一定的顺序变化,防止在升级过程中,因为收到错误指令而导致升级混乱。
进一步的技术方案为,在升级过程中,除了上位机发送“进入升级态指令”和“退出升级态指令”之外,上位机发送的其他指令都会有错误重发和延时重发的功能。
进一步的技术方案为,在升级过程中通过固定的帧格式和CRC16校验验证数据准确性。
进一步的技术方案为,该方法采用指令交互和单次小数据量交互升级模式。
进一步的技术方案为,在升级的过程中,支持暂停和断点重传。
本方法适用于单个的电池管理系统,需要满足的软硬件为:专用的升级上位机、通讯转换模块、电池管理系统、电池管理系统程序中支持该升级协议。电池管理系统支持串口通讯或TCP通讯方式升级,在数据层面,规定每次发送的升级帧格式,包括帧头、功能码、数据长度、数据区域、CRC16校验和帧尾,通过固定的格式和CRC16校验保证每一帧的准确。在指令层面,包括进入升级态指令、进入升级态应答指令、启动升级指令、准备接收应答指令、错误应答指令、升级数据、升级完成指令、升级完成应答指令、退出升级态指令、退出升级态应答指令,通过区分不同的指令,保证升级过程准确升级。在状态层面,包括未进入升级态、升级态、升级中、升级错误重发、升级完成、退出升级态。在逻辑层面,通过指令交互、小数据量的交互升级、错误重发和延时重发逻辑保证整个升级过程准确、顺利进行。
与现有技术相比,本发明具有如下有益效果:本发明采用交互升级方式、单次小数据量升级、固定的帧格式和CRC16校验、错误重发和延时重发的功能,排除由于干扰产生的错误数据,保证在整个升级过程中的顺利、准确的运行;在软件逻辑层面大大增加升级成功的概率,保证电池管理系统的稳定运行。
附图说明
图1为本发明的稳定升级的流程图。
具体实施方式
下面结合附图和具体实施例对本发明进行进一步的解释和说明。
实施例1
如图1所示,本发明提供了一种对电池管理系统进行稳定升级的方法,本方法适用于单个的电池管理系统,需要满足的软硬件为:专用的升级上位机、通讯转换模块、电池管理系统、电池管理系统程序中支持该升级协议。
基于上述软硬件,采用本发明对电池管理系统进行稳定升级的方法具体描述为:
a)在电池管理系统满足升级条件时,专用上位机发送“进入升级态指令”,周期为100ms,直到收到电池管理系统回复“进入升级态应答指令”后停止,此时电池管理系统进入升级态。
b)在上位机收到“进入升级态应答指令”后,在上位机上选取升级文件,并发送“启动升级指令”,在电池管理系统收到后,会擦除旧程序,并回复“准备接收应答指令”。
c)在上位机收到“准备接收应答指令”后,发送一条升级数据,电池管理系统收到后,会根据CRC16校验数据,如果成功则发送“准备接收应答指令”,否则发送“错误应答指令”。
d)在上位机收到“准备接收应答指令后”,会继续发送下一帧升级数据,如果收到“错误应答指令”则重发上次的指令。
e)在上位机发送指令后,连续5秒没有收到任何回复则认为超时,会重发上次指令。
f)升级文件发送完成,上位机发送“升级完成指令”,在电池管理系统收到后,回复“升级完成应答指令”。
g)在上位机收到“升级完成指令”后,会发送“退出升级态指令”,周期为100ms,直到电池管理系统回复“退出升级态应答指令”后停止。至此整个升级过程完成。
作为进一步优化,对于整个升级过程进行了状态机控制,分为未进入升级态、升级态、升级中、升级错误重发、升级完成、退出升级态,同时不同的状态转换需要按照一定的顺序变化,防止在升级过程中,因为收到错误指令而导致升级混乱。
作为进一步优化,在升级过程中,除了上位机发送“进入升级态指令”和“退出升级态指令”之外,上位机发送的其他指令都会有错误重发和延时重发的功能。
尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。
- 一种对电池管理系统进行稳定升级的方法
- 一种电池管理系统软件的远程升级系统及远程升级方法