数据库文件的生成方法、装置、计算机设备和存储介质与流程

文档序号:35271270发布日期:2023-08-30 16:22阅读:32来源:国知局
数据库文件的生成方法、装置、计算机设备和存储介质与流程

本技术涉及车辆通信,特别是涉及一种数据库文件的生成方法、装置、计算机设备和存储介质。


背景技术:

1、现目前车辆的控制单元通过can(controller area network,控制器局域网)网络交换数据。can网络是于上世纪80年代初,为了解决众多传感器与执行器之间的数据交换而开发的一种串行通讯协议,发展至今can也衍生出众多更加完整规范、互用性更强的通信协议,使得其在传统动力汽车中越来越普及和“低配”。它的同步性以及实时性等众多优点也使得can总线技术在电动汽车中继续被推从和使用。

2、目前,can通信协议以excel文件的形式进行管理,在具体研发、测试工程中,再将excel文件转换dbc(database can,can的数据库文件)的标准格式,can总线通讯的主要载体是报文,信号是报文的主要组成部分,没有dbc数据库,就无法解析信号,但是,现目前编写dbc文件时,关键的问题是从excel文件提取出需要的报文、信号信息,且报文要关联报文下的所有信号,但在具体实施时存在报文与信号关联容易出错的问题。


技术实现思路

1、基于此,提供一种数据库文件的生成方法、装置、计算机设备和存储介质,改善现有技术中生成dbc文件时,报文与信号关联容易出错的问题。

2、一方面,提供一种数据库文件的生成方法,所述方法包括:

3、获取can通信的通信信息矩阵;

4、按行轮询所述通信信息矩阵,提取目标行数据中报文目标属性列对应的报文信息获得对应的报文信息存储单元,并配置所述报文信息存储单元对应的报文索引值;或者,

5、提取所述目标行数据中信号目标属性列对应的信号信息获得对应的信号信息存储单元,并配置所述信号信息存储单元对应的报文索引值以及信号索引值,且,所述信号信息存储单元具有与对应的所述报文信息存储单元相同的报文索引值;

6、根据所述报文索引值的大小,依次写入所述报文信息存储单元中的报文信息;并在写入报文信息时,将具有对应所述报文索引值的信号信息存储单元的信号信息,按照信号索引值的大小依次嵌套写入,以生成数据库文件。

7、在一个实施例中,所述获取can通信的通信信息矩阵之后,包括:

8、根据所述通信信息矩阵,对表头行关键字的提取和识别,确定报文与信号的区别特征列、所述报文目标属性列以及所述信号目标属性列;

9、逐行轮询所述通信信息矩阵的数据存储区域,根据所述目标行数据中所述区别特征列对应的单元值,确定所述目标行数据为报文属性数据还是信号属性数据,以在所述目标行数据为报文属性数据时,提取报文信息获得所述报文信息存储单元,或,在所述目标行数据为信号属性数据时,提取信号信息获得所述信号信息存储单元。

10、在一个实施例中,所述信号目标属性列包括信号排列格式列、信号起始位列;

11、所述提取所述目标行数据中信号目标属性列对应的信号信息获得信号信息存储单元,包括:

12、根据所述目标行数据中,信号排列格式列对应的信号排列格式判断信号起始位是否需要转换;

13、若是,则根据信号长度以及信号起始位列初始的第一信号起始位,获得转换后的第二信号起始位,并将第二信号起始位进行提取并存储。

14、在一个实施例中,所述根据信号长度列的信号长度信息以及信号起始位列初始的第一信号起始位,获得转换后的第二信号起始位,包括:

15、获取信号的字节剩余可用位数,根据所述字节剩余可用位数以及信号长度判断信号是否跨字节;

16、若信号不跨字节,则根据第一信号起始位和信号长度确定所述第二信号起始位。

17、在一个实施例中,所述根据第一信号起始位和信号长度确定所述第二信号起始位,包括:

18、根据如下的第一数学表达确定所述第二信号起始位:

19、所述第一数学表达:msb=lsb+l–1;

20、其中,lsb为第一信号起始位,l为信号长度,msb为第二信号起始位。

21、在一个实施例中,所述根据信号长度列的信号长度信息以及信号起始位列初始的第一信号起始位,获得转换后的第二信号起始位,还包括:

22、若信号跨字节,则获取跨字节位数,判断所述跨字节位数是否为n倍字节位数,n大于或等于1,若是,则根据初始字节数与跨字节数确定所述第二信号起始位;若否,则根据初始字节数、跨字节数以及跨字节余数确定所述第二信号起始位;

23、其中,所述初始字节数根据第一信号起始位与字节位数取整获得,所述跨字节数根据所述跨字节位数与字节位数取整获得,所述跨字节余数根据所述跨字节位数与字节位数取余获得。

24、在一个实施例中,所述根据初始字节数与跨字节数确定所述第二信号起始位,包括:

25、根据如下的第二数学表达确定所述第二信号起始位:

26、所述第二数学表达:msb=(int(lsb/a)–int(bit_crs/a)+1)*a-1;

27、所述根据初始字节数、跨字节数以及跨字节余数确定所述第二信号起始位,包括:

28、根据如下的第三数学表达确定所述第二信号起始位:

29、所述第三数学表达:msb=(int(lsb/a)–int(bit_crs/a)-1)*a+bit_crs%a–1;

30、其中,bit_crs为跨字节位数,a为字节位数,int()为取整函数,%为取余函数。

31、又一方面,提供一种数据库文件的生成装置,所述装置包括:

32、获取模块,用于获取can通信的通信信息矩阵;

33、配置模块,用于按行轮询所述通信信息矩阵的数据存储区域,提取目标行数据中报文目标属性列对应的报文信息获得对应的报文信息存储单元,并配置所述报文信息存储单元对应的报文索引值;或者,提取所述目标行数据中信号目标属性列对应的信号信息获得对应的信号信息存储单元,并配置所述信号信息存储单元对应的报文索引值以及信号索引值,且,所述信号信息存储单元具有与之对应的所述报文信息存储单元相同的报文索引值;

34、写入模块,用于根据所述报文索引值的大小,依次写入所述报文信息存储单元中的报文信息;并在写入报文信息时,将具有对应所述报文索引值的信号信息存储单元的信号信息,按照信号索引值的大小依次嵌套写入,以生成数据库文件。

35、再一方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述方法的步骤。

36、还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法的步骤。

37、上述数据库文件的生成方法、装置、计算机设备和存储介质,在获取can通信的通信信息矩阵后,轮询所述通信信息矩阵的数据存储区域,分别提取报文信息获得对应的报文信息存储单元以及提取信号信息获得对应的信号信息存储单元,通过为报文信息存储单元配置报文索引值,且为同一报文信息下的所有信号信息存储单元配置相同的报文索引值,从而将报文与信号进行关联,因此在写入dbc文件时不会出错。

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