System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() CAN总线数据管理方法、装置、电池管理系统及存储介质制造方法及图纸_技高网

CAN总线数据管理方法、装置、电池管理系统及存储介质制造方法及图纸

技术编号:40660344 阅读:4 留言:0更新日期:2024-03-18 18:52
本发明专利技术提供了一种CAN总线数据管理方法、装置、电池管理系统及存储介质,其方法包括:获取CAN总线数据并查询接收中断信号;响应接收中断信号,调用数据接收中断处理函数;获取功能模块数据处理函数生成的写队列索引切换请求标志状态;基于写队列索引切换请求标志状态和数据接收中断处理函数将CAN总线数据写入接收队列,或,调用功能模块数据处理函数从接收队列中读取CAN总线数据。本发明专利技术实现了低主频BMS在高CAN总线通信负载下的数据完整接收。

【技术实现步骤摘要】

本专利技术涉及can总线数据传输,具体涉及一种can总线数据管理方法、装置、电池管理系统及存储介质。


技术介绍

1、在汽车ecu(electrical control unit,电子控制单元)开发领域,基于can总线的标定应用是ecu研发过程中的环节,ecu标定功能不属于产品功能,当ecu研发过程由开发进入量产阶段之后,ecu的标定功能被关闭或移除。标定应用在运行阶段会占用ecu主要功能芯片mcu(micro-controller unit,微控制单元)的计算资源和总线通信资源。bms(batterymanagement system,电池管理系统)属于ecu类别中的一个下级类别,具有复杂控制逻辑且对控制实时性有较高要求。为了提高bms的研发过程中软件开发的效率以及使得电池pack特定的功能、性能测试可行,bms的研发过程中优先考虑使用标定功能。can总线是bms与其他车载ecu通信的主要方式。采用基于can总线的标定应用不需要变更bms产品的现有的硬件设计,不会额外增加硬件成本。行业内主流的标定应用是基于can总线,相应的基于can总线的标定应用工具链其技术成熟且使用广泛。

2、在bms需求分析阶段mcu选型时,一般会将标定应用视为产品应用的一部分来考虑ecu的整体性能需求。在某些特定的应用场景下,bms没有相对复杂的控制策略,但对硬件成本有较高的要求。主要元器件mcu的采购成本在bms的硬件成本中占比高,为了降低bms的硬件成本,在满足bms产品功能的前提下,可不考虑其标定应用,选择采用较低价格的低主频mcu。</p>

3、经调试发现:基于can总线的标定应用运行时,由于对象数据表报文以脉冲的方式,短时间内大量数据通过can总线发出形成短暂的can总线高负载,导致低主频mcu无法完整接收can总线数据。当标定应用的控制类数据丢失时,导致标定应用运行异常甚至中断;当bms控制逻辑类数据丢失时,导致bms报告数据接收超时故障,继而导致bms应用功能降级(部分功能进入保护状态)。

4、bms现有的can总线数据接收机制采用行业内通用的互斥队列中断接收机制,即数据队列的进队与出队时通过关闭mcu全局中断的方式实现操作互斥。此数据接收机制在高主频bms标定应用场景下未发现问题。在低主频bms标定应用场景下,经推断分析认为队列进队出队关闭全局中断进行互斥操作时,关闭全局中断——入队出队——开启全局中断的过程时间相对较长,can总线数据已经多次到达且覆盖寄存器中的数据,导致数据丢失。

5、因此,亟须提供一种can总线数据管理方法、装置、电池管理系统及存储介质,以解决低主频bms在高can总线通信负载的情况下,不能完整接收数据的问题。


技术实现思路

1、有鉴于此,有必要提供一种can总线数据管理方法、装置、电池管理系统及存储介质,用以解决现有技术中存在的低主频bms在高can总线通信负载的情况下,不能完整接收数据的技术问题。

2、一方面,本专利技术提供了一种can总线数据管理方法,包括:

3、获取can总线数据并查询接收中断信号;

4、响应所述接收中断信号,调用数据接收中断处理函数;

5、获取功能模块数据处理函数生成的写队列索引切换请求标志状态;

6、基于所述写队列索引切换请求标志状态和所述数据接收中断处理函数将所述can总线数据写入接收队列,或,调用所述功能模块数据处理函数从所述接收队列中读取所述can总线数据。

7、在一些可能的实现方式中,所述接收队列包括并行的至少两个接收子队列;所述基于所述写队列索引切换请求标志状态和所述数据接收中断处理函数将所述can总线数据写入接收队列,包括:

8、若所述写队列索引切换请求标志状态为“待处理”,则基于写队列索引值确定所述至少两个接收子队列中的目标接收子队列,并将所述can总线数据写入至所述目标接收子队列;

9、若所述写队列索引切换请求标志状态为“已处理”,则将所述can总线数据写入至所述至少两个接收子队列中与所述写队列索引值对应的当前接收子队列。

10、在一些可能的实现方式中,所述基于写队列索引值确定所述至少两个接收子队列中的目标接收子队列,包括:

11、基于写队列索引值确定当前接收子队列,并判断所述当前接收子队列的存储状态是否为满;

