一种级联BMS的ID分配方法、系统和电子设备与流程

文档序号:24299004发布日期:2021-03-17 00:49阅读:242来源:国知局
一种级联BMS的ID分配方法、系统和电子设备与流程

本申请实施例涉及电池管理技术领域,特别涉及一种级联bms的id分配方法、系统和电子设备。



背景技术:

随着新能源的快速发展,储能系统也得到了充分应用。级联bms(batterymanagementsystem,电池管理系统)由于其方便使用以及大容量等特点越来越受到人们的青睐,但是级联bms涉及到地址分配问题,如何高效稳定的分配系统id,是研究重点。

现有关于id分配的方法是主控单元输出触发信号至与之相连的第一从控单元;主控单元发送自动分配帧报文到各从控单元;当从控单元同时接收到主控单元发出的触发信号以及自动分配帧报文后,按自动分配帧报文内容自动设置id并开始正常发送报文;当主控单元接收到分配好id的从控单元报文后,发送新自动分配帧到各从控单元。主控单元对刚分配好id的从控单元进行参数配置,若参数配置成功则从控单元发送配置成功信号给主控单元;参数设置成功后发送触发信号至下一单元,重复步骤到最后一个从控单元。

上述方案根据每个电池模组所接收到的触发信号以及自动分配帧的不同,将所有从控单元按照自然数递增的方式分配id,但是其只有自动id分配功能,没有考虑何种条件下才需要进行id分配,只要启动就都会重新分配id,导致在一些特殊场景下进行高频的id分配,容易出现分配错误而导致系统无法正常运行。



技术实现要素:

本发明实施方式的目的在于提供一种级联bms的id分配方法、系统和电子设备,解决了现有技术中没有考虑何种条件下才需要进行id分配,导致在一些特殊场景下进行高频的id分配,容易出现分配错误而导致系统无法正常运行的问题。

为解决上述技术问题,第一方面,本发明的实施方式提供了一种级联bms的id分配方法,所述级联电池管理系统bms包括多个并联的bms,所述id分配方法包括以下步骤:

所述级联bms上电启动时,判断是否是休眠唤醒;

若否,则确定所述级联bms中的主控单元和从控单元,对所述主控单元和所述从控单元重新分配id;

若是,则读取预先存储在带电可擦可编程只读存储器eeprom中的id分配明细,根据所述id分配明细确定主控单元和从控单元的id;其中,所述id分配明细为所述级联bms进入休眠时存储至所述eeprom中的。

第二方面,本发明实施例提供了一种级联bms的id分配系统,所述级联电池管理系统bms包括多个并联的bms,所述id分配系统包括:

判断模块,用于在级联电池管理系统bms上电启动时,判断是否是休眠唤醒;

第一分配模块,用于在判断不是休眠唤醒时,则确定所述级联bms中的主控单元和从控单元,对所述主控单元和所述从控单元重新分配id;

第二分配模块,用于在判断是休眠唤醒时,则读取预先存储在带电可擦可编程只读存储器eeprom中的id分配明细,根据所述id分配明细确定主控单元和从控单元的id;其中,所述id分配明细为所述级联bms进入休眠时存储至所述eeprom中的。

第三方面,本发明实施例提供了一种电子设备,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本发明第一方面实施例所述级联bms的id分配方法的步骤。

第四方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如本发明第一方面实施例所述级联bms的id分配方法的步骤。

本发明实施方式相对于现有技术而言,通过在每次上电启动时都确认是否是休眠重启,其中,级联bms若只是休眠,则表示没有bms的更换或id重置,其不需要重新分配id,通过读取预先存储在带电可擦可编程只读存储器eeprom中的id分配明细,即可得到级联bms中主控单元和从控单元的id,若不是休眠重启,则表示id重置或更换了bms,此时,就需要确定级联bms中的主控单元和从控单元,并重新分配id,不需要每次上电启动时都进行id分配,提高了级联bms的可靠性和稳定性。

另外,所述则确定所述级联bms中的主控单元和从控单元,具体包括:

检测所述级联bms中所有bms的输入端口的电平状态,若判断所述输入端口为高电平状态,则将对应的所述bms设置为主控单元,若判断所述输入端口为低电平状态,则将对应的所述bms设置为从控单元。在级联bms初始状态下,只有主控单元的输入端口为高电平状态,其余从控单元的输入端口均为低电平状态,通过检测各电池模组输入端口的状态即可识别级联bms中的主控单元和从控单元。

另外,所述对所述主控单元和所述从控单元重新分配id,具体包括:

为所述主控单元分配id;

