一种利用示波器实现mvb和wtb帧数据实时解码的方法

文档序号:7759093阅读:773来源:国知局
专利名称:一种利用示波器实现mvb和wtb帧数据实时解码的方法
技术领域
本发明涉及通信领域,具体是一种利用示波器实现MVB和WTB帧数据实时解码的方法。
背景技术
目前示波器不支持MVB和WTB帧数据解码,我们通过示波器只能看到MVB和WTB 数据的波形,不能实时监测MVB/WTB设备通信发送的帧数据内容和MVB/WTB设备的发送器测试。

发明内容
本发明所要解决的技术问题是,针对现有技术不足,提供一种利用示波器实现MVB 和WTB帧数据实时解码的方法,弥补示波器不能对MVB/WTB帧数据解码的缺点,实时监测 MVB/WTB设备通信发送的帧数据内容以及MVB/WTB设备的发送器测试。为解决上述技术问题,本发明所采用的技术方案是一种利用示波器实现MVB和 WTB帧数据实时解码的方法,其特征在于,该方法为1)设定解码类型;2)示波器采集数据;3)示波器将采集的数据传输到工控机中;4)找起始点;5) 1/2周期采样,得到数组a ;6)判断主帧、从帧,若数组a)的前18位与帧头不匹配,则报错,返回2);若匹配, 跳到7);7)解码,若帧校验序列不匹配,则报错,返回i);若帧校验序列匹配,跳到8);8)显示16进制帧数据,返回2);9)手动退出解码程序。找起始点的步骤为1)将示波器采集的数据幅值与设定值比较,第一个大于设定值的点的位置记为 nl ;2)从nl往后与设定值比较,第一个小于设定值的点的位置记为π2 ;3)起始点位置的计算公式为起始点位置=(nl+n2)/2.1/2周期采样的步骤为1)从起始采样点开始每隔MVB信号周期的1/2采集一个点,或者从起始采样点开始每隔WTB信号周期的1/2采集一个点(WTB与MVB信号周期不同,当选定MVB解码类型时, 1/2周期为MVB脉宽的1/2,当选定WTB解码类型时,1/2周期为WTB脉宽的1/2。);2)采集的点与设定值和设定值的相反数比较,大于设定值的点为1 (高),小于设定值相反数的点为-1 (低),在设定值和设定值相反数之间的点为0,当为0时则代表帧结束;3)将上述转换的1与-1保存在数组a中。判断主帧、从帧的步骤为1)取数组a中的前面18位与主帧和从帧的帧头编码比较;2)与主帧帧头相等则是主帧,与从帧帧头相等则是从帧;3)去掉帧头数据后保存在数组b中。解码的步骤为1)根据曼彻斯特编码原理,将数组b中数据重新组合,对于MBV帧,1到-1为1,_1 到1为0,对于WTB帧,1到-I为0,-1到1为1 ;2)重新组合数据,并将这些数据保存在数组c中;3)对于MVB解码,根据主帧和从帧的数据帧格式,去掉数组c中的CRC校验码、终止位,将剩下的数据转换成16进制并显示;对于WTB解码,按WTB帧格式去掉16位前导码、 两个8位的标志位、32位的链路控制字段、位填充、16位帧校验序列FCS、终止位,最后得到的数据是所需数据。所述的设定值为0.4 4. 5。本发明可以实时观测MVB设备和WTB设备发送的帧类型,以及帧数据,弥补了示波器不能对MVB/WTB帧数据解码的缺点。


