一种can?bus总线的数据解析方法和系统的制作方法

文档序号:10725156阅读:353来源:国知局
一种can?bus总线的数据解析方法和系统的制作方法
【专利摘要】本发明公开了一种CAN?BUS总线的数据解析方法和系统,其通过获取整车的CAN?BUS总线的原始数据并对其进行层层筛选,首先根据所述原始数据的内存地址对所述原始数据进行分组和筛选得到一级筛选数据,然后根据所述一级筛选数据的内存值和所述车载终端的当前状态对所述一级筛选数据进行分组和筛选得到对应状态的二级筛选数据,并进一步通过操作所述车载终端使其在对应的二级筛选数据中产生内存值的变化,根据变化量进行筛选得到三级筛选数据,最后对所述三级筛选数据进行一一验证和解析,极大的提高了解析效率,为CAN解析工程师对整车的CAN?BUS总线数据的解析工作节约了大量的时间成本和人工成本。
【专利说明】
一种CAN-BUS总线的数据解析方法和系统
技术领域
[0001]本发明涉及数据处理技术领域,特别是一种CAN-BUS总线的数据解析方法及其应用该方法的系统。
【背景技术】
[0002]CAN(Controller Area Network,控制器局域网络)是应用最广泛的现场总线之一,它作为汽车环境中的微控制通讯,在车载各ECU(Electric Control Unit,电子控制单元)之间交换信息,形成汽车电子控制网络,CAN几乎成为汽车设计领域一种最常采用的技术手段。
[0003]对整车CAN信号的分析是检测整车各部件是否正常工作的必要过程。目前的技术中,针对不同车型的不同整车CAN信号,连接CAN读取设备后,需要人工查看CAN追踪数据,这些追踪到的CAN信号的数据会以16进制的数字序列通过显示器显示给CAN解析工程师。而这些16进制数字序列是原始物理数据通过乘以因数以及添加补偿值后的数据。CAN解析工程师在对16进制数字序列的整车CAN信号进行解析时,需要人工的方式先将16进制数据计算转换为10进制数据,然后,再人工尝试各种搭配,以确定因数和补偿值,根据经验确定需要追踪的CAN信号在信号帧中的位置。
[0004]但是,目前的技术中,追踪到的CAN信号的数据直接以16进制的数字序列让CAN解析工程师进行解析,因为数据不够直观,使CAN解析工程师在解析过程中需要完成上述提到的多项工作,耗费的时间较长,解析的效率比较低。

【发明内容】

