System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术实施例涉及电池管理,具体涉及多电池包can通信的编址方法、装置及计算机存储介质。
技术介绍
1、近年来,随着锂电池在家储、工商储等领域的应用越来越广泛,人们对电池储能容量的需求越来越高。提高电池储能的容量可以通过电池串联和并联的方式实现。当多个电池包组合成一个更大的电池模组后,一般而言,各电池包及主控制器会通过can网络进行通信组网。在can网络中,模组中的各电池包周期地把自身的监控信息(电压、电流、温度等)广播至can总线,同时接收来自主控制器的控制指令。
2、由于各电池通过can总线进行组网,所有电池节点的报文同时广播至总线上,因此需要对电池进行编址,以区分各电池的报文。
3、传统的解决方法是在每个电池包上安装地址编码器,通过人工设置编码器的方式给电池包编址,实现各个电池包的区分。这种方式主要有以下缺点:一、需要专业技术人员对编码器进行操作,对用户而言使用不方便;二、需要额外的地址编码电路,增加了硬件成本和电路复杂度。
技术实现思路
1、鉴于上述问题,本专利技术实施例提供了多电池包can通信的编址方法、装置及计算机存储介质,解决了通过人工设置编码器的方式给电池包编址,实现各个电池包的区分,需要专业技术人员对编码器进行操作,对用户而言使用不方便;需要额外的地址编码电路,增加了硬件成本和电路复杂度的问题。
2、根据本专利技术实施例的一个方面,提供了一种多电池包can通信的编址方法,所述方法包括:
3、获取当前bms电池系统的
4、通过crc校验算法对所述uid码进行计算,获取当前节点地址;
5、将所述uid码分成n部分的uid子码,将每个uid子码和当前节点地址制作成n帧报文,并将报文发送到can控制器中;
6、实时读取can控制器的发送状态,若发送异常则重新计算当前节点地址,否则确定当前节点地址为当前bms电池系统的唯一地址。
7、在一种可选的方式中,所述通过crc校验算法对所述uid码进行计算,获取当前节点地址,包括:
8、选取计算多项式,将所述uid码输入到crc校验算法中与所述计算多项式进行异或运算,获得当前节点地址。
9、在一种可选的方式中,crc校验算法为crc8校验算法或crc12校验算法或crc16校验算法。
10、在一种可选的方式中,将所述uid码分成n部分的uid子码,包括:
11、将所述uid码分成n部分的uid子码,每个uid子码为k个字节,其中k≤6;若最后一部分uid子码字节不足k个字节,在最后一部分uid子码补充0xff。
12、在一种可选的方式中,所述将每个uid子码和当前节点地址制作成n帧报文,并将报文发送到can控制器中,包括:
13、以当前节点地址为报文id、uid子码作为报文内容制作成一件报文,n部分的uid子码制作成n帧报文;
14、将n帧报文依次发送到can控制器。
15、在一种可选的方式中,所述实时读取can控制器的发送状态,包括:
16、当所述can控制器接收来自相同当前节点地址的两份或多份报文中,有不同的uid码时,can控制器发送报文异常信号。
17、在一种可选的方式中,在所述发送异常,重新计算当前节点地址,包括:
18、重新选取计算多项式,将所述uid码输入到crc校验算法中与所述计算多项式进行异或运算,获得并修改当前节点地址;
19、将所述uid码分成n部分的uid子码,将每个uid子码和当前节点地址制作成n帧报文,并将报文发送到can控制器中;
20、实时读取can控制器的发送状态,直至发送状态正常。
21、在一种可选的方式中,所述bms电池系统实时监听can控制器中的所有报文,获取其他bms电池系统的监听节点地址;
22、判断bms电池系统的当前节点地址与所述监听节点地址是否重复,若是则修改当前节点地址,否则不进行处理。
23、根据本专利技术实施例的另一方面,提供了一种多电池包can通信的编址装置,包括
24、uid码获取模块,用于获取当前bms电池系统的uid码;
25、节点地址计算模块,用于通过crc校验算法对所述uid码进行计算,获取当前节点地址;
26、报文制作模块,用于将所述uid码分成n部分的uid子码,将每个uid子码和当前节点地址制作成n帧报文,并将报文发送到can控制器中;
27、监听模块,实时读取can控制器的发送状态,若发送异常则重新计算当前节点地址,否则确定当前节点地址为当前bms电池系统的唯一地址。
28、根据本专利技术实施例的又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令在如上述的一种多电池包can通信的编址装置上运行时,使得多电池包can通信的编址装置执行如上述的一种多电池包can通信的编址方法的操作。
29、本专利技术实施例利用bms电池系统的微控制器的uid码,使用uid码作为输入,结合多项式可变的crc算法作为计算方法,提供了一种简单有效的节点地址生成方式;且利用can控制器能识别“位错误”的特性,当节点地址生成后,在发送验证报文时,将uid作为数据发送,能发现多个电池在以相同的节点地址同时进行编址验证的情况,从而保障节点地址的唯一性。
30、上述说明仅是本专利技术实施例技术方案的概述,为了能够更清楚了解本专利技术实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。
本文档来自技高网...【技术保护点】
1.一种多电池包CAN通信的编址方法,其特征在于,所述方法包括:
2.根据权利要求1所述的一种多电池包CAN通信的编址方法,其特征在于,所述通过CRC校验算法对所述UID码进行计算,获取当前节点地址,包括:
3.根据权利要求1所述的一种多电池包CAN通信的编址方法,其特征在于,CRC校验算法为CRC8校验算法或CRC12校验算法或CRC16校验算法。
4.根据权利要求1所述的一种多电池包CAN通信的编址方法,其特征在于,将所述UID码分成n部分的UID子码,包括:
5.根据权利要求4所述的一种多电池包CAN通信的编址方法,其特征在于,所述将每个UID子码和当前节点地址制作成n帧报文,并将报文发送到CAN控制器中,包括:
6.根据权利要求1所述的一种多电池包CAN通信的编址方法,其特征在于,所述实时读取CAN控制器的发送状态,包括:
7.根据权利要求1所述的一种多电池包CAN通信的编址方法,其特征在于,在所述发送异常,重新计算当前节点地址,包括:
8.根据权利要求1所述的一种多电池包CAN通信的编址
9.一种多电池包CAN通信的编址装置,其特征在于,包括
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令在如权利要求9任一项所述的一种多电池包CAN通信的编址装置上运行时,使得多电池包CAN通信的编址装置执行如权利要求1-8任一项所述的一种多电池包CAN通信的编址方法的操作。
...【技术特征摘要】
1.一种多电池包can通信的编址方法,其特征在于,所述方法包括:
2.根据权利要求1所述的一种多电池包can通信的编址方法,其特征在于,所述通过crc校验算法对所述uid码进行计算,获取当前节点地址,包括:
3.根据权利要求1所述的一种多电池包can通信的编址方法,其特征在于,crc校验算法为crc8校验算法或crc12校验算法或crc16校验算法。
4.根据权利要求1所述的一种多电池包can通信的编址方法,其特征在于,将所述uid码分成n部分的uid子码,包括:
5.根据权利要求4所述的一种多电池包can通信的编址方法,其特征在于,所述将每个uid子码和当前节点地址制作成n帧报文,并将报文发送到can控制器中,包括:
6.根据权利要求1所述的一种多电池包c...
【专利技术属性】
技术研发人员:徐向林,陈爱雨,黄添发,任素云,戴清明,
申请(专利权)人:惠州市蓝微电子有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。