图1为MVB主帧格式示意图2为MVB从帧格式示意图3为WTB帧格式示意图4为本发明实施解码流程图5为找起始点示意图6为1/2周期采样示意图7为本发明实施例中示波器采集的EMD主帧波形
图8为本发明实施例中1/2周期采样后点的布局。
具体实施例方式
MVB设备信号传输数率是1. 5Mbit/s,则周期为667ns (IEC61375-1标准中定义 667ns为1BT),帧分为ESD和EMD帧,ESD和EMD帧数据都采用曼彻斯特编码,起始分界符是一个由{起始位,“NH”,“NL”,“0”,“NH”,“NL”,“0”,“0”,“0” }组成的固定序列,序列中 “NH”为IBT高电平编码,“NL”为IBT低电平编码,“0”为IBT曼彻斯特编码。主帧的长度固定为33位,包括9位主起始分界符;4位F-code,12位的地址或参量;8位的校验序列。从帧可能有五种长度33,49,81,153或297位,包括9位从起始分界符;16 256位的数据; 每个64位序列有一个8位校验序列。WTB设备信号传输数率是IMbit/s,则周期为500ns。 WTB帧包括16位前导码,两个8位的标志位,32位的链路控制字段,0 IOM位链路数据 (为填充未包括在内),16位帧校验序列FCS,终止位,示波器采集的MVB/WTB波形数据由2 个参数构成,一是波形幅值,二是点与点之间的时间间隔。
本发明的解码方法主要包括以下步骤(1)找起始点,如附图5所示1)将示波器采集的数据幅值与X (X取值为0.4到4. 5之间)比较,第一个大于X 的点位置记为nl。如图12)从nl往后与X比较,第一个小于X的点的位置记为n2。3)那么起始点位置=(nl+n2)/2。注示波器采集的波形数据都是一个个数据点组成,只是采样率比较高,点与点之间的距离很短,肉眼无法识别,从图上看到的波形是连续的波形。(2) 1/2周期采样,如附图6所示1)从起始采样点开始每隔MVB信号周期1/2采集一个点。2)采集的点与X和-X比较,大于X为1 (高),小于-X为-I (低),之间为0,当为 0时则代表帧结束。3)将上述转换的1与-1保存在数组a中。(3)判断主帧、从帧1)取数组a中的前面18位与主帧和从帧的帧头编码比较。2)与主帧帧头相等则是主帧,与从帧帧头相等则是从帧。3)去掉帧头数据后保存在数组b中。(4)解码1)根据曼彻斯特编码原理,将数组b中数据重新组合,1到-1为1,-1到1为0。2)重新组合数据保存在数组c中。3)根据主帧和从帧的数据帧格式,去掉数组c中的CRC校验码、终止位,将剩下的数据转换成16进制并显示。通过以上方式就可以将波形数据转换为我们想要的16进制的数字数据。这样就可以知道MVB通信中传输的是什么数据。解码流程图如图六。WTB帧数据实时解码的原理与MVB的相同,不同之处在1) 1/2周期采样为WTB信号的周期的1/2。2)解码步骤1)中1到-1为0,-1到1为1。3)解码步骤3)中,WTB解码是按WTB帧格式去掉16位前导码、两个8位的标志位、32位的链路控制字段、位填充、16位帧校验序列FCS、终止位,最后得到的数据才是所需数据。参见图7,示波器采集的MVB设备发送的EMD波形,通过此波形讲述具体解码实例。1)找起始点,起始点为标号为1的脉宽的1/2位置处;2)然后每隔1/2周期采集一个点,即第二个点为标号为2的脉宽1/2位置处;由于标号为3的脉宽为1个周期,距第二个点1/2周期的第三个点处在标号为3的脉宽的1/4 位置处;第四个点处在标号为3的脉宽的3/4位置处;后续的点都是距离前一个点1/2周期处。(脉宽分三种1/2倍周期宽度,1倍周期宽度,3/2倍周期宽度);3)附图八中标号为1到51的脉宽上的采样点是通过上述两步后得到的,将采样点与X (设定值为1. 5)和-X比较,大于X为1 (高),小于-X为-1 (低),可以组成此序列 (1,-1,1,1, -1,-1, -1,1,1,1, -1,-1,-1,1, -1,1,-1,1,1, -1,-1,1, -1,1,1, -1,-1,1,-1,1,-1,1,1, -1,-1,1, -1,1, -1,1,1, -1,-1,1, -1,1, -1,1, -1,1, -1,1,1, -1,1, -1,1, -1, 1,-1,1,-1,1,-1,-1,1,-1,-1,1,1),将此序列保存在数组中;4)将序列中的前18个数取出与MVB起始分界符比较并判断是主帧还是从帧,此处判断此帧是主帧,如果与MVB起始分界符比较不匹配,则报错,丢掉此段序列,重新采集数据进行处理;5)从序列中19位开始取出32个数,此32个数就是帧数据,由于帧数据是曼彻斯特编码,且采用的是1/2周期采样,一个曼彻斯特编码由两个数组成(1到-1为1,-1到1 为0),所以32个数要转换为16位的数据,转换后的数据为1001000100010000,转换为16 进制显示为9110,此时我们知道MVB设备发了一个9110的数据帧。但此数据是否是正确的要看通过1001000100010000算出的CRC校验码与序列中51位开始的16个数转换的8位 CRC校验序列是否匹配,匹配则正确,否则错误;6)从序列中51位开始取出16个数,此数据是帧数据的校验序列,将16个数按步骤5中转换为8位数据,即为CRC检验序列;7)从序列中67位开始取出4个数与MVB终止分界符比较,如不匹配则报终止分界符出错。
权利要求
1.一种利用示波器实现MVB和WTB帧数据实时解码的方法,其特征在于,该方法为1)设定解码类型;2)示波器采集数据;3)示波器将采集的数据传输到工控机中;4)找起始点;5)1/2周期采样,得到数组a;6)判断主帧、从帧,若数组a)的前18位与帧头不匹配,则报错,返回2);若匹配,跳到7);7)解码,若帧校验序列不匹配,则报错,返回幻;若帧校验序列匹配,跳到8);8)显示16进制帧数据,返回2);9)手动退出解码程序。
2.根据权利要求1所述的利用示波器实现MVB和WTB帧数据实时解码的方法,其特征在于,找起始点的步骤为1)将示波器采集的数据幅值与设定值比较,第一个大于设定值的点的位置记为nl;2)将从nl往后的数据幅值与设定值比较,第一个小于设定值的点的位置记为n2;3)起始点位置的计算公式为起始点位置=(nl+n2)/2。
3.根据权利要求1所述的利用示波器实现MVB和WTB帧数据实时解码的方法,其特征在于,1/2周期采样的步骤为1)对于MVB帧数据,从起始采样点开始每隔MVB信号周期的1/2采集一个点;对于WTB 帧数据,从起始采样点开始每隔WTB信号周期的1/2采集一个点;2)采集的点与设定值和设定值的相反数比较,大于设定值的点为1,小于设定值相反数的点为-1,在设定值和设定值相反数之间的点为0,当为0时则代表帧结束;3)将上述转换的1与-1保存在数组a中。
4.根据权利要求1所述的利用示波器实现MVB和WTB帧数据实时解码的方法,其特征在于,判断主帧、从帧的步骤为1)取数组a中的前面18位与主帧和从帧的帧头编码比较;2)与主帧帧头相等则是主帧,与从帧帧头相等则是从帧;3)去掉帧头数据后保存在数组b中。
5.根据权利要求1所述的利用示波器实现MVB和WTB帧数据实时解码的方法,其特征在于,解码的步骤为1)根据曼彻斯特编码原理,将数组b中数据重新组合,对于MBV帧,1到-1为1,-1到 1为0,对于WTB帧,1到-1为0,-1到1为1 ;2)重新组合数据,并将这些数据保存在数组c中;3)对于MVB解码,根据主帧和从帧的数据帧格式,去掉数组c中的CRC校验码、终止位, 将剩下的数据转换成16进制;对于WTB解码,按WTB帧格式去掉16位前导码、两个8位的标志位、32位的链路控制字段、位填充、16位帧校验序列FCS、终止位,将最后得到的数据转换成16进制。
6.根据权利要求2或3所述的利用示波器实现MVB和WTB帧数据实时解码的方法,其特征在于,所述的设定值为0. 4 4. 5。
全文摘要
本发明公开了一种利用示波器实现MVB和WTB帧数据实时解码的方法,该方法为设定解码类型;示波器采集数据;示波器将采集的数据传输到工控机中;找起始点;1/2周期采样;判断主帧、从帧;解码;显示16进制帧数据;手动退出解码程序,本方法弥补了示波器不能对MVB/WTB帧数据解码的缺点。
文档编号H04L1/00GK102307078SQ201110241439
公开日2012年1月4日 申请日期2011年8月22日 优先权日2011年8月22日
发明者丁荣军, 冯江华, 吴赟, 邓珩, 陈高华, 高连升 申请人:株洲南车时代电气股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1