CN112714134B - Can报文的解析方法、适配方法、装置、设备及介质 - Google Patents
Can报文的解析方法、适配方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN112714134B CN112714134B CN202110072293.4A CN202110072293A CN112714134B CN 112714134 B CN112714134 B CN 112714134B CN 202110072293 A CN202110072293 A CN 202110072293A CN 112714134 B CN112714134 B CN 112714134B
- Authority
- CN
- China
- Prior art keywords
- message
- signal
- name
- information
- vehicle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation of communication capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Abstract
本申请提供一种CAN报文的解析方法、适配方法、装置、车载设备及存储介质,适配方法包括:获取CAN总线的DBC文件,DBC文件用于描述CAN总线的报文协议;根据预设关键字段,查询DBC文件中的报文名称和信号名称;基于报文名称和信号名称,构建报文协议的信息矩阵,信息矩阵用于解析CAN总线的CAN报文。本发明无需用户手动编写C文件代码或者代码生成工具生成C文件,简化解析文件的获取过程。能够在车载设备内部实现根据DBC文件得到能够解析CAN报文的信息矩阵,从而去除文件编译与烧录的过程,简化CAN报文协议与车载设备的适配过程,进而提高车载设备对CAN报文的处理效率。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种CAN报文的解析方法、适配方法、装置、车载设备及计算机可读存储介质。
背景技术
控制器局域网络(Controller Area Network,CAN)是汽车计算机控制系统和嵌入式工业控制局域网的标准总线,其包含有车速、轮速和转角角度等车身CAN信息。车载设备经常需要用到CAN信息,CAN信息通过数据库CAN(Database CAN,DBC)文件进行描述。当CAN报文通信协议发生变化时,车载设备无法识别CAN信息,导致车载设备功能缺失,因此需要对车载设备固件进行更新。
车载设备在固件开发或固件更新过程中,以DBC文件为基础,对代码进行修改以完成车载设备的CAN报文通信协议更新。具体地,根据DBC文件,手写代码或者自动生成C文件,再对C文件进行编译后烧录到车载设备中,最后利用更新后的车载设备固件处理CAN报文。但是这个过程非常繁琐,需要耗费大量时间,存在处理效率低的问题。
发明内容
本申请实施例的目的在于提供一种CAN报文的解析方法、适配方法、装置、车载设备及计算机可读存储介质,旨在解决车载设备的CAN报文存在处理效率低的问题。
第一方面,本申请实施例提供了一种CAN报文协议的适配方法,应用于车载设备,车载设备与控制器局域网络CAN总线通信连接,适配方法包括:
获取CAN总线的DBC文件,DBC文件用于描述CAN总线的报文协议;
根据预设关键字段,查询DBC文件中的报文名称和信号名称;
基于报文名称和信号名称,构建报文协议的信息矩阵,信息矩阵用于解析CAN总线的CAN报文。
在本实施例中,通过获取CAN总线的DBC文件,以将描述该CAN总线的报文协议的格式文件直接导入到车载设备,使得车载设备能够得到报文协议的解析格式,而无需用户手动编写C文件代码或者代码生成工具生成C文件,简化解析文件的获取过程。由于CAN报文协议规定了一系列描述报文信息的字段,所以根据预设关键字段,查询DBC文件中的报文名称和信号名称,以使车载设备得知解析文件对报文信息和信号信息的描述。基于报文名称和信号名称,构建报文协议的信息矩阵,以在车载设备内部实现根据DBC文件得到能够解析CAN报文的信息矩阵,从而去除文件编译与烧录的过程,简化CAN报文协议与车载设备的适配过程,进而提高车载设备对CAN报文的处理效率。
进一步地,根据预设关键字段,查询DBC文件中的报文名称和信号名称,包括:
以文本方式逐行读取DBC文件,并查询行中是否存在与报文名称对应的预设第一关键字段;
若存在预设第一关键字段,则判定查询到报文名称,并查询行中是否存在与信号名称对应的预设第二关键字段;
若存在预设第二关键字段,则判定查询到信号名称。
在本实施例中,以文本方式逐行读取DBC文件,保证完整读取DBC文件,避免漏读部分信息。通过报文名称对应的第一关键字段和信号名称对应的第二关键字段,查询到报文名称,再查询该报文对应的信号信息,使得报文信息与信号信息相对应。
进一步地,基于报文名称和信号名称,构建报文协议的信息矩阵,包括:
基于查询到的报文名称和信号名称,按照预设格式读取报文名称对应的报文信息和信号名称对应的信号信息;
将报文信息和信号信息填充至预设空白矩阵,得到信息矩阵。
在本实施例中,按照预设格式读取报文信息和信号信息,能够统一信息格式,并保证报文信息和信号信息填充空白矩阵后得到信息矩阵的信息完整。
第二方面,本申请实施例提供了一种CAN报文的解析方法,应用于车载设备,车载设备与控制器局域网络CAN总线通信连接,解析方法包括:
获取CAN总线的CAN报文,CAN报文包含报文名称;
根据报文名称,查询预先建立的信息矩阵中的信号,得到信号信息,信息矩阵为上述第一方面的CAN报文协议的适配方法进行建立得到;
根据信号信息,对CAN报文进行解析,得到CAN报文的CAN信息。
在本实施例中,通过信息矩阵对CAN报文进行解析,从而能够应对车载设备因报文协议更新而导致功能缺失的情况,无需按照目前方法更新报文协议后再对CAN报文进行解析,简化了CAN报文的处理过程,提高CAN报文的处理效率。
进一步地,根据信号信息,对CAN报文进行解析,得到CAN报文的CAN信息,包括:
根据信号信息中的信号位置和位长度,确定CAN报文的信号原始值;
根据信号信息中的信号符号和大小端,对信号原始值进行处理,得到信号处理值;
基于预设计算公式,对信号处理值进行运算,得到CAN信息。
在本实施例中,根据信息矩阵中的信号信息对CAN报文进行解析,以实现车载设备快速获取CAN信息。
进一步地,根据报文名称,查询预先建立的信息矩阵中的信号,得到信号信息之前,还包括:
确定是否成功解析CAN报文;
若解析CAN报文失败,则导入CAN总线的DBC文件,DBC文件用于描述CAN总线的报文协议;
根据DBC文件建立信息矩阵。
在本实施例中,通过确定车载设备当前是否能够解析CAN报文,以应对车载设备因某些情况而导致原代码解析文件无法解析报文的情况。
第三方面,本申请实施例提供了一种CAN报文协议的适配装置,应用于车载设备,车载设备与控制器局域网络CAN总线通信连接,适配装置包括:
第一获取模块,用于获取CAN总线的DBC文件,DBC文件用于描述CAN总线的报文协议;
第一查询模块,用于根据预设关键字段,查询DBC文件中的报文名称和信号名称;
构建模块,用于基于报文名称和信号名称,构建报文协议的信息矩阵,信息矩阵用于解析CAN总线的CAN报文。
第四方面,本申请实施例提供了一种CAN报文的解析装置,应用于车载设备,车载设备与控制器局域网络CAN总线通信连接,解析装置包括:
第二获取模块,用于获取CAN总线的CAN报文,CAN报文包含报文名称;
第二查询模块,用于根据报文名称,查询预先建立的信息矩阵中的信号,得到信号信息,信息矩阵为上述第一方面的CAN报文协议的适配方法进行建立得到;
解析模块,用于根据信号信息,对CAN报文进行解析,得到CAN报文的CAN信息。
第五方面,本申请实施例提供了一种车载设备,包括存储器及处理器,存储器用于存储计算机程序,处理器运行计算机程序以使车载设备执行如第一方面的CAN报文协议的适配方法,或第二方面的CAN报文的解析方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,计算机程序被处理器执行时实现如第一方面的CAN报文协议的适配方法,或第二方面的CAN报文的解析方法。
可以理解的是,第三方面至第六方面的有益效果可以参见上述第一方面或第二方面的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的CAN报文协议的适配方法的流程示意图;
图2为本申请实施例提供的CAN报文的解析方法的流程示意图;
图3为本申请实施例提供的CAN报文协议的适配装置的结构示意图;
图4为本申请实施例提供的CAN报文的解析装置的结构示意图;
图5为本申请实施例提供的车载设备的流程示意图;
图6为本申请实施例提供的信息矩阵的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如背景技术相关记载,当CAN报文通信协议发生变化时,车载设备无法识别CAN信息,导致车载设备功能缺失,因此需要对车载设备固件进行更新。车载设备在固件开发或固件更新过程中,根据DBC文件,手写代码或者自动生成C文件,再对C文件进行编译后烧录到车载设备中,最后利用更新后的车载设备固件处理CAN报文。但是这个过程非常繁琐,需要耗费大量时间,存在处理效率低的问题。
针对上述现有技术中的问题,本申请提供了一种CAN报文协议的适配方法,通过获取CAN总线的DBC文件,以将描述该CAN总线的报文协议的格式文件直接导入到车载设备,使得车载设备能够得到报文协议的解析格式,而无需用户手动编写C文件代码或者代码生成工具生成C文件,简化解析文件的获取过程。由于CAN报文协议规定了一系列描述报文信息的字段,所以根据预设关键字段,查询DBC文件中的报文名称和信号名称,以使车载设备得知解析文件对报文信息和信号信息的描述。基于报文名称和信号名称,构建报文协议的信息矩阵,以在车载设备内部实现根据DBC文件得到能够解析CAN报文的信息矩阵,从而去除文件编译与烧录的过程,简化CAN报文协议与车载设备的适配过程,进而提高车载设备对CAN报文的处理效率。
参见图1,图1示出了本申请实施例提供的一种CAN报文协议的适配方法的实现流程图。本申请实施例中下述的CAN报文协议的适配方法可应用于车载设备,车载设备包括但不限于车载电脑、车载音响、车载充电器等设备,车载设备与控制器局域网络CAN总线通信连接。本申请实施例的CAN报文协议的适配方法,包括步骤S101至S103,详述如下:
步骤S101,获取CAN总线的DBC文件,DBC文件用于描述CAN总线的报文协议。
在本实施例中,CAN总线为汽车上计算机控制系统和嵌入式工业控制局域网的标准总线,DBC是汽车ECU间进行CAN通讯的报文内容,其是一种文件格式,.dbc文件是一个ASCII格式的文件,其.dbc扩展名可用于定义CAN网络。DBC由一系列的报文Message和信号Signal组成,DBC文件定义了Message和Signal的属性,从而描述CAN报文内容。
本实施例通过获取CAN总线的DBC文件,以将描述该CAN总线的报文协议的格式文件直接导入到车载设备,使得车载设备能够得到报文协议的解析格式,而无需用户手动编写C文件代码或者代码生成工具生成C文件,简化解析文件的获取过程。
步骤S102,根据预设关键字段,查询DBC文件中的报文名称和信号名称。
在本实施例中,预设关键字段为DBC文件的重要字段,例如报文名称的关键字段为BO_,信号名称的关键字段为SG_。示例性地,关键字段BO_是对Message的定义,其格式为:BO_ID Name:DLC Transmiter,例如BO_100ESP_01:8ESP,其中发送方=ESP,帧名称=ESP_01,帧ID=0x64,报文长度=8个字节。SG_是对Signal的定义,其格式为:SG_Name:StartBit|Length@ByteOrderSignedFlag(Factor,Offset)[Minimum|Maximum]"Unit"Receiver1,Receiver2,例如SG_VehSpd:7|16@0+(0.01,0)[0|655.35]"km/h"ECM.TCM,其中信号名称=VehSpd,起始地址=7,长度=16,字节顺序=MSB(大端),符号位=无符号,系数=0.01,偏移=0,最小值=0,最大值=655.35,单位=km/h,接收方=ECM和TCM。VAL_是对Signal枚举值的定义,其格式为:VAL_ID Name key1"value1"key2"value2",例如VAL_100VehSpdValid1"Valid"0"Invalid",其中帧ID=0x64,信号名称=VehSpdValid,枚举值(0x0=Invalid,0x1=Valid)。
在一实施例中,根据预设关键字段,查询DBC文件中的报文名称和信号名称,包括:以文本方式逐行读取DBC文件,并查询行中是否存在与报文名称对应的预设第一关键字段;若存在预设第一关键字段,则判定查询到报文名称,并查询行中是否存在与信号名称对应的预设第二关键字段;若存在预设第二关键字段,则判定查询到信号名称。
在本实施例中,预设第一关键字段为上述BO_,预设第二关键字段为上述SG_。以文本方式逐行读取DBC文件,保证完整读取DBC文件,避免漏读部分信息。通过报文名称对应的第一关键字段和信号名称对应的第二关键字段,查询到报文名称,再查询该报文对应的信号信息,使得报文信息与信号信息相对应。
步骤S103,基于报文名称和信号名称,构建报文协议的信息矩阵,信息矩阵用于解析CAN总线的CAN报文。
在本实施例中,信息矩阵为记录CAN报文协议的格式信息的矩阵表或矩阵图。基于报文名称可以获得DBC文件中报文名称的报文格式,例如查询到报文名称BO_后,可以得到其报文格式BO_ID Name:DLC Transmiter。同理,基于信号名称可以获取DBC文件中信号名称的信号格式。再报文格式中的报文信息和信号格式中的信号信息,构建报文协议的信息矩阵,以在车载设备内部实现根据DBC文件得到能够解析CAN报文的信息矩阵,从而去除文件编译与烧录的过程,简化CAN报文协议与车载设备的适配过程,进而提高车载设备对CAN报文的处理效率。
在一实施例中,基于报文名称和信号名称,构建报文协议的信息矩阵,包括:基于查询到的报文名称和信号名称,按照预设格式读取报文名称对应的报文信息和信号名称对应的信号信息;将报文信息和信号信息填充至预设空白矩阵,得到信息矩阵。
在本实施例中,预设格式为信息读取方式。示例性地,基于报文名称得到报文格式BO_100ESP_01:8ESP,则可以信息需求依次读取信息,如信息需求为发送方、帧名称、帧ID、报文长度,所以可以读取到报文信息发送方=ESP,帧名称=ESP_01,帧ID=0x64,报文长度=8个字节。可以理解,信号信息的读取方式类似于报文信息的读取方式,在此不再赘述。
可选地,信息矩阵如图6所示,其包括但不限于元素、报文名称、信号名称、信号位置、位长度、符号、大小段、系数、偏移量、最大值、最小值和单位等信息,其中元素可以是车速、转角角度等。
本实施例按照预设格式读取报文信息和信号信息,能够统一信息格式,并保证报文信息和信号信息填充空白矩阵后得到信息矩阵的信息完整。
参见图2,图2示出了本申请实施例提供的一种CAN报文的解析方法的实现流程图。本申请实施例的CAN报文的解析方法,应用于车载设备,车载设备与控制器局域网络CAN总线通信连接,解析方法包括步骤S201至S203,详述如下:
步骤S201,获取CAN总线的CAN报文,CAN报文包含报文名称。
在本实施例中,CAN报文为车载设备通过CAN协议传输的CAN报文,其含有具有实际意义的车速、转角角度等信息。
步骤S202,根据报文名称,查询预先建立的信息矩阵中的信号,得到信号信息,信息矩阵为上述CAN报文协议的适配方法进行建立得到。
在本实施例中,可以查询图6所示的信息矩阵的示意图,从而得到信号信息,如位置、位长度、符号和大小段等。
步骤S203,根据信号信息,对CAN报文进行解析,得到CAN报文的CAN信息。
在本实施例中,通过信息矩阵对CAN报文进行解析,从而能够应对车载设备因报文协议更新而导致功能缺失的情况,无需按照目前方法更新报文协议后再对CAN报文进行解析,简化了CAN报文的处理过程,提高CAN报文的处理效率。
可选地,根据信号信息,对CAN报文进行解析,得到CAN报文的CAN信息,包括:根据信号信息中的信号位置和位长度,确定CAN报文的信号原始值;根据信号信息中的信号符号和大小端,对信号原始值进行处理,得到信号处理值;基于预设计算公式,对信号处理值进行运算,得到CAN信息。
在本实施例中,信号位置为CAN报文信号所处的位置,位长度为CAN报文信号在该位置的长度,符号表示信号的数值类型,+表示无符号数,-表示有符号数。预设计算公式可以为CAN信息=处理值×系数-偏移量。根据信息矩阵中的信号信息对CAN报文进行解析,以实现车载设备快速获取CAN信息。
在一实施例中,根据报文名称,查询预先建立的信息矩阵中的信号,得到信号信息之前,还包括:确定是否成功解析CAN报文;若解析CAN报文失败,则导入CAN总线的DBC文件,DBC文件用于描述CAN总线的报文协议;根据DBC文件建立信息矩阵。
在本实施例中,例如在车载设备更新报文协议时、开发新的车载设备硬件时,车载设备出现原代码解析文件无法解析报文的情况,则可以根据DBC文件建立信息矩阵,以快速适配车载设备和CAN报文协议,从而在部分情况下实现快速处理CAN报文。
为了执行上述方法实施例对应的方法,以实现相应的功能和技术效果,下面提供一种CAN报文协议的适配装置。参见图3,图3是本申请实施例提供的一种CAN报文协议的适配装置的结构框图。本实施例中该装置包括的各模块用于执行图1对应的实施例中的各步骤,具体参见图1以及图1所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分,本申请实施例提供的CAN报文协议的适配装置,包括:
第一获取模块301,用于获取CAN总线的DBC文件,DBC文件用于描述CAN总线的报文协议;
第一查询模块302,用于根据预设关键字段,查询DBC文件中的报文名称和信号名称;
构建模块303,用于基于报文名称和信号名称,构建报文协议的信息矩阵,信息矩阵用于解析CAN总线的CAN报文。
在一实施例中,第一查询模块302,包括:
第一查询单元,用于以文本方式逐行读取DBC文件,并查询行中是否存在与报文名称对应的预设第一关键字段;
第二查询单元,用于若存在预设第一关键字段,则判定查询到报文名称,并查询行中是否存在与信号名称对应的预设第二关键字段;
判定单元,用于若存在预设第二关键字段,则判定查询到信号名称。
在一实施例中,构建模块303,包括:
读取单元,用于基于查询到的报文名称和信号名称,按照预设格式读取报文名称对应的报文信息和信号名称对应的信号信息;
填充单元,用于将报文信息和信号信息填充至预设空白矩阵,得到信息矩阵。
为了执行上述方法实施例对应的方法,以实现相应的功能和技术效果,下面提供一种CAN报文的解析装置。参见图4,图4是本申请实施例提供的一种CAN报文的解析装置的结构框图。本实施例中该装置包括的各模块用于执行图2对应的实施例中的各步骤,具体参见图2所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分,本申请实施例提供的CAN报文的解析装置,包括:
第二获取模块401,用于获取CAN总线的CAN报文,CAN报文包含报文名称;
第二查询模块402,用于根据报文名称,查询预先建立的信息矩阵中的信号,得到信号信息,信息矩阵为上述CAN报文协议的适配方法进行建立得到;
解析模块403,用于根据信号信息,对CAN报文进行解析,得到CAN报文的CAN信息。
在一实施例中,解析模块403,包括:
确定单元,用于根据信号信息中的信号位置和位长度,确定CAN报文的信号原始值;
处理单元,用于根据信号信息中的信号符号和大小端,对信号原始值进行处理,得到信号处理值;
运算单元,用于基于预设计算公式,对信号处理值进行运算,得到CAN信息。
在一实施例中,CAN报文的解析装置还包括:
确定模块,用于确定是否成功解析CAN报文;
导入模块,用于若解析CAN报文失败,则导入CAN总线的DBC文件,DBC文件用于描述CAN总线的报文协议;
建立模块,用于根据DBC文件建立信息矩阵。
图5为本申请一实施例提供的车载设备的结构示意图。如图5所示,该实施例的车载设备5包括:至少一个处理器50(图5中仅示出一个)处理器、存储器51以及存储在所述存储器51中并可在所述至少一个处理器50上运行的计算机程序52,所述处理器50执行所述计算机程序52时实现上述任意方法实施例中的步骤。
所述车载设备5可以是车载电脑、车载智能音响、车载充电器、智能后视镜、行车记录仪等计算设备。该车载设备可包括但不仅限于处理器50、存储器51。本领域技术人员可以理解,图5仅仅是车载设备5的举例,并不构成对车载设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器50可以是中央处理单元(Central Processing Unit,CPU),该处理器50还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51在一些实施例中可以是所述车载设备5的内部存储单元,例如车载设备5的硬盘或内存。所述存储器51在另一些实施例中也可以是所述车载设备5的外部存储设备,例如所述车载设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述车载设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
另外,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述任意方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在车载设备上运行时,使得车载设备执行时实现可实现上述各个方法实施例中的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种CAN报文协议的适配方法,其特征在于,应用于车载设备,所述车载设备与控制器局域网络CAN总线通信连接,所述适配方法包括:
获取所述CAN总线的DBC文件,所述DBC文件用于描述所述CAN总线的报文协议;
根据预设关键字段,查询所述DBC文件中的报文名称和信号名称;
基于所述报文名称和所述信号名称,构建所述报文协议的信息矩阵,所述信息矩阵用于解析所述CAN总线的CAN报文;
以及,所述信息矩阵包括元素、报文名称、信号名称、信号位置、位长度、符号、大小端、系数、偏移量、最大值、最小值和单位,其中,元素是车速、转角角度。
2.根据权利要求1所述的CAN报文协议的适配方法,其特征在于,所述根据预设关键字段,查询所述DBC文件中的报文名称和信号名称,包括:
以文本方式逐行读取所述DBC文件,并查询行中是否存在与所述报文名称对应的预设第一关键字段;
若存在所述预设第一关键字段,则判定查询到所述报文名称,并查询所述行中是否存在与信号名称对应的预设第二关键字段;
若存在所述预设第二关键字段,则判定查询到所述信号名称。
3.根据权利要求1所述的CAN报文协议的适配方法,其特征在于,所述基于所述报文名称和所述信号名称,构建所述报文协议的信息矩阵,包括:
基于查询到的所述报文名称和所述信号名称,按照预设格式读取所述报文名称对应的报文信息和所述信号名称对应的信号信息;
将所述报文信息和所述信号信息填充至预设空白矩阵,得到所述信息矩阵。
4.一种CAN报文的解析方法,其特征在于,应用于车载设备,所述车载设备与控制器局域网络CAN总线通信连接,所述解析方法包括:
获取所述CAN总线的CAN报文,所述CAN报文包含报文名称;
根据所述报文名称,查询预先建立的信息矩阵中的信号,得到信号信息,所述信息矩阵为上述权利要求1的CAN报文协议的适配方法进行建立得到;
根据所述信号信息,对所述CAN报文进行解析,得到所述CAN报文的CAN信息。
5.根据权利要求4所述的CAN报文的解析方法,其特征在于,所述根据所述信号信息,对所述CAN报文进行解析,得到所述CAN报文的CAN信息,包括:
根据所述信号信息中的信号位置和位长度,确定所述CAN报文的信号原始值;
根据所述信号信息中的符号和大小端,对所述信号原始值进行处理,得到信号处理值;
基于预设计算公式,对所述信号处理值进行运算,得到所述CAN信息。
6.根据权利要求4所述的CAN报文的解析方法,其特征在于,所述根据所述报文名称,查询预先建立的信息矩阵中的信号,得到信号信息之前,还包括:
确定是否成功解析所述CAN报文;
若解析所述CAN报文失败,则导入所述CAN总线的DBC文件,所述DBC文件用于描述所述CAN总线的报文协议;
根据所述DBC文件建立所述信息矩阵。
7.一种CAN报文协议的适配装置,其特征在于,应用于车载设备,所述车载设备与控制器局域网络CAN总线通信连接,所述适配装置包括:
第一获取模块,用于获取所述CAN总线的DBC文件,所述DBC文件用于描述所述CAN总线的报文协议;
第一查询模块,用于根据预设关键字段,查询所述DBC文件中的报文名称和信号名称;
构建模块,用于基于所述报文名称和所述信号名称,构建所述报文协议的信息矩阵,所述信息矩阵用于解析所述CAN总线的CAN报文,以及,所述信息矩阵包括元素、报文名称、信号名称、信号位置、位长度、符号、大小端、系数、偏移量、最大值、最小值和单位,其中,元素是车速、转角角度。
8.一种CAN报文的解析装置,其特征在于,应用于车载设备,所述车载设备与控制器局域网络CAN总线通信连接,所述解析装置包括:
第二获取模块,用于获取所述CAN总线的CAN报文,所述CAN报文包含报文名称;
第二查询模块,用于根据所述报文名称,查询预先建立的信息矩阵中的信号,得到信号信息,所述信息矩阵为上述权利要求1的CAN报文协议的适配方法进行建立得到;
解析模块,用于根据所述信号信息,对所述CAN报文进行解析,得到所述CAN报文的CAN信息。
9.一种车载设备,其特征在于,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述车载设备执行如权利要求1至3中任一项所述的CAN报文协议的适配方法,或权利要求4至6中任一项所述的CAN报文的解析方法。
10.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3中任一项所述的CAN报文协议的适配方法,或权利要求4至6中任一项所述的CAN报文的解析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110072293.4A CN112714134B (zh) | 2021-01-19 | 2021-01-19 | Can报文的解析方法、适配方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110072293.4A CN112714134B (zh) | 2021-01-19 | 2021-01-19 | Can报文的解析方法、适配方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112714134A CN112714134A (zh) | 2021-04-27 |
CN112714134B true CN112714134B (zh) | 2023-09-26 |
Family
ID=75549522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110072293.4A Active CN112714134B (zh) | 2021-01-19 | 2021-01-19 | Can报文的解析方法、适配方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112714134B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113467417B (zh) * | 2021-06-28 | 2023-03-10 | 东风汽车集团股份有限公司 | 一种整车试验控制方法、装置、设备及可读存储介质 |
CN113726624A (zh) * | 2021-07-12 | 2021-11-30 | 深圳市有为信息技术发展有限公司 | Tbox装置采集can信号的方法和装置 |
CN113645287B (zh) * | 2021-07-29 | 2022-09-20 | 腾讯科技(深圳)有限公司 | 汽车报文存储方法及装置、汽车报文存储系统 |
CN113776707A (zh) * | 2021-09-14 | 2021-12-10 | 合众新能源汽车有限公司 | 车辆功率测试方法、系统和计算机可读介质 |
CN114064041B (zh) * | 2021-11-18 | 2022-08-02 | 宁波波导易联电子有限公司 | 通过Android系统将控车矩阵文件生成控车代码的方法及系统 |
CN114390119A (zh) * | 2021-12-28 | 2022-04-22 | 杭州鸿泉物联网技术股份有限公司 | 自适应多车型can数据自动解析方法及系统 |
CN114422627B (zh) * | 2022-01-31 | 2023-06-27 | 重庆长安汽车股份有限公司 | 基于CANoe动态链接库的BLF数据读写与CAN报文转译方法 |
CN115102826B (zh) * | 2022-06-17 | 2023-05-16 | 华侨大学 | 电动工程机械和上位机以及整车控制器的通信系统和方法 |
CN114979314B (zh) * | 2022-06-30 | 2023-04-25 | 重庆长安新能源汽车科技有限公司 | 一种汽车can数据自动解析方法及系统、计算机可读存储介质、电子设备 |
CN115914283B (zh) * | 2022-11-01 | 2024-04-09 | 东风柳州汽车有限公司 | 一种轴蹄温信息发送方法、装置、终端设备以及存储介质 |
CN115495133B (zh) * | 2022-11-17 | 2023-03-21 | 达芬骑动力科技(北京)有限公司 | Dbc动态自适应更新方法、装置、电子设备及存储介质 |
CN117201304A (zh) * | 2023-08-30 | 2023-12-08 | 赛力斯汽车有限公司 | 一种通讯矩阵的更新方法、装置、计算机设备和介质 |
CN117176507B (zh) * | 2023-11-02 | 2024-02-23 | 上海鉴智其迹科技有限公司 | 数据分析方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105703990A (zh) * | 2014-11-28 | 2016-06-22 | 联创汽车电子有限公司 | 车载控制器can通信报文解析方法和构建方法 |
CN106950864A (zh) * | 2017-04-11 | 2017-07-14 | 重庆长安汽车股份有限公司 | 一种整车控制器的can通信程序生成方法及装置 |
CN108345288A (zh) * | 2017-01-23 | 2018-07-31 | 长城汽车股份有限公司 | Can信号接口软件的自动生成方法、系统及车辆 |
CN108471401A (zh) * | 2018-02-07 | 2018-08-31 | 山东省科学院自动化研究所 | 一种can信号封装、解析方法及装置 |
CN108600192A (zh) * | 2018-04-03 | 2018-09-28 | 南京越博动力系统股份有限公司 | 一种基于正则表达式的dbc文件解析及报文分析方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11269807B2 (en) * | 2018-02-22 | 2022-03-08 | Ford Motor Company | Method and system for deconstructing and searching binary based vehicular data |
-
2021
- 2021-01-19 CN CN202110072293.4A patent/CN112714134B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105703990A (zh) * | 2014-11-28 | 2016-06-22 | 联创汽车电子有限公司 | 车载控制器can通信报文解析方法和构建方法 |
CN108345288A (zh) * | 2017-01-23 | 2018-07-31 | 长城汽车股份有限公司 | Can信号接口软件的自动生成方法、系统及车辆 |
CN106950864A (zh) * | 2017-04-11 | 2017-07-14 | 重庆长安汽车股份有限公司 | 一种整车控制器的can通信程序生成方法及装置 |
CN108471401A (zh) * | 2018-02-07 | 2018-08-31 | 山东省科学院自动化研究所 | 一种can信号封装、解析方法及装置 |
CN108600192A (zh) * | 2018-04-03 | 2018-09-28 | 南京越博动力系统股份有限公司 | 一种基于正则表达式的dbc文件解析及报文分析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112714134A (zh) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112714134B (zh) | Can报文的解析方法、适配方法、装置、设备及介质 | |
CN112104664B (zh) | 物联网数据的协议转换方法、装置及设备 | |
CN112363984B (zh) | 一种车内安全规则文件生成方法以及装置 | |
CN110390082B (zh) | 一种通信矩阵对比方法及系统 | |
US11288054B2 (en) | Vehicular communication system | |
CN113364732B (zh) | 一种车载终端通讯协议解析方法及装置 | |
CN109165209B (zh) | 数据库中对象类型的数据校验方法、装置、设备及介质 | |
CN112347047A (zh) | 一种车辆数据文件生成方法及装置 | |
CN114090671A (zh) | 数据导入方法、装置、电子设备及存储介质 | |
CN115190188A (zh) | Can报文解析方法、装置、计算机存储介质及电子设备 | |
CN112861501A (zh) | 报表的生成方法、装置、电子设备及计算机可读存储介质 | |
CN112445160B (zh) | 一种ecu配置码的自动生成方法及装置 | |
CN111694990A (zh) | 车辆数据的处理方法、装置及存储介质 | |
CN115967604A (zh) | 报文传输方法、装置、电子设备及计算机可读存储介质 | |
CN114329090A (zh) | 路径寻参的方法、装置、电子设备及存储介质 | |
CN115774837A (zh) | 一种信号校验方法、装置、设备、介质、程序产品及车辆 | |
CN114580033A (zh) | 一种车载设备标识生成方法、装置及电子设备 | |
CN114756585A (zh) | 车辆数据获取方法、装置、电子设备及存储介质 | |
CN112445816B (zh) | 车辆诊断数据引用方法、装置、终端设备及存储介质 | |
CN114218256A (zh) | 访问语句处理方法、装置、设备及存储介质 | |
CN111538651A (zh) | 接口测试方法、装置、服务器及存储介质 | |
CN112104766B (zh) | 诊断协议重构方法、装置、终端设备及存储介质 | |
US11935334B2 (en) | Center, update management method, and non-transitory storage medium | |
CN112445797B (zh) | 车辆诊断数据引用方法、装置、终端设备及存储介质 | |
CN113641335B (zh) | 机器语言自动生成方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |