首页> 中国专利> 一种利用示波器实现MVB和WTB帧数据实时解码的方法

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

摘要

本发明公开了一种利用示波器实现MVB和WTB帧数据实时解码的方法,该方法为:设定解码类型;示波器采集数据;示波器将采集的数据传输到工控机中;找起始点;1/2周期采样;判断主帧、从帧;解码;显示16进制帧数据;手动退出解码程序,本方法弥补了示波器不能对MVB/WTB帧数据解码的缺点。

著录项

  • 公开/公告号CN102307078A

    专利类型发明专利

  • 公开/公告日2012-01-04

    原文格式PDF

  • 申请/专利权人 株洲南车时代电气股份有限公司;

    申请/专利号CN201110241439.X

  • 申请日2011-08-22

  • 分类号H04L1/00(20060101);

  • 代理机构43113 长沙正奇专利事务所有限责任公司;

  • 代理人卢宏

  • 地址 412001 湖南省株洲市石峰区时代路

  • 入库时间 2023-12-18 04:04:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-08-14

    授权

    授权

  • 2012-02-22

    实质审查的生效 IPC(主分类):H04L1/00 申请日:20110822

    实质审查的生效

  • 2012-01-04

    公开

    公开

说明书

技术领域

本发明涉及通信领域,具体是一种利用示波器实现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)解码,若帧校验序列不匹配,则报错,返回2);若帧校验序列匹配,跳到8);

8)显示16进制帧数据,返回2);

9)手动退出解码程序。

找起始点的步骤为:

1)将示波器采集的数据幅值与设定值比较,第一个大于设定值的点的位置记为n1;

2)从n1往后与设定值比较,第一个小于设定值的点的位置记为n2;

3)起始点位置的计算公式为:起始点位置=(n1+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到-1为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”为1BT高电平编码,“NL”为1BT低电平编码,“0”为1BT曼彻斯特编码。主帧的长度固定为33位,包括:9位主起始分界符;4位F-code,12位的地址或参量;8位的校验序列。从帧可能有五种长度:33,49,81,153或297位,包括:9位从起始分界符;16~256位的数据;每个64位序列有一个8位校验序列。WTB设备信号传输数率是1Mbit/s,则周期为500ns。WTB帧包括:16位前导码,两个8位的标志位,32位的链路控制字段,0~1024位链路数据(为填充未包括在内),16位帧校验序列FCS,终止位,示波器采集的MVB/WTB波形数据由2个参数构成,一是波形幅值,二是点与点之间的时间间隔。

本发明的解码方法主要包括以下步骤:

(1)找起始点,如附图5所示

1)将示波器采集的数据幅值与X(X取值为0.4到4.5之间)比较,第一个大于X的点位置记为n1。如图1

2)从n1往后与X比较,第一个小于X的点的位置记为n2。

3)那么起始点位置=(n1+n2)/2。

注:示波器采集的波形数据都是一个个数据点组成,只是采样率比较高,点与点之间的距离很短,肉眼无法识别,从图上看到的波形是连续的波形。

(2)1/2周期采样,如附图6所示

1)从起始采样点开始每隔MVB信号周期1/2采集一个点。

2)采集的点与X和-X比较,大于X为1(高),小于-X为-1(低),之间为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终止分界符比较,如不匹配则报终止分界符出错。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号