CN109889482B - 一种车辆协议解析方法及系统 - Google Patents

一种车辆协议解析方法及系统 Download PDF

Info

Publication number
CN109889482B
CN109889482B CN201811608542.1A CN201811608542A CN109889482B CN 109889482 B CN109889482 B CN 109889482B CN 201811608542 A CN201811608542 A CN 201811608542A CN 109889482 B CN109889482 B CN 109889482B
Authority
CN
China
Prior art keywords
data item
protocol
analysis
data
descriptor
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
Application number
CN201811608542.1A
Other languages
English (en)
Other versions
CN109889482A (zh
Inventor
陈奕昆
龙超华
刘鹏
王崇文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bitnei Co ltd
Beijing Institute of Technology BIT
Original Assignee
Bitnei Co ltd
Beijing Institute of Technology BIT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bitnei Co ltd, Beijing Institute of Technology BIT filed Critical Bitnei Co ltd
Priority to CN201811608542.1A priority Critical patent/CN109889482B/zh
Publication of CN109889482A publication Critical patent/CN109889482A/zh
Application granted granted Critical
Publication of CN109889482B publication Critical patent/CN109889482B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明公开了一种车辆协议解析方法及系统。所述解析方法包括:确定DBC文件中每个数据项的协议数据项描述词;建立车载终端所需数据项的结构体数组;根据所述协议数据项描述词确定结构体数组中每个所需数据项的所需数据项描述词;获得每个所需数据项的解析方式,得到解析协议;判断所述解析协议中每个数据项的ID与所述结构体数组中与所述数据项具有相同数据项序号的所需数据项的ID是否相同,得到第一判断结果;若所述第一判断结果表示相同,则根据所述解析协议对CAN总线数据进行解析。本发明将对车载终端的修改,转移到根据车载终端确定对应的解析协议(DBC),实现了车载终端版本的统一,而且简化了开发流程、缩减了开发周期。

Description

一种车辆协议解析方法及系统
技术领域
本发明涉及汽车领域,特别涉及一种车辆协议解析方法及系统。
背景技术
车载终端匹配车辆时的一项重要工作就是要遵循车辆协议完成车辆上报数据的解析。
不同车辆如果协议不同,就需要对车载终端中软件协议解析部分进行修改,导致出现同一型号车载终端多个版本现象。也导致了开发工作重复,人力使用成本提升,后期维护困难。
发明内容
本发明的目的是提供一种车辆协议解析方法及系统,以避免同一型号车辆的车载终端有多个版本现象。
为实现上述目的,本发明提供了如下方案:
一种车辆协议解析方法,所述解析方法包括如下步骤:
确定DBC文件中每个数据项的协议数据项描述词;
建立车载终端所需数据项的结构体数组;所述结构体数组的所需数据项包括数据项序号、CAN帧ID、起始位,数据长度,数据格式,是否有符号数据,精度,偏移量,最小值和最大值;
根据所述协议数据项描述词确定结构体数组中每个所需数据项的所需数据项描述词;
获取所述DBC文件中协议数据项描述词与第i个所需数据项的所需数据项描述词相同的数据项,利用第i个所需数据项的数据项序号对所述相同的数据项进行编号,得到第i个所需数据项的解析方式,令i=1,2,……I,获得每个所需数据项的解析方式,得到解析协议,其中,I为结构体数组中所需数据项的个数;
判断所述解析协议中每个数据项的ID与所述结构体数组中与所述数据项具有相同数据项序号的所需数据项的ID是否相同,得到第一判断结果;
若所述第一判断结果表示相同,则根据所述解析协议对CAN总线数据进行解析;
若所述第一判断结果表示不相同,则返回步骤“获取所述DBC文件中协议数据项描述词与第i个所需数据项描述词相同的数据项,利用第i个所需数据项的数据项序号对所述相同的数据项进行编号,得到第i个所需数据项的解析方式,令i=1,2,……I,获得每个所需数据项的解析方式,得到解析协议,其中,I为结构体数组中所需数据项的个数”。
可选的,所述建立车载终端所需数据项的结构体数组,具体包括:
建立车载终端所需数据项的数据项序号;
基于所述数据项序号建立车载终端所需数据项的结构体数组。
可选的,所述获取所述DBC文件中协议数据项描述词与第i个所需数据项的所需数据项描述词相同的数据项,利用第i个所需数据项的数据项序号对所述相同的数据项进行编号,得到第i个所需数据项的解析方式,具体包括:
获取所述DBC文件中包含“BO_”关键字的数据项,得到第一解析协议;
获取所述第一解析协议中的第j个数据项的协议数据项描述词;
判断第i个所需数据项的所需数据项描述词是否与所述第一解析协议中第j个数据项的协议数据项描述词是否相同,得到第二判断结果;
若所述第二判断结果表示相同,则利用第i个所需数据项的数据项序号对第j个数据项进行编号,得到第i个所需数据项的解析方式;
若所述第二判断结果表示不相同,则令j的数值增加1,返回步骤“获取所述第一解析协议中的第j个数据项的协议数据项描述词”。
可选的,所述根据所述解析协议对CAN总线数据进行解析,具体包括:
根据所述解析协议对所述CAN总线中的数据进行解析,得到解析后的数据;
根据所述解析后的数据对应的解析协议中数据项的数据项序号,将所述解析后的数据赋值到所述结构体数组中具有相同数据项序号的所需数据项中。
一种车辆协议解析系统,所述解析系统包括:
协议数据项描述词确定模块,用于确定DBC文件中每个数据项的协议数据项描述词;
结构体数组建立模块,用于建立车载终端所需数据项的结构体数组;所述结构体数组的所需数据项包括数据项序号、CAN帧ID、起始位,数据长度,数据格式,是否有符号数据,精度,偏移量,最小值和最大值;
所需数据项描述词确定模块,用于根据所述协议数据项描述词确定结构体数组中每个所需数据项的所需数据项描述词;
解析协议获取模块,用于获取所述DBC文件中协议数据项描述词与第i个所需数据项的所需数据项描述词相同的数据项,利用第i个所需数据项的数据项序号对所述相同的数据项进行编号,得到第i个所需数据项的解析方式,令i=1,2,……I,获得每个所需数据项的解析方式,得到解析协议,其中,I为结构体数组中所需数据项的个数;
第一判断模块,用于判断所述解析协议中每个数据项的ID与所述结构体数组中与所述数据项具有相同数据项序号的所需数据项的ID是否相同,得到第一判断结果;
第一判断结果处理模块,用于若所述第一判断结果表示相同,则根据所述解析协议对CAN总线数据进行解析;若所述第一判断结果表示不相同,则调用解析协议获取模块,执行步骤“获取所述DBC文件中协议数据项描述词与第i个所需数据项描述词相同的数据项,利用第i个所需数据项的数据项序号对所述相同的数据项进行编号,得到第i个所需数据项的解析方式,令i=1,2,……I,获得每个所需数据项的解析方式,得到解析协议,其中,I为结构体数组中所需数据项的个数”。
可选的,所述结构体数组建立模块,具体包括:
数据项序号建立子模块,用于建立车载终端所需数据项的数据项序号;
结构体数组建立子模块,用于基于所述数据项序号建立车载终端所需数据项的结构体数组。
可选的,所述解析协议获取模块,具体包括:
第一解析协议获取子模块,用于获取所述DBC文件中包含“BO_”关键字的数据项,得到第一解析协议;
描述词获取子模块,用于获取所述第一解析协议中的第j个数据项的协议数据项描述词;
第二判断子模块,用于判断第i个所需数据项的所需数据项描述词是否与所述第一解析协议中第j个数据项的协议数据项描述词是否相同,得到第二判断结果;
第二判断结果处理子模块,用于若所述第二判断结果表示相同,则利用第i个所需数据项的数据项序号对第j个数据项进行编号,得到第i个所需数据项的解析方式;若所述第二判断结果表示不相同,则令j的数值增加1,调用描述词获取子模块,执行步骤“获取所述第一解析协议中的第j个数据项的协议数据项描述词”。
可选的,所述第一判断结果处理模块,具体包括:
解析子模块,用于根据所述解析协议对所述CAN总线中的数据进行解析,得到解析后的数据;
映射子模块,用于根据所述解析后的数据对应的解析协议中数据项的数据项序号,将所述解析后的数据赋值到所述结构体数组中具有相同数据项序号的所需数据项中。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明公开了一种车辆协议解析方法及系统。所述车辆协议解析方法通过统一确定DBC文件中每个数据项的协议数据项描述词,车载终端仅需建立所需数据项的结构体数组,并对每个所需数据项采用数据项序号进行编号,建立对应机制,采用采用所需数据项的所需数据项描述词与协议数据项描述词的对应关系确定每个所需数据项的解析方式,并根据数据项进行解析方式的对应,得到车载终端的所需数据项的结构体对应的解析协议,即,根据每个车辆的结构体数组建立对应的解析协议,实现车辆上报数据的解析。本发明将对车载终端的修改,转移到根据车载终端确定对应的解析协议(DBC),即,从车载终端软件的修改转移到DBC文件的修改,实现了车载终端版本的统一,而且简化了开发流程、缩减了开发周期。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种车辆协议解析方法的结构图;
图2为本发明提供的一种车辆协议解析系统的结构图。
具体实施方式
本发明的目的是提供一种车辆协议解析方法及系统,以避免同一型号车辆的车载终端有多个版本现象。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对发明作进一步详细的说明。
实施例1
本发明实施例1提供了一种车辆协议解析方法。
如图1所示,所述解析方法包括如下步骤:
步骤101,确定DBC文件中每个数据项的协议数据项描述词;
步骤102,建立车载终端所需数据项的结构体数组;所述结构体数组的所需数据项包括数据项序号、CAN帧ID、起始位,数据长度,数据格式,是否有符号数据,精度,偏移量,最小值和最大值;
步骤103,根据所述协议数据项描述词确定结构体数组中每个所需数据项的所需数据项描述词;
步骤104,获取所述DBC文件中协议数据项描述词与第i个所需数据项的所需数据项描述词相同的数据项,利用第i个所需数据项的数据项序号对所述相同的数据项进行编号,得到第i个所需数据项的解析方式,令i=1,2,……I,获得每个所需数据项的解析方式,得到解析协议,其中,I为结构体数组中所需数据项的个数;
步骤105,判断所述解析协议中每个数据项的ID与所述结构体数组中与所述数据项具有相同数据项序号的所需数据项的ID是否相同,得到第一判断结果;
步骤106,若所述第一判断结果表示相同,则根据所述解析协议对CAN总线数据进行解析;
步骤107,若所述第一判断结果表示不相同,则返回步骤“获取所述DBC文件中协议数据项描述词与第i个所需数据项描述词相同的数据项,利用第i个所需数据项的数据项序号对所述相同的数据项进行编号,得到第i个所需数据项的解析方式,令i=1,2,……I,获得每个所需数据项的解析方式,得到解析协议,其中,I为结构体数组中所需数据项的个数”,直到扫描完成DBC文件中所有的数据项(对应图1中的返回箭头)。
本发明的车辆协议解析方法通过统一确定DBC文件中每个数据项的协议数据项描述词,车载终端仅需建立所需数据项的结构体数组,并对每个所需数据项采用数据项序号进行编号,建立对应机制,采用采用所需数据项的所需数据项描述词与协议数据项描述词的对应关系确定每个所需数据项的解析方式,并根据数据项进行解析方式的对应,得到车载终端的所需数据项的结构体对应的解析协议,即,根据每个车辆的结构体数组建立对应的解析协议,实现车辆上报数据的解析。本发明将对车载终端的修改,转移到根据车载终端确定对应的解析协议(DBC),即,从车载终端软件的修改转移到DBC文件的修改,实现了车载终端版本的统一,而且简化了开发流程、缩减了开发周期。
实施例2
本发明实施例2提供一种车辆协议解析方法的优选的实施方式。
步骤102所述建立车载终端所需数据项的结构体数组,具体包括:建立车载终端所需数据项的数据项序号;基于所述数据项序号建立车载终端所需数据项的结构体数组。
步骤104所述获取所述DBC文件中协议数据项描述词与第i个所需数据项的所需数据项描述词相同的数据项,利用第i个所需数据项的数据项序号对所述相同的数据项进行编号,得到第i个所需数据项的解析方式,具体包括:获取所述DBC文件中包含“BO_”关键字的数据项,得到第一解析协议;获取所述第一解析协议中的第j个数据项的协议数据项描述词;判断第i个所需数据项的所需数据项描述词是否与所述第一解析协议中第j个数据项的协议数据项描述词是否相同,得到第二判断结果;若所述第二判断结果表示相同,则利用第i个所需数据项的数据项序号对第j个数据项进行编号,得到第i个所需数据项的解析方式;若所述第二判断结果表示不相同,则令j的数值增加1,返回步骤“获取所述第一解析协议中的第j个数据项的协议数据项描述词”,直到j的值达到所述第一解析协议中数据项的个数。
步骤106所述根据所述解析协议对CAN总线数据进行解析,具体包括:根据所述解析协议对所述CAN总线中的数据进行解析,得到解析后的数据;根据所述解析后的数据对应的解析协议中数据项的数据项序号,将所述解析后的数据赋值到所述结构体数组中具有相同数据项序号的所需数据项中。
实施例3
本发明实施例3提供一种车辆协议解析方法的一个具体的实施方式。
具体的,所述解析方法包括如下步骤:
步骤1:在标准DBC(DataBase ofCAN,CAN协议数据库)文件基础上,统一车辆生产厂家对DBC文件包含协议数据项的描述词定义及每个数据项解析方式。车载终端对DBC文件识别时依据统一确定的数据项描述词建立不同的数据项的解析方式。例如:车速,其数据项描述词定义为speed。
步骤2:车载终端建立对需求车辆数据项固定序号。例如:车速,数据项序号为1;里程数据项序号为2等。
步骤3:实现车载终端启动初始化时对DBC文件解析功能。主要包括构建需求数据项结构体数组,对数据项的CAN帧ID识别,数据项解析方法识别,需求数据项映射。
3.1、构建车载终端所需数据项的数据结构体数组。该数据结构体包括:数据项序号,CAN帧ID,起始位,数据长度,数据格式,是否有符号数据,精度,偏移量,最小值和最大值。
3.2、CAN帧ID识别:车载终端程序上电运行后,首先读取DBC文件内容,根据DBC文件格式标准,判断读取到的字符中是否包含信息“BO_“(信息简称)关键字,进而获取到BO_后续字段中CAN帧ID。记录该帧ID到当前数据项结构体中。
3.3、根据信号“SG_“(SG为信号简称)关键字获取数据项描述词定义,以及该数据项解析方法,包括:起始位,数据长度,数据格式,是否有符号数据,精度,偏移量,最小值和最大值。记录该帧ID到当前数据项结构体中。
3.4、将3.3步骤中读取到的数据项描述词与车载终端预置的需求数据项描述词进行比对,完全匹配则证明该数据项是车载终端需求数据项。将该需求数据项固定序号记录到当前数据项结构体中。实现DBC文件中数据项通过预置固定序号映射到车载终端需求数据项。如不匹配则跳回3.1步骤开始循环继续扫描下一数据项。
3.5、构建的需求数据项数组序号累加,然后重复3.1步骤进行下一数据项扫描,直至DBC文件扫描完成。
步骤4:车载终端从电动车辆CAN总线获取数据包后,提取该数据包帧ID与步骤3建立的数据项结构体数组中的每一个需求项帧ID进行比对。完全匹配则表示该数据包包含车载终端需求的数据项需要解析。从源数据包中按该数据项的解析方式(步骤3.3中所示)进行数据解析。解析后的数据根据该数据项映射序号赋值到对应的需求数据项中。从而完成数据解析。
实施例4
本发明实施例4提供一种车辆协议解析系统。
如图2所示,所述解析系统包括:
协议数据项描述词确定模块201,用于确定DBC文件中每个数据项的协议数据项描述词;
结构体数组建立模块202,用于建立车载终端所需数据项的结构体数组;所述结构体数组的所需数据项包括数据项序号、CAN帧ID、起始位,数据长度,数据格式,是否有符号数据,精度,偏移量,最小值和最大值;
所需数据项描述词确定模块203,用于根据所述协议数据项描述词确定结构体数组中每个所需数据项的所需数据项描述词;
解析协议获取模块204,用于获取所述DBC文件中协议数据项描述词与第i个所需数据项的所需数据项描述词相同的数据项,利用第i个所需数据项的数据项序号对所述相同的数据项进行编号,得到第i个所需数据项的解析方式,令i=1,2,……I,获得每个所需数据项的解析方式,得到解析协议,其中,I为结构体数组中所需数据项的个数;
第一判断模块205,用于判断所述解析协议中每个数据项的ID与所述结构体数组中与所述数据项具有相同数据项序号的所需数据项的ID是否相同,得到第一判断结果;
第一判断结果处理模块206,用于若所述第一判断结果表示相同,则根据所述解析协议对CAN总线数据进行解析;若所述第一判断结果表示不相同,则调用解析协议获取模块,执行步骤“获取所述DBC文件中协议数据项描述词与第i个所需数据项描述词相同的数据项,利用第i个所需数据项的数据项序号对所述相同的数据项进行编号,得到第i个所需数据项的解析方式,令i=1,2,……I,获得每个所需数据项的解析方式,得到解析协议,其中,I为结构体数组中所需数据项的个数”。
实施例5
本发明实施例5提供一种车辆协议解析系统的优选的实施方式。
所述结构体数组建立模块202,具体包括:数据项序号建立子模块,用于建立车载终端所需数据项的数据项序号;结构体数组建立子模块,用于基于所述数据项序号建立车载终端所需数据项的结构体数组。
所述解析协议获取模块204,具体包括:第一解析协议获取子模块,用于获取所述DBC文件中包含“BO_”关键字的数据项,得到第一解析协议;描述词获取子模块,用于获取所述第一解析协议中的第j个数据项的协议数据项描述词;第二判断子模块,用于判断第i个所需数据项的所需数据项描述词是否与所述第一解析协议中第j个数据项的协议数据项描述词是否相同,得到第二判断结果;第二判断结果处理子模块,用于若所述第二判断结果表示相同,则利用第i个所需数据项的数据项序号对第j个数据项进行编号,得到第i个所需数据项的解析方式;若所述第二判断结果表示不相同,则令j的数值增加1,调用描述词获取子模块,执行步骤“获取所述第一解析协议中的第j个数据项的协议数据项描述词”。
所述第一判断结果处理模块205,具体包括:解析子模块,用于根据所述解析协议对所述CAN总线中的数据进行解析,得到解析后的数据;映射子模块,用于根据所述解析后的数据对应的解析协议中数据项的数据项序号,将所述解析后的数据赋值到所述结构体数组中具有相同数据项序号的所需数据项中。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明针对不同车辆如果协议不同,就需要对车载终端中软件协议解析部分进行修改,导致出现同一型号车载终端多个版本现象。也导致了开发工作重复,人力使用成本提升,后期维护困难,这一问题,基于车辆CAN协议自适应方法,将在车载终端软件中进行的协议解析修改转移到对车辆DBC文件修改。车载终端只需要确定对需求数据项关键词的定义,建立内部数据解析机制和映射机制。根据统一确定的需求数据项关键词去匹配不同车辆的DBC文件。从而达到简化开发流程,缩减开发周期,实现车载终端版本统一,减少维护成本的目的。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

Claims (6)

1.一种车辆协议解析方法,其特征在于,所述解析方法包括如下步骤:
确定DBC文件中每个数据项的协议数据项描述词;
建立车载终端所需数据项的结构体数组;所述结构体数组的所需数据项包括数据项序号、CAN帧ID、起始位,数据长度,数据格式,是否有符号数据,精度,偏移量,最小值和最大值;
根据所述协议数据项描述词确定结构体数组中每个所需数据项的所需数据项描述词;
获取所述DBC文件中协议数据项描述词与第i个所需数据项的所需数据项描述词相同的数据项,利用第i个所需数据项的数据项序号对所述相同的数据项进行编号,得到第i个所需数据项的解析方式,令i=1,2,……I,获得每个所需数据项的解析方式,得到解析协议,其中,I为结构体数组中所需数据项的个数;
判断所述解析协议中每个数据项的ID与所述结构体数组中与所述数据项具有相同数据项序号的所需数据项的ID是否相同,得到第一判断结果;
若所述第一判断结果表示相同,则根据所述解析协议对CAN总线数据进行解析;
若所述第一判断结果表示不相同,则返回步骤“获取所述DBC文件中协议数据项描述词与第i个所需数据项描述词相同的数据项,利用第i个所需数据项的数据项序号对所述相同的数据项进行编号,得到第i个所需数据项的解析方式,令i=1,2,……I,获得每个所需数据项的解析方式,得到解析协议,其中,I为结构体数组中所需数据项的个数”;
所述获取所述DBC文件中协议数据项描述词与第i个所需数据项的所需数据项描述词相同的数据项,利用第i个所需数据项的数据项序号对所述相同的数据项进行编号,得到第i个所需数据项的解析方式,具体包括:
获取所述DBC文件中包含“BO_”关键字的数据项,得到第一解析协议;
获取所述第一解析协议中的第j个数据项的协议数据项描述词;
判断第i个所需数据项的所需数据项描述词是否与所述第一解析协议中第j个数据项的协议数据项描述词是否相同,得到第二判断结果;
若所述第二判断结果表示相同,则利用第i个所需数据项的数据项序号对第j个数据项进行编号,得到第i个所需数据项的解析方式;
若所述第二判断结果表示不相同,则令j的数值增加1,返回步骤“获取所述第一解析协议中的第j个数据项的协议数据项描述词”。
2.根据权利要求1所述的一种车辆协议解析方法,其特征在于,所述建立车载终端所需数据项的结构体数组,具体包括:
建立车载终端所需数据项的数据项序号;
基于所述数据项序号建立车载终端所需数据项的结构体数组。
3.根据权利要求1所述的一种车辆协议解析方法,其特征在于,所述根据所述解析协议对CAN总线数据进行解析,具体包括:
根据所述解析协议对所述CAN总线中的数据进行解析,得到解析后的数据;
根据所述解析后的数据对应的解析协议中数据项的数据项序号,将所述解析后的数据赋值到所述结构体数组中具有相同数据项序号的所需数据项中。
4.一种车辆协议解析系统,其特征在于,所述解析系统包括:
协议数据项描述词确定模块,用于确定DBC文件中每个数据项的协议数据项描述词;
结构体数组建立模块,用于建立车载终端所需数据项的结构体数组;所述结构体数组的所需数据项包括数据项序号、CAN帧ID、起始位,数据长度,数据格式,是否有符号数据,精度,偏移量,最小值和最大值;
所需数据项描述词确定模块,用于根据所述协议数据项描述词确定结构体数组中每个所需数据项的所需数据项描述词;
解析协议获取模块,用于获取所述DBC文件中协议数据项描述词与第i个所需数据项的所需数据项描述词相同的数据项,利用第i个所需数据项的数据项序号对所述相同的数据项进行编号,得到第i个所需数据项的解析方式,令i=1,2,……I,获得每个所需数据项的解析方式,得到解析协议,其中,I为结构体数组中所需数据项的个数;
第一判断模块,用于判断所述解析协议中每个数据项的ID与所述结构体数组中与所述数据项具有相同数据项序号的所需数据项的ID是否相同,得到第一判断结果;
第一判断结果处理模块,用于若所述第一判断结果表示相同,则根据所述解析协议对CAN总线数据进行解析;若所述第一判断结果表示不相同,则调用解析协议获取模块,执行步骤“获取所述DBC文件中协议数据项描述词与第i个所需数据项描述词相同的数据项,利用第i个所需数据项的数据项序号对所述相同的数据项进行编号,得到第i个所需数据项的解析方式,令i=1,2,……I,获得每个所需数据项的解析方式,得到解析协议,其中,I为结构体数组中所需数据项的个数”;
所述解析协议获取模块,具体包括:
第一解析协议获取子模块,用于获取所述DBC文件中包含“BO_”关键字的数据项,得到第一解析协议;
描述词获取子模块,用于获取所述第一解析协议中的第j个数据项的协议数据项描述词;
第二判断子模块,用于判断第i个所需数据项的所需数据项描述词是否与所述第一解析协议中第j个数据项的协议数据项描述词是否相同,得到第二判断结果;
第二判断结果处理子模块,用于若所述第二判断结果表示相同,则利用第i个所需数据项的数据项序号对第j个数据项进行编号,得到第i个所需数据项的解析方式;若所述第二判断结果表示不相同,则令j的数值增加1,调用描述词获取子模块,执行步骤“获取所述第一解析协议中的第j个数据项的协议数据项描述词”。
5.根据权利要求4所述的一种车辆协议解析系统,其特征在于,所述结构体数组建立模块,具体包括:
数据项序号建立子模块,用于建立车载终端所需数据项的数据项序号;
结构体数组建立子模块,用于基于所述数据项序号建立车载终端所需数据项的结构体数组。
6.根据权利要求4所述的一种车辆协议解析系统,其特征在于,所述第一判断结果处理模块,具体包括:
解析子模块,用于根据所述解析协议对所述CAN总线中的数据进行解析,得到解析后的数据;
映射子模块,用于根据所述解析后的数据对应的解析协议中数据项的数据项序号,将所述解析后的数据赋值到所述结构体数组中具有相同数据项序号的所需数据项中。
CN201811608542.1A 2018-12-27 2018-12-27 一种车辆协议解析方法及系统 Active CN109889482B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811608542.1A CN109889482B (zh) 2018-12-27 2018-12-27 一种车辆协议解析方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811608542.1A CN109889482B (zh) 2018-12-27 2018-12-27 一种车辆协议解析方法及系统

Publications (2)

Publication Number Publication Date
CN109889482A CN109889482A (zh) 2019-06-14
CN109889482B true CN109889482B (zh) 2020-05-12

Family

ID=66925320

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811608542.1A Active CN109889482B (zh) 2018-12-27 2018-12-27 一种车辆协议解析方法及系统

Country Status (1)

Country Link
CN (1) CN109889482B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111210539B (zh) * 2020-01-02 2023-09-19 浙江吉利新能源商用车集团有限公司 一种动力蓄电池数据分析系统
CN113438211A (zh) * 2021-06-07 2021-09-24 杭州鸿泉物联网技术股份有限公司 Dbc格式解析和报文解析方法、装置、电子设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103354991A (zh) * 2010-11-03 2013-10-16 美国博通公司 车辆通信网络
CN104331292A (zh) * 2014-11-03 2015-02-04 重庆邮电大学 一种车联网中间件协议转换的配置生成方法
CN107220138A (zh) * 2017-05-27 2017-09-29 云蜂出行智能科技有限公司 一种通过can总线消息解析系统、方法及其函数存取方法
CN108540363A (zh) * 2017-12-30 2018-09-14 天津清源电动车辆有限责任公司 一种电动汽车远程监控系统的监控配置方法
CN108600192A (zh) * 2018-04-03 2018-09-28 南京越博动力系统股份有限公司 一种基于正则表达式的dbc文件解析及报文分析方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN204010058U (zh) * 2014-06-17 2014-12-10 比亚迪股份有限公司 车辆数据记录仪、车辆数据记录系统以及具有其的汽车
WO2016108961A1 (en) * 2014-12-30 2016-07-07 Battelle Memorial Institute Anomaly detection for vehicular networks for intrusion and malfunction detection
WO2016108963A1 (en) * 2014-12-30 2016-07-07 Battelle Memorial Institute Temporal anomaly detection on automotive networks
CN205405253U (zh) * 2016-03-01 2016-07-27 南京越博动力系统股份有限公司 一种基于车载can网络的车辆故障检测系统
CN205656008U (zh) * 2016-03-18 2016-10-19 长安大学 一种基于obd的汽车行驶工况测量分析装置
CN206135986U (zh) * 2016-10-25 2017-04-26 江苏速度智能科技有限公司 一种新能源电动汽车远程监控电池状态的系统装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103354991A (zh) * 2010-11-03 2013-10-16 美国博通公司 车辆通信网络
CN104331292A (zh) * 2014-11-03 2015-02-04 重庆邮电大学 一种车联网中间件协议转换的配置生成方法
CN107220138A (zh) * 2017-05-27 2017-09-29 云蜂出行智能科技有限公司 一种通过can总线消息解析系统、方法及其函数存取方法
CN108540363A (zh) * 2017-12-30 2018-09-14 天津清源电动车辆有限责任公司 一种电动汽车远程监控系统的监控配置方法
CN108600192A (zh) * 2018-04-03 2018-09-28 南京越博动力系统股份有限公司 一种基于正则表达式的dbc文件解析及报文分析方法

Also Published As

Publication number Publication date
CN109889482A (zh) 2019-06-14

Similar Documents

Publication Publication Date Title
CN109325009B (zh) 日志解析的方法及装置
CN109889482B (zh) 一种车辆协议解析方法及系统
CN113127338A (zh) 一种固件测试方法、服务器及计算机可读存储介质
CN111427940B (zh) 一种自适应数据库转换方法及装置
CN109861998B (zh) 一种基于北斗短报文协议的插件式动态解析系统及方法
CN112558584B (zh) 诊断数据获取方法、装置及诊断设备
CN111797098B (zh) 一种报文解析方法、装置及车载终端
CN112184946A (zh) 一种车辆数据读取方法及相关设备
CN112507087A (zh) 终端设备识别方法、设备、存储介质及装置
CN112671878A (zh) 一种区块链的信息订阅方法、装置、服务器和存储介质
CN112769767A (zh) 车载以太网some/ip协议数据的解析方法、装置、介质及系统
CN113848862B (zh) 诊断软件获取方法、装置、通信设备及存储介质
CN114003484A (zh) 接口测试的日志输出方法、装置、设备及存储介质
CN115438002A (zh) 日志文件的压缩方法、装置、电子设备和存储介质
CN114065197A (zh) 调用序列生成方法、装置、电子设备、存储介质及产品
CN113934198A (zh) 车辆诊断方法、装置、电子设备及存储介质
CN110297651B (zh) 协议接口的常用变量的更新方法和装置
CN109086145B (zh) 数据生成方法、装置及计算机存储介质
CN111242256A (zh) 信息验证方法、装置及终端
CN117749761B (zh) 基于工业互联网标识的标识解析方法和装置、设备和介质
CN111181948B (zh) 非标准报文驱动已有功能的方法及装置
CN112445760B (zh) 文件分类方法、设备、存储介质及装置
CN109558326B (zh) 一种测试方法及装置
CN113517992A (zh) 一种控制器局域网配置的检测方法、装置及电动汽车
CN116756028A (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