本发明属于数据通信领域,具体地说,涉及一种基于条件过滤的mvb报文及波形采集存储方法。
背景技术:
:多功能车辆总线(mvb)是为了解决列车上的各种电子设备通信问题而出现的一种技术,是列车通信网络的一部分。列车内具有多种车载可编程电子设备,这些设备之间通过mvb总线进行通信,列车内的所有指令都通过mvb总线进行传输。由于列车内电子设备种类繁多,每种设备的功能都不相同,与主控器交互的数据内容也各不相同。在实际使用过程中,列车运行时可能会出现各种各样的故障,此时需要对列车故障进行排除,让列车正常运行。在对列车mvb网络通信问题进行排障时,通常采用以下两种方式进行故障波形定位:方法一:使用示波器采集mvb总线波形,通过人工解码的方式定位设备地址,查看设备对应总线波形;方法二:通过专用mvb网络采集装置采集总线波形,并通过装置配套分析软件对波形解码,得到对应通信报文,根据报文设备地址定位总线设备波形。上述两种采集获取mvb总线设备波形的方法均存在一定缺陷,具体如下:方法一通过示波器采集总线波形,人工查找故障波形的方式对分析人员技术能力要求太高,且从总线波形中人工解码出设备地址定位故障波形的效率非常低;方法二通过采集装置采集波形并通过特定软件解码查找故障设备波形方式,与方法一相比在易用性及效率方面有一定提升。该方法如果要确保采集总线波形中一定包含期望设备波形,通常采集时长必须大于等于1024毫秒,同时为了保证采集数据包含足够波形细节信息,一般要求采样率越高越好。以60m采样率,16位采样精度为例,采集一次1024毫秒长度双路波形将产生245mbyte波形数据,这对采集装置的数据存储及计算都有一定挑战。完整宏周期波形数据采集分析,无疑将增加设备成本。该方法的另一个弊端在于无法捕获偶发性故障波形。有鉴于此特提出本发明。技术实现要素:本发明要解决的技术问题在于克服现有技术的不足,提供一种为解决上述技术问题,本发明采用技术方案的基本构思是:一种基于条件过滤的mvb报文及波形采集存储方法,包括以下步骤:s1,采集mvb总线a/b波形数据;s2,将采集到的波形数据存入波形数据缓存器;s3,将采集到的波形数据进行实时解码,得到解码报文;s4,将解码报文存入解码报文缓存器;s5,根据预先设置的过滤判决器对解码报文进行过滤,并从解码报文缓存器中提取相应的解码报文;s6,根据过滤后的解码报文计算目标波形数据的位置及长度;s7,从波形数据缓存器中提取目标波形数据并存入波形数据存储器。优选的,所述过滤判决器中包含五个基础过滤条件,所述五个基础过滤条件分别用于过滤所述解码报文中的总线通道号、报文异常类型、主帧fcode、主帧地址、从帧数据。优选的,所述单个基础过滤条件包含数据类型字段、位偏移字段、字节偏移字段、条件类型字段、条件值字段。优选的,所述数据类型字段为8位无符号字符类型数据,前4位代表数据类型,后4位为使能位。优选的,根据所述字节偏移字段和所述位偏移字段获取目标元素在所述解码报文中的起始位置,根据所述数据类型字段获取所述目标元素在所述解码报文中的长度,将所述条件值字段与所述目标元素的值进行对比,将对比结果存入所述数据类型字段中的使能位。优选的,所述五个基础过滤条件组成一组条件组,当所述条件组中所有基础过滤条件中数据类型字段的使能位的判决结果均为真时,该解码报文满足该组过滤条件。优选的,所述过滤判决器中还可以包括从帧字节数、主帧crc、从帧crc其中之一或者其组合。优选的,所述过滤判决器对所述解码报文信息实时过滤,所述解码报文缓存器中有数据时所述过滤判决器对所述解码报文缓存器中的解码报文进行过滤,从所述解码报文缓存器中删除不符合过滤条件的解码报文信息。优选的,根据开始采样时间、报文开始时间、采样率、采集波形时长计算出期望截取波形起始数据点索引以及数据长度:posindex=(t1-t0)×(k/10)datalength=δt×(k×1000)其中posindex表示截取波形起始数据点索引,datalength表示数据长度,t0为采样开始时间,t1为报文起始时间,δt代表采集波形时长,k代表采样率。优选的,根据所述目标波形起始数据点索引以及数据长度,到波形数据缓存器中提取相应波形数据,将提取的波形数据和所述解码报文以文件形式存入波形数据存储器。采用上述技术方案后,本发明与现有技术相比具有以下有益效果:本发明的mvb报文及波形采集存储方法,通过使用预先设置的过滤判决器,对采集到的大量mvb报文及波形数据进行过滤,获取需要的报文及波形,提高mvb总线中目标设备物理波形采集定位的效率,降低采集装置设计实现成本。本发明在过滤判决器中设置五个基础过滤条件,分别用于过滤报文的通道号、错误类型、主帧fcode、主帧地址、从帧数据,提高mvb总线中目标设备物理波形采集定位的精度,避免出现定位出错的情况,对于偶发性总线异常报文及波形的捕获也有良好的效果。下面结合附图对本发明的具体实施方式作进一步详细的描述。附图说明附图作为本发明的一部分,用来提供对本发明的进一步的理解,本发明的示意性实施例及其说明用于解释本发明,但不构成对本发明的不当限定。显然,下面描述中的附图仅仅是一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。在附图中:图1是本发明的基于条件过滤的mvb报文及波形采集存储方法步骤图;需要说明的是,这些附图和文字描述并不旨在以任何方式限制本发明的构思范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对实施例中的技术方案进行清楚、完整地描述,以下实施例用于说明本发明,但不用来限制本发明的范围。如图1所示,本发明提供一种基于条件过滤的mvb报文及波形采集存储方法,包括以下步骤:s1,采集mvb总线a/b波形数据;s2,将采集到的波形数据存入波形数据缓存器;s3,将采集到的波形数据进行实时解码,得到解码报文;s4,将解码报文存入解码报文缓存器;s5,根据预先设置的过滤判决器对解码报文进行过滤,并从解码报文缓存器中提取相应的解码报文;s6,根据过滤后的解码报文计算目标波形数据的位置及长度;s7,从波形数据缓存器中提取目标波形数据并存入波形数据存储器。本实施例中,用14位高速adc采集芯片采集mvb总线a/b波形数据,adc采集芯片的工作电压为3v,采样率为80mhz。将采集到的波形数据存入波形数据缓存器,波形数据缓存器可以为ddr1存储器、ddr2存储器或者ddr3存储器。用fpga芯片对采集到的mvb总线a/b波形数据进行实时解码,解码后的报文信息存入解码报文缓存器,解码报文缓存器为fifo存储器。fpga芯片解析出的报文帧信息包含总线通道号、从帧字节数、报文异常类型、主帧起始及持续时间、从帧起始及持续时间、主帧crc、主帧地址、主帧fcode、从帧crc、从帧数据,fpga解码时可判断报文的链路层异常,并将判断结果保存在解码报文中的报文异常类型字段。解析出的报文帧结构如表1所示。表1报文帧结构过滤判决器根据设置的判决条件,判断解析出的报文是否满足设置的过滤条件,如果满足,则根据报文主帧起始时间,结合采样率及开始采集时间,提取出波形数据缓存器中存储的波形数据,并与解码报文一并存储,以文件方式保存。目前支持的基础条件判决类型见表2,支持的判决数据类型见表3。表2条件判决类型宏定义宏取值条件含义lt0小于gt1大于le2小于或等于ge3大于或等于eq4等于ne5不等于bit_and6按位与大于零bit_or7按位或大于零表3判决基础数据类型过滤判决器中包含五个基础过滤条件,五个基础过滤条件分别用于过滤报文的总线通道号、报文异常类型、主帧fcode、主帧地址、从帧数据,这五个条件组成一组条件组。当条件组中所有基础过滤条件中的使能位的条件判决结果均为真时,报文满足该组过滤条件,可根据报文的时间戳截取对应波形数据并进行存储。单个基础过滤条件结构体见表4,单个基础过滤条件包含数据类型字段、位偏移字段、字节偏移字段、条件类型字段、条件值字段。数据类型字段为8位无符号字符类型数据,前4位代表数据类型,后4位为使能位。过滤条件根据字节偏移字段和所述位偏移字段获取目标元素在解码报文中的起始位置,根据数据类型字段获取目标元素在解码报文中的长度,将条件值字段与目标元素的值进行对比,将对比结果存入数据类型字段中的使能位。单个基础过滤条件是否有效根据结构体4中的条件使能位进行判定。表4基础过滤条件结构体根据开始采样时间、报文开始时间、采样率、采集波形时长计算出期望截取波形起始数据点索引以及数据长度:posindex=(t1-t0)×(k/10)datalength=δt×(k×1000)其中posindex表示截取波形起始数据点索引,datalength表示数据长度,t0为采样开始时间,t1为报文起始时间,δt代表采集波形时长,k代表采样率。根据所述期望截取波形起始数据点索引以及数据长度,到波形数据缓冲区中提取相应波形数据,将报文及提取波形数据以文件形式进行存储。本发明的mvb报文及波形采集存储方法,通过使用预先设置的过滤判决器,对采集到的大量mvb报文及波形数据进行过滤,获取需要的报文及波形,提高mvb总线中目标设备物理波形采集定位的效率,降低采集装置设计实现成本。本发明在过滤判决器中设置五个基础过滤条件,分别用于过滤报文的通道号、错误类型、主帧fcode、主帧地址、从帧数据,提高mvb总线中目标设备物理波形采集定位的精度,避免出现定位出错的情况,对于偶发性总线异常报文及波形的捕获也有良好的效果。以上所述仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专利的技术人员在不脱离本发明技术方案范围内,当可利用上述提示的技术内容作出些许更动或修饰为等同变化的等效实施例,上述实施例中的实施方案也可以进一步组合或者替换,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明方案的范围内。当前第1页1 2 3 
技术特征:1.一种基于条件过滤的mvb报文及波形采集存储方法,其特征在于,包括以下步骤:
s1,采集mvb总线a/b波形数据;
s2,将采集到的波形数据存入波形数据缓存器;
s3,将采集到的波形数据进行实时解码,得到解码报文;
s4,将解码报文存入解码报文缓存器;
s5,根据预先设置的过滤判决器对解码报文进行过滤,并从解码报文缓存器中提取相应的解码报文;
s6,根据过滤后的解码报文计算目标波形数据的位置及长度;
s7,从波形数据缓存器中提取目标波形数据并存入波形数据存储器。
2.根据权利要求1所述的一种基于条件过滤的mvb报文及波形采集存储方法,其特征在于,所述过滤判决器中包含五个基础过滤条件,所述五个基础过滤条件分别用于过滤所述解码报文中的总线通道号、报文异常类型、主帧fcode、主帧地址、从帧数据。
3.根据权利要求2所述的一种基于条件过滤的mvb报文及波形采集存储方法,其特征在于,所述单个基础过滤条件包含数据类型字段、位偏移字段、字节偏移字段、条件类型字段、条件值字段。
4.根据权利要求3所述的一种基于条件过滤的mvb报文及波形采集存储方法,其特征在于,所述数据类型字段为8位无符号字符类型数据,前4位代表数据类型,后4位为使能位。
5.根据权利要求4所述的一种基于条件过滤的mvb报文及波形采集存储方法,其特征在于,根据所述字节偏移字段和所述位偏移字段获取目标元素在所述解码报文中的起始位置,根据所述数据类型字段获取所述目标元素在所述解码报文中的长度,将所述条件值字段与所述目标元素的值进行对比,将对比结果存入所述数据类型字段中的使能位。
6.根据权利要求5所述的一种基于条件过滤的mvb报文及波形采集存储方法,其特征在于,所述五个基础过滤条件组成一组条件组,当所述条件组中所有基础过滤条件中数据类型字段的使能位的判决结果均为真时,该解码报文满足该组过滤条件。
7.根据权利要求2所述的一种基于条件过滤的mvb报文及波形采集存储方法,其特征在于,所述过滤判决器中还可以包括从帧字节数、主帧crc、从帧crc其中之一或者其组合。
8.根据权利要求1-7任一所述的一种基于条件过滤的mvb报文及波形采集存储方法,其特征在于,所述过滤判决器对所述解码报文信息实时过滤,所述解码报文缓存器中有数据时所述过滤判决器对所述解码报文缓存器中的解码报文进行过滤,从所述解码报文缓存器中删除不符合过滤条件的解码报文信息。
9.根据权利要求1所述的一种基于条件过滤的mvb报文及波形采集存储方法,其特征在于,根据开始采样时间、报文起始时间、采样率、采集波形时长计算出目标波形起始数据点索引以及数据长度:
posindex=(t1-t0)×(k/10)
datalength=δt×(k×1000)
其中posindex表示目标波形起始数据点索引,datalength表示数据长度,t0为采样开始时间,t1为报文起始时间,δt代表采集波形时长,k代表采样率。
10.根据权利要求9所述的一种基于条件过滤的mvb报文及波形采集存储方法,其特征在于,根据所述目标波形起始数据点索引以及数据长度,到波形数据缓存器中提取相应波形数据,将提取的波形数据和相应的解码报文信息以文件形式存入波形数据存储器。
技术总结本发明公开了一种基于条件过滤的MVB报文及波形采集存储方法,包括以下步骤:采集MVB总线A/B波形数据;将采集到的波形数据存入波形数据缓存器;将采集到的波形数据进行实时解码,得到解码报文;将解码报文存入解码报文缓存器;根据预先设置的过滤判决器对解码报文进行过滤,并从解码报文缓存器中提取相应的解码报文;根据过滤后的解码报文计算目标波形数据的位置及长度;从波形数据缓存器中提取目标波形数据并存入波形数据存储器。本发明通过使用预先设置的过滤判决器,对采集到的大量MVB报文及波形数据进行过滤,获取需要的报文及波形,提高MVB总线中目标设备物理波形采集定位的效率,降低采集装置设计实现成本。
技术研发人员:赵建博;沈华波;董建磊;孙晓东;韩帅;刘真;王新政;于雷;王中方
受保护的技术使用者:中车青岛四方机车车辆股份有限公司
技术研发日:2020.10.12
技术公布日:2021.03.12