CN101588370A - 一种多速率通讯数据流格式的解析方法 - Google Patents

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

Info

Publication number
CN101588370A
CN101588370A CNA2009101003203A CN200910100320A CN101588370A CN 101588370 A CN101588370 A CN 101588370A CN A2009101003203 A CNA2009101003203 A CN A2009101003203A CN 200910100320 A CN200910100320 A CN 200910100320A CN 101588370 A CN101588370 A CN 101588370A
Authority
CN
China
Prior art keywords
frame
byte
data
variable
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2009101003203A
Other languages
English (en)
Other versions
CN101588370B (zh
Inventor
胡慧珠
方金德
舒晓武
刘承
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN2009101003203A priority Critical patent/CN101588370B/zh
Publication of CN101588370A publication Critical patent/CN101588370A/zh
Application granted granted Critical
Publication of CN101588370B publication Critical patent/CN101588370B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

一种多速率通讯数据流格式的解析方法
技术领域
本发明涉及通讯数据流格式的解析方法,属于数据通讯处理技术领域。
背景技术
随着陀螺自动测试系统的不断发展,陀螺自动测试系统需要对多种设备进行测控和数据通信。各种不同的测试设备具有不同的通讯数据格式。同时陀螺自动测试系统内部各个子系统中不同形式、不同速率的数据需要汇总以统一的接口输出,亦即原本多路的不同格式、不同速率的数据,现在需要在同一信路中传输,然后再还原为各自独立的数据输出。而以往的测试系统采用的固定单一的通讯数据格式既无法适应数据类型的多变性,也无法适应数据传输速率的多变性。同时,由于陀螺自动测试系统需要陀螺输出与其他各种环境变量的输出具有精确的时间同步特性,而来自各个测试设备的数据在传输与解析的过程中都可能发生数据丢失,从而使得各个变量的时序无法同步。
发明内容
本发明的目的是提出一种可以将来自于各路的不同数据类型不同速率的混合数据流还原成独立的各路数据变量并可以保证各路数据变量同步的多速率通讯数据流格式的解析方法。
本发明的多速率通讯数据流格式的解析方法,包括以下步骤:
帧的数据结构包括帧头、帧类别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),解析整个数据流。

Claims (1)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009101003203A CN101588370B (zh) 2009-07-02 2009-07-02 一种多速率通讯数据流格式的解析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101003203A CN101588370B (zh) 2009-07-02 2009-07-02 一种多速率通讯数据流格式的解析方法

Publications (2)

Publication Number Publication Date
CN101588370A true CN101588370A (zh) 2009-11-25
CN101588370B CN101588370B (zh) 2012-03-28

Family

ID=41372433

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101003203A Expired - Fee Related CN101588370B (zh) 2009-07-02 2009-07-02 一种多速率通讯数据流格式的解析方法

Country Status (1)

