掌桥专利:专业的专利平台
掌桥专利
首页

BMS通信地址分配方法及系统、电池管理系统

文献发布时间:2023-06-19 13:48:08


BMS通信地址分配方法及系统、电池管理系统

技术领域

本发明涉及电池管理系统技术领域,特别是涉及一种BMS通信地址分配方法及系统、电池管理系统及计算机可读存储介质。

背景技术

由于锂电池具有能量密度高,使用寿命长,额定电压高等优点。使之广泛应用与各个领域。以当下火热的新能源汽车领域为例,无不是采用锂电池作为解决续航里程的重要手段。

但是由于锂电池的单节电池电压较低,所以多数锂电池的应用均是将多个锂电池串联或并联而成。为了使各串联或并联后的锂电池正常工作,因此特别设计了电池管理系统(BMS)来控制锂电池的充放电。以电动摩托车领域为例,其锂电池主要采用并联方式,且会相应配备专门的并联管理系统,且系统与系统之间基本采用通讯连接的方式来识别电池电压,然后判断电池电压的高低来智能调节电池的使用。在理想条件下,可以较好的控制电池的工作,达到增加容量,延时使用的目的。

而传统多个BMS之间主要基于CAN通信,而基于CAN通信的多个BMS并机时的通信地址分配方案主要是通过拨码开关和人工拨码,分配效率低的同时容易拨码重复。

因此,如何解决上述分配效率低及容易拨码重复等问题是亟需解决的问题。

发明内容

基于此,有必要针对上述问题,提供一种BMS通信地址分配方法,包括:

在检测周期内判断是否有新BMS上电;

响应于有新BMS上电,则判断所述新BMS的通信地址是否分配;

响应于所述新BMS通信地址已分配,则将所述新BMS的通信地址与已上电BMS的通信地址进行比较;以及

响应于所述新BMS的通信地址与已上电BMS的通信地址相互冲突,则依照所述新BMS中主控芯片ID和已上电BMS中主控芯片ID的大小对主控芯片ID较大者的通信地址进行重新分配。

上述BMS通信地址分配方法,通过先检测是否有BMS上电,在判断该BMS的通信地址是否分配,然后依照具体的分配情况在多个BMS的通信地址出现冲突时,根据各BMS内部主控芯片的ID大小,来自动为各BMS分配通信地址,相较于传统采用拨码开关的方案来说,一方面可减少硬件成本,提高生产效率;另外还具有地址冲突处理功能。

在其中一个实施例中,还包括:

响应于所述新BMS的通信地址未分配,则为所述新BMS分配最小空闲通信地址。

在其中一个实施例中,还包括

响应于没有最小空闲通信地址可分配,则控制所述新BMS处于待分配状态。

在其中一个实施例中,还包括:

为新上电的BMS定义其主控芯片ID。

在其中一个实施例中,所述依照所述新BMS中主控芯片ID和已上电BMS中主控芯片ID的大小对主控芯片ID较大者的通信地址进行重新分配的步骤,包括:

比较所述新BMS中主控芯片ID与所述已上电BMS中主控芯片ID的大小;

依照比较结果将主控芯片ID较大者的通信地址重置,以及将主控芯片ID较小者的通信地址保留。

在其中一个实施例中,所述依照比较结果将主控芯片ID较大者的通信地址重置的步骤,包括:

将主控芯片ID较大者的通信地址重置到初始的通信地址;

待有最小空闲通信地址可分配时,为该主控芯片ID较大者之BMS重新分配最小空闲通信地址。

在其中一个实施例中,所述检测周期为500ms。

基于同样的发明构思,本申请还提供一种BMS通信地址分配系统,包括:

检测单元,被配置为在检测周期内判断是否有新BMS上电;

判断单元,响应于有新BMS上电,则判断所述新BMS的通信地址是否分配;

比较单元,响应于所述新BMS通信地址已分配,则将所述新BMS的通信地址与已上电BMS的通信地址进行比较;以及

分配单元,响应于所述新BMS的通信地址与已上电BMS的通信地址相互冲突,则依照所述新BMS中主控芯片ID和已上电BMS中主控芯片ID的大小对主控芯片ID较大者的通信地址进行重新分配。

上述BMS通信地址分配系统,通过设置检测单元先检测是否有BMS上电,再由判断单元判断该BMS的通信地址是否分配,再由比较单元将所述新BMS的通信地址与已上电BMS的通信地址进行比较,最后由分配单元依照具体的分配情况在多个BMS的通信地址出现冲突时,根据各BMS内部主控芯片的ID大小,来自动为各BMS分配通信地址,相较于传统采用拨码开关的方案来说,一方面可减少硬件成本,提高生产效率;另外还具有地址冲突处理功能。