[0005]本发明为解决上述问题,提供了一种CAN-BUS总线的数据解析方法和系统,其通过对原始数据进行层层筛选后再进行数据的验证和解析,极大的提高了解析效率,节约了大量的时间成本和人工成本。
[0006]为实现上述目的,本发明采用的技术方案为:
[0007]—种CAN-BUS总线的数据解析方法,其包括以下步骤:
[0008]10.获取整车的CAN-BUS总线的原始数据;
[0009]20.根据所述原始数据的内存地址对所述原始数据进行分组,分为动态数据和稳态数据,并根据待解析的车载终端的特性选择所述动态数据或所述稳态数据作为一级筛选数据;
[0010]30.根据所述一级筛选数据的内存值对所述一级筛选数据进行分组,得到对应不同状态的状态数据,并根据所述车载终端的当前状态选择对应的所述状态数据作为二级筛选数据;
[0011 ] 40.通过操作所述车载终端使其在对应的二级筛选数据中产生内存值的变化,根据所述车载终端的操作变化量进行筛选对应的二级筛选数据中的内存值的变化量,作为三级筛选数据;
[0012]50.对所述三级筛选数据进行一一验证和解析。
[0013]优选的,所述的步骤10中,获取整车的CAN-BUS总线的原始数据,是通过在相同内外部环境下的一个以上时间点对所述的整车的CAN-BUS总线进行数据采集,得到一组以上的采样数据,并对该一组以上的采样数据进行比对,将得到的一组以上重复数据作为所述原始数据。
[0014]优选的,所述的步骤20中,根据所述原始数据的内存地址对所述原始数据进行分组,分为动态数据和稳态数据,是通过将一组以上的不同时间点所对应的一组以上的原始数据进行对比分析,将各组的原始数据的内存地址有变化的数据标记为动态数据,并将各组的原始数据的内存地址不变的数据标记为稳态数据。
[0015]优选的,所述的步骤30中,根据所述一级筛选数据的内存值对所述一级筛选数据进行分组,得到对应不同状态的状态数据,是通过将十进制的一级筛选数据转换为十六进制的状态数据,再进一步对所述状态数据根据不同状态进行分组。
[0016]优选的,所述的步骤30中,根据所述车载终端的当前状态选择对应的所述状态数据作为二级筛选数据,是通过正则表达式检索进行筛选与所述车载终端的当前状态相对应的状态数据作为二级筛选数据。
[0017]优选的,所述的步骤40中,得到所述三级筛选数据后,还进一步返回所述步骤20或者返回所述步骤30或者重复所述步骤40进行多次筛选,得到最终筛选数据,并最后对该最终筛选数据进行一一验证和解析。
[0018]优选的,所述验证包括人工验证或者模拟器验证。
[0019]另外,本发明还提供了一种CAN-BUS总线的数据解析系统,其包括:
[0020]数据采集模块,用于获取整车的CAN-BUS总线的原始数据;
[0021 ] 一级筛选模块,其根据所述原始数据的内存地址对所述原始数据进行分组,分为动态数据和稳态数据,并根据待解析的车载终端的特性选择所述动态数据或所述稳态数据作为一级筛选数据;
[0022]二级筛选模块,其根据所述一级筛选数据的内存值对所述一级筛选数据进行分组,得到对应不同状态的状态数据,并根据所述车载终端的当前状态选择对应的所述状态数据作为二级筛选数据;
[0023]三级筛选模块,其通过操作所述车载终端使其在对应的二级筛选数据中产生内存值的变化,根据所述车载终端的操作变化量进行筛选对应的二级筛选数据中的内存值的变化量,作为三级筛选数据;
[0024]数据解析模块,用于对所述三级筛选数据进行一一验证和解析。
[0025]本发明的有益效果是:
[0026]本发明的一种CAN-BUS总线的数据解析方法和系统,其通过获取整车的CAN-BUS总线的原始数据并对其进行层层筛选,首先根据所述原始数据的内存地址对所述原始数据进行分组和筛选得到一级筛选数据,然后根据所述一级筛选数据的内存值和所述车载终端的当前状态对所述一级筛选数据进行分组和筛选得到对应状态的二级筛选数据,并进一步通过操作所述车载终端使其在对应的二级筛选数据中产生内存值的变化,根据变化量进行筛选得到三级筛选数据,最后对所述三级筛选数据进行一一验证和解析,从而将几十万条数据筛选为仅剩下几条或者几十条,极大的提高了解析效率,为CAN解析工程师对整车的CAN-BUS总线数据的解析工作节约了大量的时间成本和人工成本。
【附图说明】
[0027]此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0028]图1为本发明一种CAN-BUS总线的数据解析方法的流程简图;
[0029]图2为本发明一种CAN-BUS总线的数据解析系统的结构示意图。
【具体实施方式】
[0030]为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0031 ]如图1所示,本发明的一种CAN-BUS总线的数据解析方法,其包括以下步骤:
[0032]10.获取整车的CAN-BUS总线的原始数据;
[0033]20.根据所述原始数据的内存地址对所述原始数据进行分组,分为动态数据和稳态数据,并根据待解析的车载终端的特性选择所述动态数据或所述稳态数据作为一级筛选数据;
[0034]30.根据所述一级筛选数据的内存值对所述一级筛选数据进行分组,得到对应不同状态的状态数据,并根据所述车载终端的当前状态选择对应的所述状态数据作为二级筛选数据;
[0035]40.通过操作所述车载终端使其在对应的二级筛选数据中产生内存值的变化,根据所述车载终端的操作变化量进行筛选对应的二级筛选数据中的内存值的变化量,作为三级筛选数据;
[0036]50.对所述三级筛选数据进行一一验证和解析。
[0037]所述的步骤10中,获取整车的CAN-BUS总线的原始数据,是通过在相同内外部环境下的一个以上时间点对所述的整车的CAN-BUS总线进行数据采集,得到一组以上的采样数据,并对该一组以上的采样数据进行比对,将得到的一组以上重复数据作为所述原始数据。
[0038]所述的步骤20中,根据所述原始数据的内存地址对所述原始数据进行分组,分为动态数据和稳态数据,是通过将一组以上的不同时间点所对应的一组以上的原始数据进行对比分析,将各组的原始数据的内存地址有变化的数据标记为动态数据,并将各组的原始数据的内存地址不变的数据标记为稳态数据;例如,对于行驶中的汽车,车速、转速、油量、电量均可能是动态数据,而此时,人体检测传感器或者汽车门窗开关检测传感器可能是稳态数据。
[0039]所述的步骤30中,根据所述一级筛选数据的内存值对所述一级筛选数据进行分组,得到对应不同状态的状态数据,是通过将十进制的一级筛选数据转换为十六进制的状态数据,再进一步对所述状态数据根据不同状态进行分组,例如,对于汽车门窗的控制终端,开启状态置为1,关闭状态置为0,则将所述状态数据划分为对应开启状态和关闭状态的两组数据;根据所述车载终端的当前状态选择对应的所述状态数据作为二级筛选数据,是通过正则表达式检索进行筛选与所述车载终端的当前状态相对应的状态数据作为二级筛选数据。
[0040]所述的步骤40中,通过操作所述车载终端使其在对应的二级筛选数据中产生内存值的变化,例如,通过操作汽车升降窗的打开量,上升至1/3、1/2等,来检索对应的内存值的变化量;得到所述三级筛选数据后,还进一步返回所述步骤20或者返回所述步骤30或者重复所述步骤40进行多次筛选,得到最终筛选数据,并最后对该最终筛选数据进行一一验证和解析。其中,所述验证包括人工验证或者模拟器验证,可根据具体的车载终端选择所需的验证方式。
[0041]如图2所示,本发明还提供了一种CAN-BUS总线的数据解析系统,其包括:
[0042]数据采集模块A,用于获取整车的CAN-BUS总线的原始数据;
[0043]—级筛选模块B,其根据所述原始数据的内存地址对所述原始数据进行分组,分为动态数据和稳态数据,并根据待解析的车载终端的特性选择所述动态数据或所述稳态数据作为一级筛选数据;
[0044]二级筛选模块C,其根据所述一级筛选数据的内存值对所述一级筛选数据进行分组,得到对应不同状态的状态数据,并根据所述车载终端的当前状态选择对应的所述状态数据作为二级筛选数据;
[0045]三级筛选模块D,其通过操作所述车载终端使其在对应的二级筛选数据中产生内存值的变化,根据所述车载终端的操作变化量进行筛选对应的二级筛选数据中的内存值的变化量,作为三级筛选数据;
[0046]数据解析模块E,用于对所述三级筛选数据进行一一验证和解析。
[0047]需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。并且,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0048]上述说明示出并描述了本发明的优选实施例,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
【主权项】
1.一种CAN-BUS总线的数据解析方法,其特征在于,包括以下步骤: 10.获取整车的CAN-BUS总线的原始数据; 20.根据所述原始数据的内存地址对所述原始数据进行分组,分为动态数据和稳态数据,并根据待解析的车载终端的特性选择所述动态数据或所述稳态数据作为一级筛选数据; 30.根据所述一级筛选数据的内存值对所述一级筛选数据进行分组,得到对应不同状态的状态数据,并根据所述车载终端的当前状态选择对应的所述状态数据作为二级筛选数据; 40.通过操作所述车载终端使其在对应的二级筛选数据中产生内存值的变化,根据所述车载终端的操作变化量进行筛选对应的二级筛选数据中的内存值的变化量,作为三级筛选数据; 50.对所述三级筛选数据进行一一验证和解析。2.根据权利要求1所述的一种CAN-BUS总线的数据解析方法,其特征在于:所述的步骤10中,获取整车的CAN-BUS总线的原始数据,是通过在相同内外部环境下的一个以上时间点对所述的整车的CAN-BUS总线进行数据采集,得到一组以上的采样数据,并对该一组以上的采样数据进行比对,将得到的一组以上重复数据作为所述原始数据。3.根据权利要求2所述的一种CAN-BUS总线的数据解析方法,其特征在于:所述的步骤20中,根据所述原始数据的内存地址对所述原始数据进行分组,分为动态数据和稳态数据,是通过将一组以上的不同时间点所对应的一组以上的原始数据进行对比分析,将各组的原始数据的内存地址有变化的数据标记为动态数据,并将各组的原始数据的内存地址不变的数据标记为稳态数据。4.根据权利要求1所述的一种CAN-BUS总线的数据解析方法,其特征在于:所述的步骤30中,根据所述一级筛选数据的内存值对所述一级筛选数据进行分组,得到对应不同状态的状态数据,是通过将十进制的一级筛选数据转换为十六进制的状态数据,再进一步对所述状态数据根据不同状态进行分组。5.根据权利要求1或4所述的一种CAN-BUS总线的数据解析方法,其特征在于:所述的步骤30中,根据所述车载终端的当前状态选择对应的所述状态数据作为二级筛选数据,是通过正则表达式检索进行筛选与所述车载终端的当前状态相对应的状态数据作为二级筛选数据。6.根据权利要求1所述的一种CAN-BUS总线的数据解析方法,其特征在于:所述的步骤40中,得到所述三级筛选数据后,还进一步返回所述步骤20或者返回所述步骤30或者重复所述步骤40进行多次筛选,得到最终筛选数据,并最后对该最终筛选数据进行一一验证和解析。7.根据权利要求1或6所述的一种CAN-BUS总线的数据解析方法,其特征在于:所述验证包括人工验证或者模拟器验证。8.一种CAN-BUS总线的数据解析系统,其特征在于,包括: 数据采集模块,用于获取整车的CAN-BUS总线的原始数据; 一级筛选模块,其根据所述原始数据的内存地址对所述原始数据进行分组,分为动态数据和稳态数据,并根据待解析的车载终端的特性选择所述动态数据或所述稳态数据作为一级筛选数据; 二级筛选模块,其根据所述一级筛选数据的内存值对所述一级筛选数据进行分组,得到对应不同状态的状态数据,并根据所述车载终端的当前状态选择对应的所述状态数据作为二级筛选数据; 三级筛选模块,其通过操作所述车载终端使其在对应的二级筛选数据中产生内存值的变化,根据所述车载终端的操作变化量进行筛选对应的二级筛选数据中的内存值的变化量,作为三级筛选数据; 数据解析模块,用于对所述三级筛选数据进行一一验证和解析。
【文档编号】G06F17/30GK106096036SQ201610481404
【公开日】2016年11月9日
【申请日】2016年6月27日
【发明人】姜子涵, 姚远
【申请人】厦门中云创电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1