若判断所述级联bms是首次上电启动或所述eeprom中存储有关机指令,则基于所述主控单元对所述从控单元分配id;其中,所述关机指令为所述bms上一次关机时存储至所述eeprom中的;

若判断收到id分配触发指令,则根据手动配置对所述从控单元重新分配id;其中,所述id分配触发指令为手动触发的。

通过将需要重新分配id的场景分为三种,即首次上电启动、关机重启和手动分配,其中,首次上电启动和关机重启,则确定主控单元后,可直接由主控单元进行id分配,若是手动触发id分配触发指令,则需要根据手动配置分配id,提高了级联bms的可靠性。

另外,若读取预先存储在eeprom中的id分配明细失败,则判断需要重新分配id;

所述则判断需要重新分配id后,还包括:

将所述级联bms中所述主控单元和所有所述从控单元的输出端口设为低电平状态。具体地,低电平状态则表示对应的主控单元或从控单元未分配id,可以通过输出端口的电平状态来判断对应的主控单元或从控单元是否完成id分配。

另外,所述则基于所述主控单元对所述从控单元分配id,具体包括:

主控单元向相邻的第一个所述从控单元发送一个活跃度信号,所述活跃度信号用于指示所述从控单元分配id,并在所述从控单元分配id成功时变化,以使

所述从控单元接收所述id分配指示后,根据所述id分配指示分配id,并在分配id成功后则触发所述活跃度信号变化,并将所述活跃度信号发送至下一从控单元。

另外,若判断为所述主控单元分配id失败,则所述级联bms关机,并将关机指令存储至所述eeprom;

若下一从控单元在设定时间内未收到上一从控单元发送的活跃度信号,则判断上一从控单元分配id失败,则所述级联bms关机,并将关机指令存储至所述eeprom。id分配失败,则表示级联bms不能正常工作,应该让级联bms关机,将关机指令存储至eeprom中,以便关机重启时,能够根据关机指令判断需要重新分配id。

另外,对所述主控单元和所述从控单元重新分配id后,还包括:

确定id分配明细,并在所述级联bms进入休眠时,将所述id分配明细存储至所述eeprom。每次休眠时,将id分配明细存储至eeprom中,以使下次上电启动时,能够判断为休眠唤醒,进而从eeprom中读取id分配明细,以直接确定所述主控单元和所述从控单元的id,不需要再重新分配id。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是根据本发明第一实施例的一种级联bms的id分配方法流程示意图;

图2是根据本发明实施例中的级联bms结构框图;

图3是根据本发明实施例中重新分配id流程示意图;

图4是根据本发明第二实施例的一种级联bms的id分配系统结构框图;

图5是根据本发明第三实施例的一种服务器结构框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。

本申请实施例中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列部件或单元的系统、产品或设备没有限定于已列出的部件或单元,而是可选地还包括没有列出的部件或单元,或可选地还包括对于这些产品或设备固有的其它部件或单元。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

目前,级联bms在分配id时,根据每个bms所接收到的触发信号以及自动分配帧的不同,将所有从控单元按照自然数递增的方式分配id,但是其只有自动id分配功能,没有考虑何种条件下才需要进行id分配,会在一些特殊场景下进行高频的id分配,容易出现分配错误而导致系统无法正常运行。

因此,本发明第一实施例提供一种级联bms的id分配方法、系统和电子设备,通过在每次上电启动时都确认是否是休眠重启,其中,级联bms若只是休眠,则表示没有电池模组的更换或id重置,其不需要重新分配id,通过读取预先存储在带电可擦可编程只读存储器eeprom中的id分配明细,即可得到级联bms中主控单元和从控单元的id,若不是休眠重启,则表示id重置或更换了模组,此时,就需要确定级联bms中的主控单元和从控单元,并重新分配id,不需要每次上电启动时都进行id分配,提高了级联bms的可靠性和稳定性。以下将通过多个实施例进行展开说明和介绍。

本发明的第一实施例涉及一种级联bms的id分配方法,所述级联电池管理系统bms包括多个并联的bms。具体流程如图1中所示。包括:

步骤s1、所述级联bms上电启动时,判断是否是休眠唤醒;

步骤s2a、若否,则确定所述级联bms中的主控单元和从控单元,对所述主控单元和所述从控单元重新分配id;并且,确定id分配明细,并在所述级联bms进入休眠时,将所述id分配明细存储至所述eeprom。每次休眠时,将id分配明细存储至eeprom中,以使下次上电启动时,能够判断为休眠唤醒,进而从eeprom中读取id分配明细,以直接确定所述主控单元和所述从控单元的id,不需要再重新分配id。