基于同样的发明构思,本申请还提供一种电池管理系统,包括若干电池组,每一电池组包括一BMS;各所述电池组的输出透过一CAN总线连接,所述BMS包括:

存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程;

其中,所述处理器执行所述计算机程序时可用于执行前述任一所述的方法。

上述电池管理系统,通过其BMS所包括的处理器执行前述所述的方法,而前述分配方法在多个BMS的通信地址出现冲突时,依照各BMS内部主控芯片的ID大小,来自动为各BMS分配通信地址,相较于传统采用拨码开关的方案来说,一方面可减少硬件成本,提高生产效率;另外还具有地址冲突处理功能。

基于同样的发明构思,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可用于执行前述任一所述的方法。

上述计算机可读存储介质,通过存储的计算机程序执行前述的分配方法,而前述分配方法在多个BMS的通信地址出现冲突时,依照各BMS内部主控芯片的ID大小,来自动为各BMS分配通信地址,相较于传统采用拨码开关的方案来说,一方面可减少硬件成本,提高生产效率;另外还具有地址冲突处理功能。

附图说明

图1为一实施例中的BMS通信地址分配方法的流程示意图;

图2为一实施例中的BMS通信地址分配系统的模块图;

图3为一实施例中的电池管理系统的模块示意图。

具体实施方式

为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施方式。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施方式。相反地,提供这些实施方式的目的是使对本发明的公开内容理解的更加透彻全面。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。

由于锂电池具有能量密度高,使用寿命长,额定电压高等优点。使之广泛应用与各个领域。以当下火热的新能源汽车领域为例,无不是采用锂电池作为解决续航里程的重要手段。

但是由于锂电池的单节电池电压较低,所以多数锂电池的应用均是将多个锂电池串联或并联而成。为了使各串联或并联后的锂电池正常工作,因此特别设计了电池管理系统(BMS)来控制锂电池的充放电。以电动摩托车领域为例,其锂电池主要采用并联方式,且会相应配备专门的并联管理系统,且系统与系统之间基本采用通讯连接的方式来识别电池电压,然后判断电池电压的高低来智能调节电池的使用。在理想条件下,可以较好的控制电池的工作,达到增加容量,延时使用的目的。

而传统多个BMS之间主要基于CAN通信,而基于CAN通信的多个BMS并机时的通信地址分配方案主要是通过拨码开关和人工拨码,分配效率低的同时容易拨码重复。

基于此,本申请希望提供一种新的方案,以解决前述所记载的技术问题,其具体构成将在后续实施例中得以详细阐述。

根据本发明的第一个方面,可参照图1,本申请提供一种BMS通信地址分配方法,该方法可应用于基于CAN总线通信的多个BMS之间的并机。该方法可以包括步骤S100-S400。

步骤S100,在检测周期内判断是否有新BMS上电。

具体地,该检测周期可例如为500ms,或550ms,或450ms等。可以理解,对于检测周期的选取可依照实际情况进行调整,本申请在此不做赘述。由于BMS之间通过CAN总线实现通讯,故,可通过CAN总线来判断是否有新的BMS上电。

步骤S200,响应于有新BMS上电,则判断所述新BMS的通信地址是否分配。

步骤S300,响应于所述新BMS通信地址已分配,则将所述新BMS的通信地址与已上电BMS的通信地址进行比较;以及

步骤S400,响应于所述新BMS的通信地址与已上电BMS的通信地址相互冲突,则依照所述新BMS中主控芯片ID和已上电BMS中主控芯片ID的大小对主控芯片ID较大者的通信地址进行重新分配。

上述BMS通信地址分配方法,通过先检测是否有BMS上电,在判断该BMS的通信地址是否分配,然后依照具体的分配情况在多个BMS的通信地址出现冲突时,根据各BMS内部主控芯片的ID大小,来自动为各BMS分配通信地址,相较于传统采用拨码开关的方案来说,一方面可减少硬件成本,提高生产效率;另外还具有地址冲突处理功能。

在一个实施例中,本申请的通信地址分配方法,还可以包括如下步骤:

响应于所述新BMS的通信地址未分配,则为所述新BMS分配最小空闲通信地址。

具体地,若该新BMS为第一个上电的BMS,则该BMS默认为未分配状态,此时可将系统中最小空闲通信地址分配给该BMS。

