一种车辆协议解析方法及系统技术方案

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

An Analytical Method and System of Vehicle Protocol

The invention discloses a vehicle protocol parsing method and system. The analytical method includes: determining the protocol data item descriptor of each data item in the DBC file; establishing the structure body array of data items required by the vehicle terminal; determining the required data item descriptor of each data item in the structure body array according to the protocol data item descriptor; obtaining the analytical method of each data item required, obtaining the analytical protocol; and judging the analytical protocol. Whether the ID of each data item is the same as the ID of the required data item with the same data item number in the structure array, the first judgment result is obtained; if the first judgment result is the same, the CAN bus data is parsed according to the parsing protocol. The invention transfers the modification of the vehicle terminal to the corresponding parsing protocol (DBC) determined according to the vehicle terminal, realizes the unification of the vehicle terminal version, simplifies the development process and reduces the development cycle.

【技术实现步骤摘要】
一种车辆协议解析方法及系统
本专利技术涉及汽车领域,特别涉及一种车辆协议解析方法及系统。
技术介绍
车载终端匹配车辆时的一项重要工作就是要遵循车辆协议完成车辆上报数据的解析。不同车辆如果协议不同,就需要对车载终端中软件协议解析部分进行修改,导致出现同一型号车载终端多个版本现象。也导致了开发工作重复,人力使用成本提升,后期维护困难。
技术实现思路
本专利技术的目的是提供一种车辆协议解析方法及系统,以避免同一型号车辆的车载终端有多个版本现象。为实现上述目的,本专利技术提供了如下方案:一种车辆协议解析方法,所述解析方法包括如下步骤:确定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.一种车辆协议解析方法,其特征在于,所述解析方法包括如下步骤:确定DBC文件中每个数据项的协议数据项描述词;建立车载终端所需数据项的结构体数组;所述结构体数组的所需数据项包括数据项序号、CAN帧ID、起始位,数据长度,数据格式,是否有符号数据,精度,偏移量,最小值和最大值;根据所述协议数据项描述词确定结构体数组中每个所需数据项的所需数据项描述词;获取所述DBC文件中协议数据项描述词与第i个所需数据项的所需数据项描述词相同的数据项,利用第i个所需数据项的数据项序号对所述相同的数据项进行编号,得到第i个所需数据项的解析方式,令i=1,2,……I,获得每个所需数据项的解析方式,得到解析协议,其中,I为结构体数组中所需数据项的个数;判断所述解析协议中每个数据项的ID与所述结构体数组中与所述数据项具有相同数据项序号的所需数据项的ID是否相同,得到第一判断结果;若所述第一判断结果表示相同,则根据所述解析协议对CAN总线数据进行解析;若所述第一判断结果表示不相同,则返回步骤“获取所述DBC文件中协议数据项描述词与第i个所需数据项描述词相同的数据项,利用第i个所需数据项的数据项序号对所述相同的数据项进行编号,得到第i个所需数据项的解析方式,令i=1,2,……I,获得每个所需数据项的解析方式,得到解析协议,其中,I为结构体数组中所需数据项的个数”。...

【技术特征摘要】
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为结构体数组中所需数据项的个数”。2.根据权利要求1所述的一种车辆协议解析方法,其特征在于,所述建立车载终端所需数据项的结构体数组,具体包括:建立车载终端所需数据项的数据项序号;基于所述数据项序号建立车载终端所需数据项的结构体数组。3.根据权利要求1所述的一种车辆协议解析方法,其特征在于,所述获取所述DBC文件中协议数据项描述词与第i个所需数据项的所需数据项描述词相同的数据项,利用第i个所需数据项的数据项序号对所述相同的数据项进行编号,得到第i个所需数据项的解析方式,具体包括:获取所述DBC文件中包含“BO_”关键字的数据项,得到第一解析协议;获取所述第一解析协议中的第j个数据项的协议数据项描述词;判断第i个所需数据项的所需数据项描述词是否与所述第一解析协议中第j个数据项的协议数据项描述词是否相同,得到第二判断结果;若所述第二判断结果表示相同,则利用第i个所需数据项的数据项序号对第j个数据项进行编号,得到第i个所需数据项的解析方式;若所述第二判断结果表示不相同,则令j的数值增加1,返回步骤“获取所述第一解析协议中的第j个数据项的协议数据项描述词”。4.根据权利要求1所述的一种车辆协议解析方法,其特征在于,所述根据所述解析协议对CAN总线数据进行解析,具体包括:根据所述解析协议对所述CAN总线中的数据进行解析,得到解析后的数据;根据所述解析后的数据对应的解析协议中数据项的数据项序号,将所述解析后的数据赋值到所述结构体数组中具有相同数据项序号的所需数据项中。5.一种车辆协议解析系统,其特征在于,所述解析系统包括:协议数据项描述词确定模块,用于...

【专利技术属性】
技术研发人员:陈奕昆龙超华刘鹏王崇文
申请(专利权)人:北京理工大学北京理工新源信息科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1