12、若所述当前接收子队列的存储状态不为满,则所述当前接收子队列为所述目标接收子队列;

13、若所述当前接收子队列的存储状态为满,则更新所述写队列索引值,获得更新写队列索引值,将所述更新写队列索引值对应的接收子队列作为所述目标接收子队列;其中,所述目标接收子队列不为所述当前接收子队列。

14、在一些可能的实现方式中,在所述将所述can总线数据写入至所述目标接收子队列之后,还包括:

15、将当前读队列的读队列索引值设置为所述写队列索引值;

16、切换写队列索引至读队列索引,并将所述写队列索引切换请求标志状态重置为“已处理”。

17、在一些可能的实现方式中,所述至少两个接收子队列均为循环队列,则在所述将所述can总线数据写入至所述至少两个接收子队列中与所述写队列索引值对应的当前接收子队列之后,还包括:

18、获取所述当前接收子队列的队列长度以及所述can总线数据的数据长度;

19、基于所述队列长度、所述写队列索引值和所述数据长度确定所述当前接收子队列是否存在队列溢出;

20、若所述当前接收子队列存在队列溢出,则设置溢出标志位。

21、在一些可能的实现方式中,所述调用所述功能模块数据处理函数从所述接收队列中读取所述can总线数据,包括:

22、获取读队列索引值和写队列索引值,并判断所述读队列索引值和所述写队列索引值是否一致;

23、若所述读队列索引值和所述写队列索引值不一致,读取所述接收队列中的can总线数据;若所述读队列索引值和所述写队列索引值一致,则不进行读取操作。

24、在一些可能的实现方式中,在所述读取所述接收队列中的全部数据,和/或,所述不进行读取操作之后,还包括:

25、将所述写队列索引切换请求标志状态设置为“待处理”。

26、另一方面,本专利技术还提供了一种can总线数据管理装置,包括:

27、数据和中断信号获取单元,用于获取can总线数据并查询接收中断信号;

28、中断处理函数调用单元,用于响应所述接收中断信号,调用数据接收中断处理函数;

29、标志位状态生成单元,用于获取功能模块数据处理函数生成的写队列索引切换请求标志状态;

30、can总线数据读写单元,用于基于所述写队列索引切换请求标志状态和所述数据接收中断处理函数将所述can总线数据写入接收队列,或,调用所述功能模块数据处理函数从所述接收队列中读取所述can总线数据。

31、另一方面,本专利技术还提供了本文档来自技高网...

【技术保护点】

1.一种CAN总线数据管理方法,其特征在于,包括:

2.根据权利要求1所述的CAN总线数据管理方法,其特征在于,所述接收队列包括并行的至少两个接收子队列;所述基于所述写队列索引切换请求标志状态和所述数据接收中断处理函数将所述CAN总线数据写入接收队列,包括:

3.根据权利要求2所述的CAN总线数据管理方法,其特征在于,所述基于写队列索引值确定所述至少两个接收子队列中的目标接收子队列,包括:

4.根据权利要求2所述的CAN总线数据管理方法,其特征在于,在所述将所述CAN总线数据写入至所述目标接收子队列之后,还包括:

5.根据权利要求2所述的CAN总线数据管理方法,其特征在于,所述至少两个接收子队列均为循环队列,则在所述将所述CAN总线数据写入至所述至少两个接收子队列中与所述写队列索引值对应的当前接收子队列之后,还包括:

6.根据权利要求1所述的CAN总线数据管理方法,其特征在于,所述调用所述功能模块数据处理函数从所述接收队列中读取所述CAN总线数据,包括:

7.根据权利要求6所述的CAN总线数据管理方法,其特征在于,在所述读取所述接收队列中的全部数据,和/或,所述不进行读取操作之后,还包括:

8.一种CAN总线数据管理装置,其特征在于,包括:

9.一种电池管理系统,其特征在于,包括存储器和处理器,其中,

10.一种计算机可读存储介质,其特征在于,用于存储计算机可读取的程序或指令,所述程序或指令被处理器执行时能够实现上述权利要求1至7中任意一项所述的CAN总线数据管理方法中的步骤。

...

【技术特征摘要】

1.一种can总线数据管理方法,其特征在于,包括:

2.根据权利要求1所述的can总线数据管理方法,其特征在于,所述接收队列包括并行的至少两个接收子队列;所述基于所述写队列索引切换请求标志状态和所述数据接收中断处理函数将所述can总线数据写入接收队列,包括:

3.根据权利要求2所述的can总线数据管理方法,其特征在于,所述基于写队列索引值确定所述至少两个接收子队列中的目标接收子队列,包括:

4.根据权利要求2所述的can总线数据管理方法,其特征在于,在所述将所述can总线数据写入至所述目标接收子队列之后,还包括:

5.根据权利要求2所述的can总线数据管理方法,其特征在于,所述至少两个接收子队列均为循环队列,则在所述将所述can总线数据写入至所述至...

【专利技术属性】
技术研发人员:秦洪魁刘长来夏诗忠姜欢蔡冠军
申请(专利权)人:骆驼集团武汉光谷研发中心有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1