一种多速率通讯数据流格式的解析方法.pdf

上传人:xia****o6 文档编号:1088672 上传时间:2018-03-30 格式:PDF 页数:7 大小:397.61KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910100320.3

申请日:

2009.07.02

公开号:

CN101588370A

公开日:

2009.11.25

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):H04L 29/06申请日:20090702授权公告日:20120328终止日期:20140702|||授权|||实质审查的生效|||公开

IPC分类号:

H04L29/06; H04L1/00

主分类号:

H04L29/06

申请人:

浙江大学

发明人:

胡慧珠; 方金德; 舒晓武; 刘 承

地址:

310027浙江省杭州市浙大路38号

优先权:

专利代理机构:

杭州求是专利事务所有限公司

代理人:

韩介梅

PDF下载: PDF下载
内容摘要

本发明公开的多速率通讯数据流格式的解析方法,包括以下步骤:1)定义帧头;2)定义帧类别ID;3)定义帧校验码;4)定义帧序号;5)定义帧数据包;6)对从通讯端口读取的字节流数据进行解析。本发明与以往的通讯数据流格式的解析方法相比,具有如下优点:a)来自不同通讯设备的不同速率的数据可以通过一条物理链路实现传输,大大简化了物理通讯链路。b)不同类型不同精度的数据可以并行传输,提高了传输效率。c)可以保持数据的时间同步特性来分析各种环境因素对陀螺输出的影响。d)采用模板机制,可以通过简单的配置实现对具体的字节数据流进行解析,从而很好的解决了通讯数据格式的适应性问题。

权利要求书

1.  一种多速率通讯数据流格式的解析方法,包括以下步骤:
帧的数据结构包括帧头、帧类别ID、帧校验码、帧序号和帧数据包:
1)定义帧头,帧头由若干个在一次传输过程中固定统一的字节组成;
2)定义帧类别ID,帧类别ID由一个字节组成,采用一个无符号的8位整形来表示帧类别ID的值;
3)定义帧校验码,帧校验码由一个字节组成,采用一个字节的无符号整形表示帧校验码的值,帧校验码的值和对应帧其它的字节满足校验算法所定义的函数关系;
4)定义帧序号,帧序号由一到四个字节组成,采用一个32位整形值表示当前帧从通迅设备发出的序号;
5)定义帧数据包,帧数据包由若干个帧变量体组成,每个帧变量体具有1-8个字节,帧变量体包含了变量名称、变量的数据类型、变量在帧数据包中位置偏移、变量对应的缓存空间,变量对应的缓存空间的字节长度;
6)将从通讯端读入的待解析的数据流字节与定义的帧头比较,进行帧头匹配,若帧头不匹配,则再读入由帧头所定义的字节长度的数据进行帧头匹配,若帧头匹配成功,则读入待解析数据流下一个字节,该字节的值即为帧类别ID的值,然后根据帧类别ID的值选择相应的帧的数据结构来处理后续的字节序列,处理步骤如下:
a)根据当前帧所指定的字节个数的读取指定长度的字节序列;
b)根据当前帧所规定的校验算法执行校验,若不通过,则导出错误信息,并跳回到帧头匹配阶段;
c)判断当前帧是否支持帧序号检测,若支持则判断是否存在数据丢失或破坏等异常状况,并采取补发数据与导出错误信息措施;
d)处理帧数据包,根据变量在帧数据包中的位置偏移来找到变量所对应的内存空间,根据由变量指定的字节长度取得字节序列,然后根据变量对应的数据类型来将字节序列转化成对应的变量值,最后根据变量名称向变量输出流输出变量;重复解析当前帧中所有的变量体,直到一帧的匹配工作完成,重新回到帧头匹配阶段;
7)重复步骤6),解析整个数据流。

说明书

