车辆数据的处理方法、装置、计算机设备和存储介质与流程
- 国知局
- 2024-08-02 14:11:54
本技术涉及车辆信号处理,特别是涉及一种车辆数据的处理方法、车辆数据的处理装置、计算机设备、计算机可读存储介质和计算机程序产品。
背景技术:
1、目前,随着汽车行业网联化、智能化的发展,为了更好的维护管理车辆、监测车辆运行状况、提升车辆行驶安全,汽车制造商一般会从车上的can(controller areanetwork,控制器局域网络)总线上采集大量的can信号,然后再按照行业标准格式通过excel文件或者dbc文件将can信号以can报文的形式发送给服务器,以进行信号解析和信号读写的操作。
2、然而,由于每个can报文中的can信号的序号和信号意义都是事先在代码中手动定义的,因此在开发过程中,当需要对can信号进行读写时需要人工对can报文分段以进行信号解析和信号读写,导致开发过程非常繁琐且容易出错,从而存在车辆数据处理的效率较低和准确率不高的问题。
技术实现思路
1、针对上述问题,本公开提供一种车辆数据的处理方法、车辆数据的处理装置、计算机设备、计算机可读存储介质和计算机程序产品。本公开的技术方案如下:
2、根据本公开实施例的第一方面,提供一种车辆数据的处理方法,包括:
3、获取携带有can报文描述信息的dbc文件;所述can报文为目标车辆通过can网络发出的比特序列;
4、对所述dbc文件进行文本扫描,确定所述can报文的报文信息;所述报文信息包括所述can报文中各个can信号的当前端绪模式;
5、在所述当前端绪模式为目标端绪模式的情况下,基于所述报文信息生成针对所述can报文的数据结构体;
6、基于所述数据结构体,定义结构体指针变量,以基于所述结构体指针变量对各所述can信号进行数据读写,以获取或修改所述can信号的信号值。
7、在一示例性实施例中,所述对所述dbc文件进行文本扫描,确定所述can报文的报文信息,包括:
8、读取所述dbc文件中的各行文本内容,依次确定对应的各行文本内容是否满足预设条件;所述预设条件包括所述文本内容的字节长度是否为0、所述文本内容是否换行、所述文本内容是否包括bo字段;
9、在所述文本内容满足所述预设条件的情况下,从所述文本内容中确定出关于所述can报文的报文名称,以及关于有效的can信号的信号名称、信号起始位、信号位宽和当前端绪模式作为报文信息;
10、其中,所述当前端绪模式为大端模式或者小端模式。
11、在一示例性实施例中,所述确定所述can报文的报文信息,还包括:
12、在所述can信号的当前端绪模式为所述小端模式的情况下,基于所述有效的can信号的信号起始位和信号位宽,推算出所述can报文中无效的can信号的信号起始位、信号位宽和信号终止位,并将所述无效的can信号的信号起始位、信号位宽和信号终止位作为报文信息。
13、在一示例性实施例中,在所述对所述dbc文件进行文本扫描,确定所述can报文的报文信息之后,还包括:
14、在所述can信号的当前端绪模式为所述大端模式的情况下,对所述can信号进行大小端转换,以将所述can信号的当前端绪模式转换为所述小端模式;
15、其中,针对处于所述大端模式下的can信号,所述can信号在横向连续字节空间中的字节位序不连续且高低位方向相反;
16、针对处于所述小端模式下的can信号,所述can信号在横向连续字节空间中的字节位序连续且高低位方向相同。
17、在一示例性实施例中,所述对所述can信号进行大小端转换,以将所述can信号的当前端绪模式转换为所述小端模式,包括:
18、基于所述报文信息,构建针对所述can信号的字节位序映射表;
19、基于所述字节位序映射表,对所述can信号进行高低位字节的对称交互,以将can信号在横向连续字节空间中的字节位序转换为连续且高低位方向相同。
20、在一示例性实施例中,所述基于所述结构体指针变量对各所述can信号进行数据读写,以获取或修改所述can信号的信号值,包括:
21、基于所述结构体指针变量所指向的所述can信号的信号名称,对所述can信号进行信号值读写,以获取或修改所述can信号的信号值。
22、在一示例性实施例中,在所述基于所述结构体指针变量对各所述can信号进行数据读写,以获取或修改所述can信号的信号值之后,还包括:
23、在所述can信号由所述大端模式转换为所述小端模式的情况下,对所述can信号进行大小端逆向转换,以将所述can信号的当前端绪模式转换为所述大端模式;
24、基于c语言的指针强制转换和内存拷贝的方法,对经过所述大小端逆向转换的can信号进行封装,得到封装后的can信号。
25、根据本公开实施例的第二方面,提供一种车辆数据的处理装置,包括:
26、文件获取模块,用于获取携带有can报文描述信息的dbc文件;所述can报文为目标车辆发出的can信号的比特序列;
27、文本扫描模块,用于对所述dbc文件进行文本扫描,确定所述can报文的报文信息;所述报文信息包括所述can报文中的各个can信号的当前端绪模式;
28、结构体定义模块,用于在所述当前端绪模式为目标端绪模式的情况下,基于所述报文信息生成针对所述can报文的数据结构体;
29、数据读写模块,用于基于所述数据结构体,定义结构体指针变量,以基于所述结构体指针变量对各所述can信号进行数据读写,以获取或修改所述can信号的信号值。
30、根据本公开实施例的第三方面,提供一种计算机设备,包括:
31、处理器;
32、用于存储所述处理器的可执行指令的存储器;
33、其中,所述处理器被配置为执行所述可执行指令,以实现如上述任一项所述的车辆数据的处理方法。
34、根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质中包括程序数据,当所述程序数据由计算机设备的处理器执行时,使得所述计算机设备能够执行如上述任一项所述的车辆数据的处理方法。
35、根据本公开实施例的第五方面,提供一种计算机程序产品,所述计算机程序产品中包括程序指令,所述程序指令被计算机设备的处理器执行时,使得所述计算机设备能够执行如上述任一项所述的车辆数据的处理方法。
36、本公开的实施例提供的技术方案至少带来以下有益效果:
37、一方面,本方案通过先对携带有can报文描述信息的dbc文件进行文本扫描,以得到can报文中的报文信息,然后再基于报文信息生成针对can报文的数据结构体,最后再基于数据结构体定义结构体指针变量来对can信号进行数据读写,从而优化了车辆数据的处理流程,有效提高了车辆数据处理的效率,降低了人力和物力的消耗;另一方面,本方案通过区别于现有的车辆数据处理方式,通过在can信号的当前端绪模式为目标端绪模式的情况下,生成针对can报文的数据结构体,以基于数据结构体所对应的结构体指针变量对can信号进行数据读写,从而能够利用与can信号的结构相同的数据结构体完成can信号的读写,有效降低了企业的生产成本,并提高了对车辆数据进行信号读写的效率和准确率,有利于电动车辆的开发应用。
38、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
本文地址:https://www.jishuxx.com/zhuanli/20240801/241989.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表