步骤s2b-1、若是,则读取预先存储在带电可擦可编程只读存储器eeprom中的id分配明细,根据所述id分配明细确定主控单元和从控单元的id;其中,所述id分配明细为所述级联bms进入休眠时存储至所述eeprom中的。

步骤s2b-2若读取预先存储在eeprom中的id分配明细失败,则判断需要重新分配id,即进行步骤s2a。

本实施例中,步骤s2a和步骤s2b(步骤s2b-1、步骤s2b-2)没有先后顺序,根据是否是休眠唤醒来判断后续执行步骤s2a或步骤s2b。

具体地,本实施例中,如图2中所示,级联bms中包括若干bms,其中一个bms为主控单元,其余bms为从控单元,若干bms依次连接,且每个bms都并联至can总线,具体地,can总线包括第一can总线,第二can总线和第三can总线,其中第一can总线用于数据传输,第二can总线用于id分配,第三can总线用于存储充电数据和内存数据。

具体地,由于现有技术中分配id时没有区分场景、条件,级联bms每次上电启动都会进行id重新分配,如关机重启、首次上电启动,而对于一些不需要重新id分配的特殊情境下也会进行id分配,即休眠唤醒时,其也会重新分配id;如果级联bms经常休眠,则会导致每次休眠唤醒时都会重新分配id,容易出现分配错误而导致系统无法正常运行。本实施例中,在休眠时将id分配明细存储至eeprom中,通过每次上电启动时,都确认是否是休眠重启,并在确认是休眠重启时,读取eeprom中的id分配明细,以确定级联bms中主控单元和从控单元的id,减少了id分配频率,提高了级联bms系统的稳定性。

具体地,作为一种优选的实施方式,所述则确定所述级联bms中的主控单元和从控单元,具体包括:

检测所述级联bms中所有bms的输入端口的电平状态,若判断所述输入端口为高电平状态,则将对应的所述bms设置为主控单元,若判断所述输入端口为低电平状态,则将对应的所述bms设置为从控单元。

本实施例中,级联bms中每个bms都有一个输入端口(ioin)和一个输出端口(ioout),其中,作为主控单元的输入端口为高电平状态(high),作为从控单元的输入端口为低电平状态(low),可以通过输入端口的电平状态来识别对应bms是为主控单元或从控单元,可以依次检测级联bms中所有bms的输入端口的电平状态,若当前bms的输入端口为low则进入下一个bms,等待ioin上升沿产生,并时刻监督can总线上的数据,记录各bms对应的can地址,若成功获取ioin上升沿则将对应的bms设为主控单元,并中断检测各bms的输入端口的电平状态,将其他bms设为从控单元;并获取ioin上升沿上一bms的can地址,并设置当前地址为can+1,将当前地址发送到can总线上,更新当前地址。

具体地,作为一种优选的实施方式,所述对所述主控单元和所述从控单元重新分配id,具体包括:

为所述主控单元分配id;

若判断所述级联bms是首次上电启动或所述eeprom中存储有关机指令,则基于所述主控单元对所述从控单元分配id;其中,所述关机指令为所述bms上一次关机时存储至所述eeprom中的;

若判断收到id分配触发指令,则根据手动配置对所述从控单元重新分配id;其中,所述id分配触发指令为手动触发的。

当检测到关机指令(上一次关机时,将关机指令存储至eeprom,以确定级联bms是上电重启还是休眠唤醒),或检测到级联bms刚下载程序并且是首次上电启动,或收到id分配触发指令(上位机发送),则需要进入预分配过程,此时,首先让从控单元做好分配准备,即若ioin为low则等待主控单元分配完成,在主控单元分配时,先延时1s,之后定义主控单元的id为0,主控单元发送对应的id分配请求报文,并进入应答,若在设定时间(如60s)内未收到应答,则表示级联bms不能正常工作,应该让级联bms关机,将关机指令存储至eeprom中,以便关机重启时,能够根据关机指令判断需要重新分配id。

若收到应答,则需进一步判断是否是首次上电启动或关机重启(根据eeprom中是否存储有关机指令判断),或手动触发全局id分配(收到id分配触发指令),若是首次上电启动或关机重启,则由主控单元发起id分配;若不是,则为手动触发id分配。

具体地,作为一种优选的实施方式,所述则基于所述主控单元对所述从控单元分配id,具体包括:

主控单元向相邻的第一个所述从控单元发送一个活跃度信号,所述活跃度信号用于指示所述从控单元分配id,并在所述从控单元分配id成功时变化,以使