进一步地,基于CAN BUS通讯的标准帧ID通常有11位,扩展帧ID有29位,如果多个BMS的CAN BUS接在一起,则每个BMS会发送同一个ID的报文,总线数据就会混乱,其他设备无法区分是哪个设备发出的数据。故对每个BMS需要编一个通信地址,确保每个BMS发送的ID都不会重复,本发明主要使用CAN BUS的扩展帧,定义如下:ID的最低8位用于标记BMS的通信地址(0~254),剩下的21位定义成功能位,如下表一所示。

表一:29位CAN BUS ID划分示意表

进一步地,本申请的通信地址分配方法,还可以包括如下步骤:

响应于没有最小空闲通信地址可分配,则控制所述新BMS处于待分配状态。

在一个实施例中,本申请的通信地址分配方法,还可以包括如下步骤:

为新上电的BMS定义其主控芯片ID。

具体地,本申请为新上电的BMS定义其主控芯片ID,可依照上电顺序来定义,例如,BMS1最先上电,则可将其主控芯片ID定义为1000;BMS2随后上电,则可将其主控芯片ID定义为0100;BMS3最后上电,其主控芯片ID则可以定义为0001。可以理解,还可以通过预先对各BMS的主控芯片ID进行定义的方式来实现。

进一步地,在确定主控芯片ID的定义规则后,所述依照所述新BMS中主控芯片ID和已上电BMS中主控芯片ID的大小对主控芯片ID较大者的通信地址进行重新分配的步骤,就可以包括如下步骤:

比较所述新BMS中主控芯片ID与所述已上电BMS中主控芯片ID的大小;

依照比较结果将主控芯片ID较大者的通信地址重置,以及将主控芯片ID较小者的通信地址保留。

具体地,由前述主控芯片ID的定义规则可知,依照上电顺序的不同,BMS的主控芯片会有不同ID。为了避免通信地址冲突及实现自动化分配的目的。本申请依照各个BMS的主控芯片ID大小进行通信地址的分配。

在其中一个实施例中,所述依照比较结果将主控芯片ID较大者的通信地址重置的步骤,包括:

将主控芯片ID较大者的通信地址重置到初始的通信地址;

待有最小空闲通信地址可分配时,为该主控芯片ID较大者之BMS重新分配最小空闲通信地址。

举例来讲,假设BMS1(芯片ID:1000)上电,它的通信地址初始为0x00,然后因CAN总线上没有其他设备,BMS1会自动分配总线的最小空闲通信地址即0x01;

接着BMS2(芯片ID:0100)上电了,它的通信地址也被初始为0x00,此时并入到BMS1的CAN总线上,因总线上的通信地址为0x01被BMS1占用了,BMS2是后接入的,所以BMS2会自动分配总线的最小空闲的通信地址即0x02。

有一个BMS3(芯片ID:0001),已有分配的通信地址0x01,它也要接入到CAN总线上。此时BMS1和BMS3会识别到:自身与总线上另外一个产品的通信地址冲突了,需要更正。BMS1(也可以是BMS3)通过对比通信地址冲突的芯片ID发现,BMS3的芯片ID比自身(BMS1)小(0001<1000),需要放弃原先通信地址重新分配。所以BMS1会重置到初始的通信地址0x00,然后再分配一个最小的空闲通信地址,即0x03。而BMS3对比发现其芯片ID是冲突的最小的芯片ID,故,BMS3的通信地址则可以保持不变。

根据本发明的第二个方面,可参照图2,本申请还提供一种BMS通信地址分配系统,该系统可以包括检测单元210,判断单元220,比较单元230和分配单元240;

其中,检测单元210被配置为在检测周期内判断是否有新BMS上电;

判断单元220响应于有新BMS上电,则判断所述新BMS的通信地址是否分配;

比较单元230响应于所述新BMS通信地址已分配,则将所述新BMS的通信地址与已上电BMS的通信地址进行比较;以及

分配单元240响应于所述新BMS的通信地址与已上电BMS的通信地址相互冲突,则依照所述新BMS中主控芯片ID和已上电BMS中主控芯片ID的大小对主控芯片ID较大者的通信地址进行重新分配。

上述BMS通信地址分配系统,通过设置检测单元先检测是否有BMS上电,再由判断单元判断该BMS的通信地址是否分配,再由比较单元将所述新BMS的通信地址与已上电BMS的通信地址进行比较,最后由分配单元依照具体的分配情况在多个BMS的通信地址出现冲突时,根据各BMS内部主控芯片的ID大小,来自动为各BMS分配通信地址,相较于传统采用拨码开关的方案来说,一方面可减少硬件成本,提高生产效率;另外还具有地址冲突处理功能。

