CAN报文数据库建立方法、装置、车载电子设备及存储介质与流程

专利2024-07-02  66


can报文数据库建立方法、装置、车载电子设备及存储介质
技术领域
1.本发明涉及整车数据采集技术领域,尤其涉及can报文数据库建立方法、装置、车载电子设备及存储介质。


背景技术:

2.sky试验测试与控制系统软件,是一套用于数据采集、解析、显示和保存的集成调试开发软件,也可以实现实车调试等数据采集、解析、显示和保存的集成调试开发工作,遵循can(controller area network,控制器局域网)网络通信协议。
3.该软件将具体的can报文和信号数据存储在access数据库中,不同车型的can报文和信号存在差异,一个车型的can报文和信号对应于一个特定的access数据库文件。access数据库文件是利用该软件进行整车调试、数据采集、解析、显示和保存不可缺少的文件。
4.一个完整车型的整车控制器报文和信号至少在几百个,同时,一个信号又会涉及二十个以上的信号属性信号,因此建立一种车型完整的报文和信号所对应的数据库信息,当前access数据库由工程师手工完成创建当,因而是非常庞大的工程,同时创建过程又极易出错。


技术实现要素:

5.本发明实施例通过提供can报文数据库建立方法、装置、车载电子设备及存储介质,降低了创建用于车辆can解析数据库过程的复杂度以及出错率。
6.第一方面,本发明通过本发明的一实施例,提供了一种can报文数据库建立方法,包括:获取车辆预先建立的通信矩阵中的映射字段,所述通信矩阵基于所述车辆的配置建立,所述通信矩阵包括至少一个所述映射字段,每个所述映射字段对应有各自的can报文;将所述映射字段与预设的目标字段建立第一映射关系;对所述映射字段对应的can报文进行进制转换,得到目标can报文,并基于所述第一映射关系,将所述目标can报文映射到所述目标字段中;利用所述通信矩阵中至少一个所述映射字段转换并映射得到的目标字段,建立所述can报文数据库,所述can报文数据库应用于车辆的can解析。
7.优选地,所述通信矩阵基于所述车辆的配置建立,包括:采集所述车辆的零部件、电子电器线束、电子电器网络架构以及整车控制器之间的通信信号建立所述通信矩阵。
8.优选地,所述对所述映射字段对应的can报文进行进制转换,得到目标can报文,包括:根据所述映射字段确定目标进制,所述目标进制为十进制或二进制;将所述映射字段对应的can报文的进制转换为所述目标进制,以得到所述目标can报文。
9.优选地,所述基于所述第一映射关系,将所述目标can报文映射到所述目标字段中,包括:利用拆解函数对所述映射字段中最小字段对应的第一can报文进行拆解,并利用删除函数删除拆解后所述第一can报文的首部空字符和尾部空字符,得到第一can报文字段;利用所述拆解函数对所述映射字段中最大字段对应的第二can报文进行拆解,并利用所述删除函数删除拆解后所述第二can报文的首部空字符和尾部空字符,得到第二can报文字
段;将所述第一can报文字段赋值给所述目标字段中的最小值参数字段,将所述第二can报文字段赋值给所述目标字段中的最大值参数字段。
10.优选地,所述方法还包括:将所述目标字段中的设备字段与多个目标can报文建立第二映射关系,并将所述第二映射关系进行保存。
11.优选地,所述利用所述通信矩阵中至少一个所述映射字段转换并映射得到的目标字段,建立所述can报文数据库,包括:利用command命令创建bat文件;通过运行所述bat文件创建can协议数据库和设备列表数据库;在所述can协议数据库和所述设备列表数据库中导入包括所述目标can报文的目标字段,得到所述can报文数据库。
12.第二方面,本发明通过本发明的一实施例,提供了一种can报文数据库建立装置,包括:
13.通信矩阵创建单元,用于获取车辆预先建立的通信矩阵中的映射字段,所述通信矩阵基于所述车辆的配置建立,所述通信矩阵包括至少一个所述映射字段,每个所述映射字段对应有各自的can报文;
14.字段映射单元,用于将所述映射字段与预设的目标字段建立第一映射关系;
15.can报文转换单元,用于对所述映射字段对应的can报文进行进制转换,得到目标can报文,并基于所述第一映射关系,将所述目标can报文映射到所述目标字段中;
16.数据库创建单元,用于利用所述通信矩阵中至少一个所述映射字段转换并映射得到的目标字段,建立所述can报文数据库,所述can报文数据库应用于车辆的can解析。
17.优选地,所述字段映射单元,还用于:将所述目标字段中的设备字段与多个目标can报文建立第二映射关系,并将所述第二映射关系进行保存。
18.第三方面,本发明通过本发明的一实施例,提供了一种车载电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面中任一实施方式。
19.第四方面,本发明通过本发明的一实施例,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一实施方式。
20.本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
21.首先获取车辆预先建立的通信矩阵中的映射字段,通信矩阵基于车辆的配置建立,通信矩阵包括至少一个映射字段,每个映射字段对应有各自的can报文。接着,将映射字段与预设的目标字段建立第一映射关系,对映射字段对应的can报文进行进制转换,得到目标can报文,并基于第一映射关系,将目标can报文映射到目标字段中。最后,利用通信矩阵中至少一个映射字段转换并映射得到的目标字段,建立can报文数据库,can报文数据库能够应用于车辆的can解析,提高了车辆can报文分析的工作效率、减少基于通信矩阵进行can解析的出错机率。
附图说明
22.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
description、byte order、signal length、start bit position、resolution、offset、signal unit、min~max(hex)、msg name。msg name是can报文名称。
39.步骤s102:将映射字段与预设的目标字段建立第一映射关系。
40.具体的,目标字段的数量可以少于或等于映射字段的数量。可以根据can解析的实际情况建立第一映射关系,相同通信矩阵存在相同的第一映射关系,映射字段与预设的目标字段存在唯一的第一映射关系。
41.举例来讲,目标字段可以包括:var_name、period、can_id、bsend、start_bit、bit_length、offset、bitresolution、unit、max_value、min_value、comment、device。
42.需要说明的是,上述msg name映射字段可以包括多个,device目标字段也可以包括,一个device目标字段可以映射有多个msg name映射字段。
43.在一种实施方式中,第一映射关系可以参照如下映射关系所示:
44.msg id(hex)与can_id建立映射;msg cycle time(ms)与period建立映射;signal name与var_name建立映射;signal description与comment建立映射;byte order与bsend建立映射;signal length与bit_length建立映射;start bit position与start_bit建立映射;resolution与bitresolution建立映射;offset与offset建立映射;signal unit与unit建立映射;min(hex)与min_value建立映射;max(hex)与max_value建立映射。
45.步骤s103:对映射字段对应的can报文进行进制转换,得到目标can报文,并基于第一映射关系,将目标can报文映射到目标字段中。
46.针对如何得到目标can报文,具体的,可以根据映射字段先确定目标进制,目标进制为十进制或二进制,再将映射字段对应的can报文的进制转换为目标进制,以得到目标can报文。
47.举例来讲,假如映射字段为msg id(hex),则目标进制可以是十进制,需要将msg id(hex)中十六进制的can报文转换为十进制的目标can报文。
48.假如映射字段为byte order,则目标进制可以是二进制,对应有:if(motorola)then 0;if(intel)then 1。
49.针对如何基于第一映射关系,将目标can报文映射到目标字段中,具体的,可以包括:利用拆解函数对映射字段中最小字段对应的第一can报文进行拆解,并利用删除函数删除拆解后第一can报文的首部空字符和尾部空字符,得到第一can报文字段;利用拆解函数对映射字段中最大字段对应的第二can报文进行拆解,并利用删除函数删除拆解后第二can报文的首部空字符和尾部空字符,得到第二can报文字段;将第一can报文字段赋值给目标字段中的最小值参数字段,将第二can报文字段赋值给目标字段中的最大值参数字段。
50.举例来讲,可以利用split()函数对映射字段中min()对应的第一can报文进行拆解,并利用trim()函数删除拆解后第一can报文的首部空字符和尾部空字符,得到第一can报文字段。利用split()函数对映射字段中max()对应的第二can报文进行拆解,并利用trim()函数删除拆解后第二can报文的首部空字符和尾部空字符,得到第二can报文字段。接着,将第一can报文字段赋值给目标字段中的最小值参数字段(min_value),将第二can报文字段赋值给目标字段中的最大值参数字段(max_value)。
51.为了防止通信矩阵中存在未建立第一映射关系的映射字段,作为一种可选的实施方式,可以在执行步骤s104之前,检测通信矩阵中的所有映射字段是否全部导入到目标字
段中,若存在未完成映射的映射字段,则重新执行未完成映射的映射字段的转换步骤,直到通信矩阵中的所有映射字段完成转换。
52.另外,还可以检查通信矩阵中映射字段对应can报文的数据字段类型;若某个映射字段的can报文数据类型为无符号数据类型,则将can报文转换为0的目标can报文;若某个映射字段的can报文数据类型为有符号数据类型,则将can报文转换为1的目标can报文。
53.步骤s104:利用通信矩阵中至少一个映射字段转换并映射得到的目标字段,建立can报文数据库,can报文数据库应用于车辆的can解析。
54.具体的,可以利用command命令创建bat文件,并通过运行bat文件创建can协议数据库和设备列表数据库,在can协议数据库和设备列表数据库中导入包括目标can报文的目标字段,得到can报文数据库。
55.在具体实施过程中,可以将var_name、period、can_id、bsend、start_bit、bit_length、offset、bitresolution、unit、max_value、min_value、comment目标字段导入can协议数据库;将device目标字段导入设备列表数据库。
56.作为一种可选的实施方式,还可以将目标字段中的设备字段(device)与多个目标can报文建立第二映射关系,并将第二映射关系进行保存。
57.具体的,一个device目标字段可以包含多个can报文,一个can报文的多个信号分属于can协议数据库,第二映射关系可以由can报文数据库保存。
58.当下人们对纯电动汽车电子控制设备的功能需求越来越高,而这些电子控制设备都是通过整车控制器统一控制,整车控制器又遵循can网络通信协议。一个整车控制器的can报文包括上百个,每个can报文包括属性字段20个,如果手工建立数据库,工作量大,工作效率也低下容易出错,并且纠错困难。本发明实施提供的can报文数据库建立方法能够自动建立解析所需的can报文数据库,有效提高了建立数据库的效率,不容易出错,也不存在纠错的步骤。
59.在具体实施过程中,可以借助visual studio c#编程工具,编写能够执行本发明实施例所提供的can报文数据库建立方法的代码,并通过运行代码实现通信矩阵转换为can报文数据库。通信矩阵可以是电子表格格式,例如excel格式。can报文数据库可以是access软件格式的数据库。
60.第二方面,本发明通过本发明的一实施例,提供了一种can报文数据库建立装置,请参见如图2所示,该装置可以包括:
61.通信矩阵创建单元201,用于获取车辆预先建立的通信矩阵中的映射字段,通信矩阵基于车辆的配置建立,通信矩阵包括至少一个映射字段,每个映射字段对应有各自的can报文。
62.字段映射单元202,用于将映射字段与预设的目标字段建立第一映射关系。
63.can报文转换单元203,用于对映射字段对应的can报文进行进制转换,得到目标can报文,并基于第一映射关系,将目标can报文映射到目标字段中。
64.数据库创建单元204,用于利用通信矩阵中至少一个映射字段转换并映射得到的目标字段,建立can报文数据库,can报文数据库应用于车辆的can解析。
65.作为一种可选的实施方式,通信矩阵建立单元201,具体用于:采集车辆的零部件、电子电器线束、电子电器网络架构以及整车控制器之间的通信信号建立通信矩阵。
66.作为一种可选的实施方式,can报文转换单元203,包括:
67.进制转换子单元,用于根据映射字段确定目标进制,目标进制为十进制或二进制;将映射字段对应的can报文的进制转换为目标进制,以得到目标can报文;
68.赋值子单元,用于利用拆解函数对映射字段中最小字段对应的第一can报文进行拆解,并利用删除函数删除拆解后第一can报文的首部空字符和尾部空字符,得到第一can报文字段;利用拆解函数对映射字段中最大字段对应的第二can报文进行拆解,并利用删除函数删除拆解后第二can报文的首部空字符和尾部空字符,得到第二can报文字段;将第一can报文字段赋值给目标字段中的最小值参数字段,将第二can报文字段赋值给目标字段中的最大值参数字段。
69.作为一种可选的实施方式,字段映射单元202,还可以用于:将目标字段中的设备字段与多个目标can报文建立第二映射关系,并将第二映射关系进行保存。
70.作为一种可选的实施方式,数据库创建单元204,具体用于:
71.利用command命令创建bat文件;通过运行bat文件创建can协议数据库和设备列表数据库;在can协议数据库和设备列表数据库中导入包括目标can报文的目标字段,得到can报文数据库。
72.由于本实施例所介绍的can报文数据库建立装置,为实施本发明实施例中can报文数据库建立方法所采用的电子设备,故而基于本发明实施例中所介绍的can报文数据库建立方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本发明实施例中的方法不再详细介绍。只要本领域所属技术人员实施本发明实施例中can报文数据库建立方法所采用的电子设备,都属于本发明所欲保护的范围。
73.第三方面,基于同一发明构思,本发明实施例提供了一种车载电子设备,参考图3所示,本发明实施例提供的车载电子设备,包括:存储器301、处理器302及存储在存储器上并可在处理器302上运行的代码,处理器302在执行代码时实现前文can报文数据库建立方法中任一实施方式。
74.其中,在图3中,总线架构(用总线300来代表),总线300可以包括任意数量的互联的总线和桥,总线300将包括由处理器302代表的一个或多个处理器和存储器301代表的存储器的各种电路链接在一起。总线300还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口305在总线300和接收器303和发送器304之间提供接口。接收器303和发送器304可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器302负责管理总线300和通常的处理,而存储器301可以被用于存储处理器302在执行操作时所使用的数据。
75.第四方面,如图4所示,基于同一发明构思,本发明通过本发明的一实施例,提供了一种计算机可读存储介质400,其上存储有计算机程序401,该计算机程序401被处理器执行时实现前文can报文数据库建立方法中的任一实施方式。
76.上述本发明实施例中的技术方案,至少具有如下的技术效果或优点:
77.通过将映射字段与预设的目标字段建立第一映射关系,对映射字段对应的can报文进行进制转换,得到目标can报文。再基于第一映射关系,将目标can报文映射到目标字段
中,利用通信矩阵中至少一个映射字段转换并映射得到的目标字段,建立can报文数据库,can报文数据库能够应用于车辆的can解析,提高了车辆can报文分析的工作效率、减少基于通信矩阵进行can解析的出错机率。
78.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机产品的形式。
79.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机产品的流程图和/或方框图来描述的。应理解可由计算机指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
80.这些计算机指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
81.这些计算机指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
82.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
83.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