Country Link
CN (1) CN101588370B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105187420A (zh) * 2015-08-27 2015-12-23 哈尔滨工业大学 一种基于rs422总线的通讯协议匹配方法
CN106095910A (zh) * 2016-06-08 2016-11-09 广东欧珀移动通信有限公司 一种音频文件的标签信息解析方法、装置及终端
CN106412956A (zh) * 2016-10-19 2017-02-15 深圳市极致汇仪科技有限公司 多数据聚合的收发测试
CN106713167A (zh) * 2015-11-16 2017-05-24 中兴通讯股份有限公司 数据码流发送方法及装置
CN109981213A (zh) * 2017-12-27 2019-07-05 上海力声特医学科技有限公司 应用于人工耳蜗调机系统和语音处理器的通信方法
CN112463706A (zh) * 2020-12-07 2021-03-09 上海电气集团股份有限公司 一种数据发送、接收方法及通信终端
CN112463672A (zh) * 2020-11-04 2021-03-09 贵州电网有限责任公司 数据传输方法、装置及介质
CN112860305A (zh) * 2021-02-07 2021-05-28 三一智矿科技有限公司 矿山数据采集系统、方法、存储介质及计算机设备
CN112463706B (zh) * 2020-12-07 2024-05-31 上海电气集团股份有限公司 一种数据发送、接收方法及通信终端

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101330446B (zh) * 2007-06-21 2012-05-09 中兴通讯股份有限公司 增强专用传输信道的帧协议层帧的解析方法
CN101262304B (zh) * 2008-04-24 2011-05-11 浙江大学 一种基于通用通讯数据格式的数据流解析方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105187420A (zh) * 2015-08-27 2015-12-23 哈尔滨工业大学 一种基于rs422总线的通讯协议匹配方法
CN105187420B (zh) * 2015-08-27 2018-03-30 哈尔滨工业大学 一种基于rs422总线的通讯协议匹配方法
CN106713167A (zh) * 2015-11-16 2017-05-24 中兴通讯股份有限公司 数据码流发送方法及装置
WO2017084515A1 (zh) * 2015-11-16 2017-05-26 中兴通讯股份有限公司 数据码流发送方法及装置
CN106095910B (zh) * 2016-06-08 2018-01-19 广东欧珀移动通信有限公司 一种音频文件的标签信息解析方法、装置及终端
CN106095910A (zh) * 2016-06-08 2016-11-09 广东欧珀移动通信有限公司 一种音频文件的标签信息解析方法、装置及终端
CN106412956A (zh) * 2016-10-19 2017-02-15 深圳市极致汇仪科技有限公司 多数据聚合的收发测试
CN106412956B (zh) * 2016-10-19 2019-11-15 深圳市极致汇仪科技有限公司 多数据聚合的收发测试
CN109981213A (zh) * 2017-12-27 2019-07-05 上海力声特医学科技有限公司 应用于人工耳蜗调机系统和语音处理器的通信方法
CN112463672A (zh) * 2020-11-04 2021-03-09 贵州电网有限责任公司 数据传输方法、装置及介质
CN112463706A (zh) * 2020-12-07 2021-03-09 上海电气集团股份有限公司 一种数据发送、接收方法及通信终端
CN112463706B (zh) * 2020-12-07 2024-05-31 上海电气集团股份有限公司 一种数据发送、接收方法及通信终端
CN112860305A (zh) * 2021-02-07 2021-05-28 三一智矿科技有限公司 矿山数据采集系统、方法、存储介质及计算机设备

Also Published As

Publication number Publication date
CN101588370B (zh) 2012-03-28

Similar Documents

Publication Publication Date Title
CN101588370B (zh) 一种多速率通讯数据流格式的解析方法
US8060652B2 (en) Extensible binary mark-up language for efficient XML-based data communications and related systems and methods
US6496540B1 (en) Transformation of parallel interface into coded format with preservation of baud-rate
CN101366181B (zh) 高速传输系统
CN105406937B (zh) 定帧方法及装置
CN101651683B (zh) 一种信令消息解析源代码生成方法
CN104008078B (zh) 一种基于fpga的数据传输板之间进行高速传输的方法
CN104579541B (zh) 一种无线通信系统媒体接入层协议数据单元的构造方法
US6930621B2 (en) Method to overlay a secondary communication channel onto an encoded primary communication channel
US7630399B2 (en) Apparatus and method for recognizing frame check sequence in generic framing procedure encapsulation mode
CN102196321A (zh) 100ge数据在光传送网中的传送方法和数据发送装置
CN103841009A (zh) 一种以太网数据和e1数据的转换与级联的fpga实现方法
JPH05122282A (ja) データ伝送方式
CN105471548B (zh) 一种网络数据包解析及分发方法
CN104052588B (zh) 用于为利用fec编码器的系统实现按ieee1588的精确时间戳的方法
US20080026734A1 (en) Method And System For Communicating Information Within A Physical Link Layer
CN108494613B (zh) 一种警用数字集群系统间互联互通的测试系统和方法
JP4988544B2 (ja) データ処理装置およびデータ処理方法並びにプログラム
CN108833321A (zh) 基于差分相位波形匹配的编码cpm信号码块同步方法
ITTO20070508A1 (it) Procedimento per la codifica di dati numerici in un elaboratore e procedimento per la codifica di strutture dati per la trasmissione in un sistema di telecomunicazioni, basato su detto procedimento di codifica di dati numerici
CN109412895B (zh) 一种检测e1/t1链路时隙绑定方式的方法及设备
CN104468255A (zh) 通道检测及管理信息传递的冗余数据交互系统
CN100444595C (zh) 一种主从设备通信方法
US8363541B2 (en) Serial digital communication protocol
KR100474722B1 (ko) 디지털 통신시스템에서 데이터 프레임을 동기화하는 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120328

Termination date: 20140702

EXPY Termination of patent right or utility model