根据本发明的第三个方面,请参照图3,本申请还提供一种电池管理系统,包括若干电池组(图未示),每一电池组包括一BMS(BMS1、BMS2、BMS3…BMSn);各所述电池组的输出透过一CAN总线(CANL、CANH)连接,所述BMS可以包括:

存储器、处理器(相当于前述的主控芯片)及存储在所述存储器上并可在所述处理器上运行的计算机程;

其中,所述处理器执行所述计算机程序时可用于执行前述任一所述的方法。

上述电池管理系统,通过其BMS所包括的处理器执行前述所述的方法,而前述分配方法在多个BMS的通信地址出现冲突时,依照各BMS内部主控芯片的ID大小,来自动为各BMS分配通信地址,相较于传统采用拨码开关的方案来说,一方面可减少硬件成本,提高生产效率;另外还具有地址冲突处理功能。

举例来说,电池管理系统包括n个电池包,每个电池包内有一块BMS保护板,电池组的输出和CANBUS总线(CANL、CANH)连接在一起。上电后,默认本机(BMS1)通信地址为0(未分配状态),本机每隔500ms发送本机信息(包含芯片ID);接着本机接收总线其他设备的信息,得出每个芯片ID对应的地址多少。如果本机的通信地址未分配,则从总线上计算出最小可用地址作为本机的通信地址,如果没有可分配的通信地址,则本机一直处于未分配状态。本机的通信地址分配后,如果出现与总线另外设备冲突的情况,本机判断冲突的芯片ID是否小于本机芯片ID,如果小于,则将本机的通信地址设置为未分配状态,下次循环重新分配最小空闲通信地址。

上述电池管理系统,能根据BMS内部的主控芯片ID和上电顺序自动分配BMS的通信地址,也即是可实现无主机模式,如果检测到总线通信地址冲突,则会根据ID大小重新分配通信地址。

可选地,存储器,用于存储程序;存储器,可以包括易失性存储器(英文:VolatileMemory),例如随机存取存储器(英文:Random-Access Memory,缩写:RAM),如静态随机存取存储器(英文:Static Random-Access Memory,缩写:SRAM),双倍数据率同步动态随机存取存储器(英文:Double Data Rate Synchronous Dynamic Random Access Memory,缩写:DDR SDRAM)等;存储器也可以包括非易失性存储器(英文:Non-Volatile Memory),例如快闪存储器(英文:Flash Memory)。存储器用于存储计算机程序(如实现上述方法的应用程序、功能模块等)、计算机指令等,上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器中。并且上述的计算机程序、计算机指令、数据等可以被处理器调用。

上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器中。并且上述的计算机程序、计算机指令、数据等可以被处理器调用。

处理器,用于执行存储器存储的计算机程序,以实现上述实施例涉及的方法中的各个步骤。具体可以参见前面方法实施例中的相关描述。

处理器和存储器可以是独立结构,也可以是集成在一起的集成结构。当处理器和存储器是独立结构时,存储器、处理器可以通过总线耦合连接。

上述电池管理系统,在多个BMS的通信地址出现冲突时,依照各BMS内部主控芯片的ID大小,来自动为各BMS分配通信地址,相较于传统采用拨码开关的方案来说,一方面可减少硬件成本,提高生产效率;另外还具有地址冲突处理功能。

根据本发明的第四个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可用于执行本发明上述实施例中任一实施例所描述的方法。

上述计算机可读存储介质,由于其上存储的计算机程序被处理器执行时可用于执行前述任一实施例所描述的BMS通信地址分配方法,而该方法在多个BMS的通信地址出现冲突时,依照各BMS内部主控芯片的ID大小,来自动为各BMS分配通信地址,相较于传统采用拨码开关的方案来说,一方面可减少硬件成本,提高生产效率;另外还具有地址冲突处理功能。

本发明上述实施例提供的BMS通信地址分配方法和系统,其中系统包括与方法各步骤相对应的模块,通过在多个BMS的通信地址出现冲突时,依照各BMS内部主控芯片的ID大小,来自动为各BMS分配通信地址,相较于传统采用拨码开关的方案来说,一方面可减少硬件成本,提高生产效率;另外还具有地址冲突处理功能。

需要说明的是,本发明提供的方法中的步骤,可以利用系统中对应的模块、装置、单元等予以实现,本领域技术人员可以参照方法的技术方案实现系统的组成,即,方法中的实施例可理解为构建系统的优选例,在此不予赘述。

本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

相关技术
  • BMS通信地址分配方法及系统、电池管理系统
  • 电池管理系统BMS的控制电路、电池管理系统及用电设备
技术分类

06120113818670