所述从控单元接收所述id分配指示后,根据所述id分配指示分配id,并在分配id成功后则触发所述活跃度信号变化,并将所述活跃度信号发送至下一从控单元。

若下一从控单元在设定时间内未收到上一从控单元发送的活跃度信号,则判断上一从控单元分配id失败,则所述级联bms关机,并将关机指令存储至所述eeprom。

若连续多次(可设定次数)在分配id过程中关机,则提示进行手动分配id。

如图3中所示,主控单元向相邻的第一个所述从控单元发送一个活跃度信号,该活跃度信号为一个动态变化着的滚动信号,在主控单元/从控单元分配成功时会发生变化,若从控单元接收该活跃度信号后,确定ioin为high(即ioin=1),且识别到该活跃度信号变化,则设定id为1并且发送请求报文,主控单元根据该请求报文对刚分配好id的从控单元进行参数配置,若参数配置成功则发送应答报文给从控单元,从控单元根据应答报文核实id是否一致,若一致则使从控单元的ioout为high(即ioout=1),同时,则触发所述活跃度信号变化(可以预设活跃度信号的变化规则),并将所述活跃度信号发送至下一从控单元。直至最后一个从控单元id分配完成。本实施例中,通过一个滚动变化的活跃度信号,判断上一从控单元的id分配是否成功,从控单元正常时会一直变化,增加了逻辑的严谨性,通过判断上一从控单元的活跃度信号是否变化,确定上一从控单元是否分配成功。

如果没有检测到关机指令,或者手动触发指令,或者不是系统刚下载程序首次上电启动那么;则首先延时5s,判断eeprom是否读成功。如果成功,说明是休眠唤醒,那么不进行id分配,按照eeprom的id进行工作(系统休眠会把相应id写入eeprom)。如果读取失败或者这时候进行手动分配那么进入预分配过程,具体分配如上述实施例中所述的id分配方法一样。另外,在本实施例中,级联bms正常运行时也可进行手动分配,这样大大提高了系统的可靠性。

本发明第二实施例提供了一种级联bms的id分配系统,基于上述实施例中的级联bms的id分配方法,如图4中所示,包括:

判断模块10,用于在级联电池管理系统bms上电启动时,判断是否是休眠唤醒;

第一分配模块20,用于在判断不是休眠唤醒时,则确定所述级联bms中的主控单元和从控单元,对所述主控单元和所述从控单元重新分配id;

第二分配模块30,用于在判断是休眠唤醒时,则读取预先存储在带电可擦可编程只读存储器eeprom中的id分配明细,根据所述id分配明细确定主控单元和从控单元的id;其中,所述id分配明细为所述级联bms进入休眠时存储至所述eeprom中的。

本实施例中,第一分配模块20还包括预分配单元201、主控分配单元202、主控应答单元203、从控分配单元204和从控应答单元205;具体地,如图3中所示:

出当检测到关机指令(上次关机前先把关机指令存到eeprom中,以确定级联bms是否上电重启还是休眠唤醒)或者id分配触发指令(上位机发送)以及级联bms刚下载程序且为首次上电启动时候直接进入到预分配模块201。在预分配模块201,需要让每个检测出的从控单元做好分配准备;延时1s且ioin为low,先进入从控分配模块同时屏蔽主控分配模块,并在从控分配模块等待主控分配模块为主控单元分配完成,其中从控分配模块分配超时设置为60s。

当延时4s并且ioin为high,则进入主控分配模块,在主控分配模块中首先延时1s,之后定义主控单元id为0,主控单元可以发送主控相应请求报文,接下来进入主控应答模块,主控应答模块超时时间为10s,如果超时,那么进入关机,否则判断是否是首次上电启动或者关机重启,如果是则由主控单元发起id分配,如果不是则为手动发起全局id分配,延时5s后主控分配模块完成,正常进行工作,并使ioout为high。从控分配模块检测到ioin为high且主控单元的活跃度信号之后定义从控单元的id为1,并开始正常工作发送相应请求报文信息(包含活跃度信号),之后进入从控应答模块,该从控应答模块中再根据活跃度信号进行id核实是否为1,如果两者相等,那么使ioout为high,这样直至最后一个从控单元id分配完成。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明第三实施方式涉及一种服务器,如图5所示,包括处理器(processor)810、通信接口(communicationsinterface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行如上述各实施例所述级联bms的id分配方法的步骤。

其中,存储器和处理器采用通信总线方式连接,通信总线可以包括任意数量的互联的总线和桥,通信总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在通信总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。

处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。

本发明第四实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现如上述各实施例所述级联bms的id分配方法的步骤。

即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1