一种多速率通讯数据流格式的解析方法
技术领域
本发明涉及通讯数据流格式的解析方法,属于数据通讯处理技术领域
背景技术
随着陀螺自动测试系统的不断发展,陀螺自动测试系统需要对多种设备进行测控和数据通信。各种不同的测试设备具有不同的通讯数据格式。同时陀螺自动测试系统内部各个子系统中不同形式、不同速率的数据需要汇总以统一的接口输出,亦即原本多路的不同格式、不同速率的数据,现在需要在同一信路中传输,然后再还原为各自独立的数据输出。而以往的测试系统采用的固定单一的通讯数据格式既无法适应数据类型的多变性,也无法适应数据传输速率的多变性。同时,由于陀螺自动测试系统需要陀螺输出与其他各种环境变量的输出具有精确的时间同步特性,而来自各个测试设备的数据在传输与解析的过程中都可能发生数据丢失,从而使得各个变量的时序无法同步。
发明内容
本发明的目的是提出一种可以将来自于各路的不同数据类型不同速率的混合数据流还原成独立的各路数据变量并可以保证各路数据变量同步的多速率通讯数据流格式的解析方法。
本发明的多速率通讯数据流格式的解析方法,包括以下步骤:
帧的数据结构包括帧头、帧类别ID、帧校验码、帧序号和帧数据包:
1)定义帧头,帧头由若干个在一次传输过程中固定统一的字节组成;
2)定义帧类别ID,帧类别ID由一个字节组成,采用一个无符号的8位整形来表示帧类别ID的值;
3)定义帧校验码,帧校验码由一个字节组成,采用一个字节的无符号整形表示帧校验码的值,帧校验码的值和对应帧其它的字节满足校验算法所定义的函数关系;
4)定义帧序号,帧序号由一到四个字节组成,采用一个32位整形值表示当前帧从通迅设备发出的序号;
5)定义帧数据包,帧数据包由若干个帧变量体组成,每个帧变量体具有1-8个字节,帧变量体包含了变量名称、变量的数据类型、变量在帧数据包中位置偏移、变量对应的缓存空间,变量对应的缓存空间的字节长度;
6)将从通讯端读入的待解析的数据流字节与定义的帧头比较,进行帧头匹配,若帧头不匹配,则再读入由帧头所定义的字节长度的数据进行帧头匹配,若帧头匹配成功,则读入待解析数据流下一个字节,该字节的值即为帧类别ID的值,然后根据帧类别ID的值选择相应的帧的数据结构来处理后续的字节序列,处理步骤如下:
a)根据当前帧所指定的字节个数的读取指定长度的字节序列;
b)根据当前帧所规定的校验算法执行校验,若不通过,则导出错误信息,并跳回到帧头匹配阶段;
c)判断当前帧是否支持帧序号检测,若支持则判断是否存在数据丢失或破坏等异常状况,并采取补发数据与导出错误信息措施;
d)处理帧数据包,根据变量在帧数据包中的位置偏移来找到变量所对应的内存空间,根据由变量指定的字节长度取得字节序列,然后根据变量对应的数据类型来将字节序列转化成对应的变量值,最后根据变量名称向变量输出流输出变量;重复解析当前帧中所有的变量体,直到一帧的匹配工作完成,重新回到帧头匹配阶段;
7)重复步骤6),解析整个数据流。
本发明的优点在于:
实现多种速率的帧的数据在同一传输链路上传输,然后解析分流变回原本各帧的数据,使得来自不同通讯设备的不同速率的数据在不丢失其时间特性的同时,可以通过一条物理链路实现传输,大大简化了物理通讯链路的复杂性。
实现不同数据类型的变量在同一个帧中以统一的二进制数据格式进行混合传输,然后解析分流变回原本数据类型的变量,使得来自于不同通讯设备的不同类型不同精度的数据可以并行传输,提高了传输效率。
在帧中添加帧序号,解析时进行序号检测和补偿措施,实现各个数据变量的同步,使得解析出来的数据具有精确的时间同步特性,从而可以分析各种环境因素对陀螺输出的影响。
采用模板机制,可以通过简单的模板配置的方式,包括对帧头、帧类别ID、帧校验码、帧序号、帧数据包中各个变量体的指定,实现对在具体应用场景下的字节数据流进行解析,而不必为每一种数据流重写对应的解析方法,从而很好的解决了陀螺自动测试系统通讯数据格式的适应性问题。
附图说明
图1是帧格式的定义;
图2是数据流解析算法流程。
具体实施方式
本发明提出的多速率通讯数据流格式的解析方法,包括以下步骤(过程参考图2):
帧的数据结构如图1所示,包括帧头、帧类别ID、帧校验码、帧序号和帧数据包:
1)指定帧头,由若干个十六进制数表示帧头的值,每个十六进制数以“-”符号隔开。例如这里指定帧头值为“0A-1B-2C”。
2)指定帧类别ID,用一个0~255的整数表示帧类别ID的值。例如这里指定帧类别ID的值为10。
3)指定帧校验码,帧校验码由一个字符串表示,格式为“Vn”,其中n为一个0-255的整数,代表采用的校验算法的类别,例如这里帧都采用一号校验算法,表示为“V1”。
4)指定帧序号,帧序号由一个字符串表示,格式为“Ln”,其中n为一个1-4的整数,代表在帧中帧序号对应的字节长度,例如这里帧都使用两个字节来传输帧序号,表示为“L2”。
5)指定帧数据包,由若干个字符串组成,以“-”符号隔开。描述帧变量体的字符串的格式为字符和数据的组合。其中字符指示数据的类型,数据指示对应的字节长度。具体规定如下“S”代表带符号的整形,带符号的整形支持1-8的字节长度,例如“S4”代表四个字节的带符号整形,对应C++中的int类型(32位整形)。“U”代表无符号整形,无符号的整形支持1-4的字节长度,例如“U2”代表两个字节的无符号整形,对应C ++中的unsigned short类型(16位无符号整形)。“F”代表浮点类型,浮点类型支持4或8的字节长度,例如“F8”代表8个字节的浮点类型,对应C++中的double类型(64位浮点型)。例如这里帧数据包指定为“S4-U2-F8”,表示数据包是一个C++中int型数据unsigned short型数据double型数据的组合。
综上所述,帧格式的描述举例如下:
0A-1B-2C  $   10   $   V1   $   L2   $   S4-U2-F8
此帧的具体格式为第1-3个字节为帧头,其值分别为“0A”、“1B”和“2C”。第4个字节为帧类型ID的值为10。第5个字节为校验码的值,采用的校验算法是一号校验算法。第6、7字节为帧序号对应的值,用于帧的同步保持。第8-11个字节对应一个int值。第12-13个字节对应一个unsigned short类型。第14-21个字节对应一个double类型。根据模板机制的要求,将上述的这个帧格式描述字符串添加模板配制文件中对应“帧名称”段的“帧格式”键上,解析方法便可以在字节数据流中识别对应的帧,并将变量从字节数据流中解析出来,解析步骤如下:
6)将从通讯端读入的待解析的数据流字节与定义的帧头“0A-1B-2C”比较,进行帧头匹配,若帧头不匹配,则再读入由帧头所定义的字节长度的数据进行帧头匹配,若帧头匹配成功,则读入待解析数据流下一个字节,该字节的值若不为10,则选择其它与此字节值匹配的帧的数据结构去处理,不存在与此字节匹配的帧则跳回到帧头匹配阶段,若为10则选择此例中的帧的数据结构来处理,处理步骤如下:
a)根据当前帧所指定的字节个数的读取指定长度的字节序列,当前帧的字节长度为21;
b)根据当前帧所指定1号的校验算法执行校验,若不通过,则导出错误信息,并跳回到帧头匹配阶段;
c)当前帧支持帧序号检测,根据帧序号对于的两个字节提取帧序号的值,根据上一个正常的帧的序号值和当前帧的序号值之间的关系判断数据丢失或破坏异常状况,采取补发数据或导出错误信息措施;
d)处理帧数据包,提取数据包中的第1-4个字节,转化为一个对应的int类型变量,第5-6个字节转化为一个对应的unsigned short类型变量,第7-14个字节转化为一个double类型变量,然后分别根据每个帧变量的变量名称向输出流输出变量。至此当前帧的匹配工作完成,重新回到帧头匹配阶段;
7)重复步骤6),解析整个数据流。

一种多速率通讯数据流格式的解析方法.pdf_第1页
第1页 / 共7页
一种多速率通讯数据流格式的解析方法.pdf_第2页
第2页 / 共7页
一种多速率通讯数据流格式的解析方法.pdf_第3页
第3页 / 共7页
点击查看更多>>
资源描述

《一种多速率通讯数据流格式的解析方法.pdf》由会员分享,可在线阅读,更多相关《一种多速率通讯数据流格式的解析方法.pdf(7页珍藏版)》请在专利查询网上搜索。

本发明公开的多速率通讯数据流格式的解析方法,包括以下步骤:1)定义帧头;2)定义帧类别ID;3)定义帧校验码;4)定义帧序号;5)定义帧数据包;6)对从通讯端口读取的字节流数据进行解析。本发明与以往的通讯数据流格式的解析方法相比,具有如下优点:a)来自不同通讯设备的不同速率的数据可以通过一条物理链路实现传输,大大简化了物理通讯链路。b)不同类型不同精度的数据可以并行传输,提高了传输效率。c)可以保。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1