技术特征:
1.一种can报文数据库建立方法,其特征在于,包括:获取车辆预先建立的通信矩阵中的映射字段,所述通信矩阵基于所述车辆的配置建立,所述通信矩阵包括至少一个所述映射字段,每个所述映射字段对应有各自的can报文;将所述映射字段与预设的目标字段建立第一映射关系;对所述映射字段对应的can报文进行进制转换,得到目标can报文,并基于所述第一映射关系,将所述目标can报文映射到所述目标字段中;利用所述通信矩阵中至少一个所述映射字段转换并映射得到的目标字段,建立所述can报文数据库,所述can报文数据库应用于车辆的can解析。2.如权利要求1所述的方法,其特征在于,所述通信矩阵基于所述车辆的配置建立,包括:采集所述车辆的零部件、电子电器线束、电子电器网络架构以及整车控制器之间的通信信号建立所述通信矩阵。3.如权利要求1所述的方法,其特征在于,所述对所述映射字段对应的can报文进行进制转换,得到目标can报文,包括:根据所述映射字段确定目标进制,所述目标进制为十进制或二进制;将所述映射字段对应的can报文的进制转换为所述目标进制,以得到所述目标can报文。4.如权利要求1所述的方法,其特征在于,所述基于所述第一映射关系,将所述目标can报文映射到所述目标字段中,包括:利用拆解函数对所述映射字段中最小字段对应的第一can报文进行拆解,并利用删除函数删除拆解后所述第一can报文的首部空字符和尾部空字符,得到第一can报文字段;利用所述拆解函数对所述映射字段中最大字段对应的第二can报文进行拆解,并利用所述删除函数删除拆解后所述第二can报文的首部空字符和尾部空字符,得到第二can报文字段;将所述第一can报文字段赋值给所述目标字段中的最小值参数字段,将所述第二can报文字段赋值给所述目标字段中的最大值参数字段。5.如权利要求1所述的方法,其特征在于,还包括:将所述目标字段中的设备字段与多个目标can报文建立第二映射关系,并将所述第二映射关系进行保存。6.如权利要求1所述的方法,其特征在于,所述利用所述通信矩阵中至少一个所述映射字段转换并映射得到的目标字段,建立所述can报文数据库,包括:利用command命令创建bat文件;通过运行所述bat文件创建can协议数据库和设备列表数据库;在所述can协议数据库和所述设备列表数据库中导入包括所述目标can报文的目标字段,得到所述can报文数据库。7.一种can报文数据库建立装置,其特征在于,包括:通信矩阵创建单元,用于获取车辆预先建立的通信矩阵中的映射字段,所述通信矩阵基于所述车辆的配置建立,所述通信矩阵包括至少一个所述映射字段,每个所述映射字段对应有各自的can报文;
字段映射单元,用于将所述映射字段与预设的目标字段建立第一映射关系;can报文转换单元,用于对所述映射字段对应的can报文进行进制转换,得到目标can报文,并基于所述第一映射关系,将所述目标can报文映射到所述目标字段中;数据库创建单元,用于利用所述通信矩阵中至少一个所述映射字段转换并映射得到的目标字段,建立所述can报文数据库,所述can报文数据库应用于车辆的can解析。8.如权利要求7所述装置,其特征在于,所述字段映射单元,还用于:将所述目标字段中的设备字段与多个目标can报文建立第二映射关系,并将所述第二映射关系进行保存。9.一种车载电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-6中任一所述的方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-6中任一所述的方法。

技术总结
本发明实施例提供了CAN报文数据库建立方法、装置、车载电子设备及存储介质。其中,CAN报文数据库建立方法包括:通过获取车辆预先建立的通信矩阵中的映射字段,并将映射字段与预设的目标字段建立第一映射关系,再对映射字段对应的CAN报文进行进制转换,得到目标CAN报文。基于第一映射关系,将目标CAN报文映射到目标字段中,再利用通信矩阵中至少一个映射字段转换并映射得到的目标字段,建立CAN报文数据库。其中,通信矩阵包括至少一个映射字段,每个映射字段对应有各自的CAN报文,因而CAN报文数据库能够应用于车辆的CAN解析,提高了车辆CAN报文分析的工作效率、减少基于通信矩阵进行CAN解析的出错机率。解析的出错机率。解析的出错机率。


技术研发人员:王秋来 尤今 张泽阳 孙海英 曹更
受保护的技术使用者:东风汽车集团股份有限公司
技术研发日:2022.06.22
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-8471.html

最新回复(0)