一种电池管理系统子模块串行编码系统及其编码方法
文献发布时间:2023-06-19 10:55:46
技术领域
本发明涉及一种串行编码系统及其编码方法,特别是一种电池管理系统子模块串行编码系统及其编码方法,属于新能源车领域。
背景技术
众所周知电池管理系统(BMS)是新能源车的核心零部件之一,在汽车运行的过程中动力电池组的电芯存在着过充、过放、过温、过冷、过电压、过电流等各种各样的问题,为确保电池使用安全、性能良好,延长电池使用寿命,必须对电池进行合理有效的管理和控制。
目前高电压(超过100V)BMS系统大多采用的是主、从式结构,系统一般会有一个主模块和若干子模块构成,子模块最多的时候可能达到30个以上,由众多的子模块共同和主模块一起完成高压电池组的所有电芯的动态管理,如此众多的子模块集成在一起,必须有一个简单且有效的编码方案对所有子模块进行统一编码,以方便主模块的协调管理,该编码方案既要保证生产的便利性又要保证维修、维护的简单方便,所以改编码方案既不能在子模块的硬件PCB板上解决,也不能通过软件将不同号码写入EEPROM/FLASH中的方法解决,因为前一种方法会造成子系统产品硬件上的差异性,后一种方法会造成子系统产品软件的差异,无论以上的哪一种方案都会给产品的生产、维修、维护带来极大的麻烦。
发明内容
本发明所要解决的技术问题是提供一种电池管理系统子模块串行编码系统及其编码方法,便于电池管理系统子模块的维护和维修。
为解决上述技术问题,本发明所采用的技术方案是:
一种电池管理系统子模块串行编码系统,其特征在于:包含主模块和多个子模块,主模块与多个子模块之间通过数据传输总线相互连接进行通信,主模块与多个子模块之间通过串行编码线串联连接。
进一步地,所述数据传输总线为BMS内部CAN总线。
进一步地,所述主模块的一个输出管脚通过串行编码线与第一子模块的输入端In连接,第一子模块的输出端Out通过串行编码线与第二子模块的输入端In连接,第二子模块的输出端Out通过串行编码线与第三子模块的输入端In连接,子模块依次串联直至第n-1子模块的输出端Out通过串行编码线与第n子模块的输入端In连接,n为子模块的数量。
进一步地,所述子模块的输入端In的电路结构包含二极管D1,二极管D1的阳极连接电源VCC,二极管D1的阴极连接电阻R1一端,电阻R1的另一端连接电容C1一端和电阻R2一端并作为子模块输入端,电阻R2另一端连接电容C2一端并与子模块的MCU的输入接口连接,电容C1的另一端和电容C2的另一端接地。
进一步地,所述子模块的输出端Out的电路结构包含电阻R3和电阻R4,电阻R3的一端和电阻R4的一端连接电源VCC,电阻R3的另一端连接MOS管Q1的漏极和MOS管Q2的源极,电阻R4的另一端连接MOS管Q2的漏极并作为子模块输出端,MOS管Q1的源极与子模块MCU的输出接口连接,MOS管Q1的栅极和MOS管Q2的栅极接地。
进一步地,所述主模块和子模块内分别设置有CAN收发器,CAN收发器的TXD信号输入接口连接主模块或子模块的TXD信号输出接口连接,CAN收发器的RXD信号输出接口连接主模块或子模块的RXD信号输入接口连接。
进一步地,所述主模块的CAN收发器的两个接口以及多个子模块的CAN收发器的两个接口分别与信号线CAN_H和信号线CAN_L连接。
进一步地,所述信号线CAN_H和信号线CAN_L之间设置有电阻R5和电阻R6,电阻R5的一端连接信号线CAN_H的一端,电阻R5的另一端连接信号线CAN_L的一端,电阻R6的一端连接信号线CAN_H的另一端,电阻R6的另一端连接信号线CAN_L的另一端。
一种电池管理系统子模块串行编码方法,其特征在于包含以下步骤:
步骤一:BMS系统开始上电工作后,主模块将自身的串行编码线上拉至高电平,然后在CAN总线发出1号子模块编码命令;
步骤二:此时所有的子模块都能收到CAN总线的1号编码命令,但仅有一个同主模块串行编码线连接的子模块检测到了串行编码线输入口上的高电平,该子模块便设定自身编号为1号并保存至内部RAM中;
步骤三:1号子模块同时应答主模块1号子模块编码成功,然后1号子模块把自身的串行编码线输出口上拉至高电平;
步骤四:主模块在CAN总线上接收到1号子模块编码成功应答后,发出2号子模块编码命令,此时已经成功编码的1号子模块无需关注该命令,其它子模块中检测到自身串行编码线输入口为高电平的子模块将CAN总线上的编码命令号n作为自身的编号n并保存至内部RAM中,并应答主模块n号子模块编码成功,然后将自身的串行编码线输出口上拉至高电平,主模块在CAN总线上接收到n号子模块编码成功应答,进行下一个子模块的编码命令系列;
步骤五:重复步骤四直到主模块发出编码命令在一段时间内没有应答,主模块即认为编码过程已经结束,最后在CAN总线上发出所有子系统编码完成命令,所有子系统进入正常工作模式。
本发明与现有技术相比,具有以下优点和效果:
1、本发明使整个主、从式BMS的连接简单,编码线仅有一根;
2、可扩展性好,系统可以随意加减子模块的数量,每次上电后进行一系列编码操作;
3、生产简单、方便,所有的子模块都是一样的,统一生产;
4、售后维修、维护容易,所有子模块都是一样的,有问题直接更换;
5、软件升级维护方便,所有子模块软件是一样的;
6、本发明子模块编码号的识别更是简单无比,每个子模块在系统连接中的逻辑位置就是其在BMS系统中的子模块序号。
附图说明
图1是本发明的一种电池管理系统子模块串行编码系统的原理图。
图2是本发明的一种电池管理系统子模块串行编码系统的电路图。
图3是本发明的子模块的输入端In的电路结构原理图。
图4是本发明的子模块的输出端Out的电路结构原理图。
图5是本发明的一种电池管理系统子模块串行编码方法的时序图。
具体实施方式
为了详细阐述本发明为达到预定技术目的而所采取的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清晰、完整地描述,显然,所描述的实施例仅仅是本发明的部分实施例,而不是全部的实施例,并且,在不付出创造性劳动的前提下,本发明的实施例中的技术手段或技术特征可以替换,下面将参考附图并结合实施例来详细说明本发明。
如图1所示,本发明的一种电池管理系统子模块串行编码系统,包含主模块和多个子模块,主模块与多个子模块之间通过数据传输总线相互连接进行通信,主模块与多个子模块之间通过串行编码线串联连接。
其中,数据传输总线为BMS内部CAN总线。
如图2所示,主模块的一个输出管脚通过串行编码线与第一子模块的输入端In连接,第一子模块的输出端Out通过串行编码线与第二子模块的输入端In连接,第二子模块的输出端Out通过串行编码线与第三子模块的输入端In连接,子模块依次串联直至第n-1子模块的输出端Out通过串行编码线与第n子模块的输入端In连接,n为子模块的数量。
如图3所示,子模块的输入端In的电路结构包含二极管D1,二极管D1的阳极连接电源VCC,二极管D1的阴极连接电阻R1一端,电阻R1的另一端连接电容C1一端和电阻R2一端并作为子模块输入端,电阻R2另一端连接电容C2一端并与子模块的MCU的输入接口连接,电容C1的另一端和电容C2的另一端接地。
如图4所示,子模块的输出端Out的电路结构包含电阻R3和电阻R4,电阻R3的一端和电阻R4的一端连接电源VCC,电阻R3的另一端连接MOS管Q1的漏极和MOS管Q2的源极,电阻R4的另一端连接MOS管Q2的漏极并作为子模块输出端,MOS管Q1的源极与子模块MCU的输出接口连接,MOS管Q1的栅极和MOS管Q2的栅极接地。
主模块和子模块内分别设置有CAN收发器,CAN收发器的TXD信号输入接口连接主模块或子模块的TXD信号输出接口连接,CAN收发器的RXD信号输出接口连接主模块或子模块的RXD信号输入接口连接。主模块的CAN收发器的两个接口以及多个子模块的CAN收发器的两个接口分别与信号线CAN_H和信号线CAN_L连接。信号线CAN_H和信号线CAN_L之间设置有电阻R5和电阻R6,电阻R5的一端连接信号线CAN_H的一端,电阻R5的另一端连接信号线CAN_L的一端,电阻R6的一端连接信号线CAN_H的另一端,电阻R6的另一端连接信号线CAN_L的另一端。
如图5所示,一种电池管理系统子模块串行编码方法,包含以下步骤:
步骤一:BMS系统开始上电工作后,主模块将自身的串行编码线上拉至高电平,然后在CAN总线发出1号子模块编码命令;
步骤二:此时所有的子模块都能收到CAN总线的1号编码命令,但仅有一个同主模块串行编码线连接的子模块检测到了串行编码线输入口上的高电平,该子模块便设定自身编号为1号并保存至内部RAM中;
步骤三:1号子模块同时应答主模块1号子模块编码成功,然后1号子模块把自身的串行编码线输出口上拉至高电平;
步骤四:主模块在CAN总线上接收到1号子模块编码成功应答后,发出2号子模块编码命令,此时已经成功编码的1号子模块无需关注该命令,其它子模块中检测到自身串行编码线输入口为高电平的子模块将CAN总线上的编码命令号n作为自身的编号n并保存至内部RAM中,并应答主模块n号子模块编码成功,然后将自身的串行编码线输出口上拉至高电平,主模块在CAN总线上接收到n号子模块编码成功应答,进行下一个子模块的编码命令系列;
步骤五:重复步骤四直到主模块发出编码命令在一段时间内没有应答,主模块即认为编码过程已经结束,最后在CAN总线上发出所有子系统编码完成命令,所有子系统进入正常工作模式。
本发明提供了一种串行单线路连接的编码方案,BMS系统上电后,主模块通过CAN总线配合编码线顺序完成所有子模块的序号编码,整个编码过程在BMS系统上电后的50mS以内全部完成,由于这是一种串行连接,每个子模块的编号顺序由其所在的单线编码连接之间的逻辑位置关系所决定,具有连接简单,可靠性高的优点,并且所有的子模块的编码序号是在系统上电的一瞬间完成的,每次系统上电后主模块都要重新进行一次子模块的编码操作,在系统没有上电工作之前所有子模块都是完全相同的(无论硬件、软件一模一样),只有在系统上电一瞬间完成子模块编码,这样就对子模块的生产和维修、维护带来了极大的方便。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。
- 一种电池管理系统子模块串行编码系统及其编码方法
- 一种电池管理系统子模块串行编码系统