CN102142917B - 数据帧的定位方法和装置 - Google Patents
数据帧的定位方法和装置 Download PDFInfo
- Publication number
- CN102142917B CN102142917B CN201110078469.3A CN201110078469A CN102142917B CN 102142917 B CN102142917 B CN 102142917B CN 201110078469 A CN201110078469 A CN 201110078469A CN 102142917 B CN102142917 B CN 102142917B
- Authority
- CN
- China
- Prior art keywords
- data frame
- clock cycle
- byte
- search
- frame
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/10—Arrangements for initial synchronisation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明实施例提供了一种数据帧的定位方法及装置。该方法主要包括:为本次始终周期内的数据流的每个字节分配一个定帧状态机,所述定帧状态机分别从各自对应的字节开始搜寻数据帧,获得多个数据帧的搜寻结果,根据前面时钟周期内的数据帧的搜寻结果选择所述多个数据帧的搜寻结果中的一个搜寻结果,作为本次时钟周期内的数据帧的搜寻结果。本发明实施例通过采用每个定帧状态机分别从各自对应的字节并行开始搜寻数据帧,可以快速地搜寻出本次时钟周期内的数据流中封装的多个数据帧,对本次时钟周期内的数据流中封装的数据帧进行精确定位。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种数据帧的定位方法和装置。
背景技术
随着通信网络的融合,光传送网与IP网以及其他网络的互通和互联得到广泛的应用。当光传送网作为另外一种网络的物理层网络时,必须将另外一种网络的数据以一定的格式进行封装,而最常用的封装形式就是GFP(Generic framing procedure,通用成帧规程)封装。
常用的GFP封装多应用在1G-10G的低速率码流,因此其最大被封装数据位宽为64位。但随着网络的迅猛发展,被封装的数据流从40G-200G不等,这时数据位宽变为128位-512位,对于这些高位宽的数据流,可以在一个时钟周期内封装多个数据帧。比如,当数据流的位宽为512位时,每一个时钟周期数据为512/8=64个字节,通常一个GFP帧的长度为12字节,则在一个时钟周期内可以封装5个数据帧。
现有技术中的一种对一个时钟周期内封装的GFP帧进行帧定位的方法为:采用一个定帧状态机对本次时钟周期内的数据流按照字节进行逐步搜寻,确定GFP帧的帧头的开始字节。上述定帧状态机包括三个状态,分别为:HUNT(搜寻)状态、PRESYNC(初步同步)状态和SYNC(同步)状态。
上述定帧状态机在搜寻开始时处于HUNT状态,从本次时钟周期内的数据流的第一个字节开始搜寻,在搜寻到符合第一个GFP帧的帧头的特征的字节后,定帧状态机的状态变化为PRESYNC状态。然后,上述定帧状态机根据上述符合GFP帧的帧头的特征的字节中携带的GFP帧的长度信息,找到第二个GFP帧的帧头的开始字节,对该GFP帧的帧头的开始字节验证成功后,上述定帧状态机的状态变为SYNC状态。上述定帧状态机确定上述第一个GFP帧的帧头、第二个GFP帧的帧头的开始字节正确,将上述第一个GFP帧的帧头、第二个GFP帧的帧头的开始字节和帧的长度进行记录在搜寻结果中。然后,上述定帧状态机从上述第二个GFP帧的帧头的开始字节继续搜寻,直到设定的本次时钟周期对应的搜寻时间结束。
上述定帧状态机在处于PRESYNC状态和SYNC状态时,如果在找到第二个GFP帧的帧头的开始字节,对该开始字节验证失败后,则上述定帧状态机转化为HUNT状态。
在实现本发明过程中,发明人发现现有技术中的对一个时钟周期内封装的GFP帧进行帧定位的方法至少存在如下问题:由于一个时钟周期的时间非常短暂,因此,设定的本次时钟周期对应的搜寻时间也是非常短暂。上述定帧状态机是从本次时钟周期内的数据流的第一个字节开始搜寻,如果上述第一个字节不是GFP帧的开始字节,并且在本次时钟周期内封装了多个数据帧时,则该方法有可能搜寻不到正确的GFP帧的开始字节,无法实现对本次时钟周期内的数据流中封装的GFP帧进行定位。
发明内容
本发明实施例提供了一种数据帧的定位方法和装置,以实现高效率地对一个时钟周期内的数据流中封装的数据帧进行定位。
一种数据帧的定位方法,包括:
获取本次时钟周期内的数据流,为所述本次始终周期内的数据流的每个字节分配一个定帧状态机;
所述定帧状态机分别从各自对应的字节开始搜寻数据帧,获得多个数据帧的搜寻结果,其中,所述搜寻结果包括每个定帧状态机搜寻到的第一个数据帧的开始字节;
根据前面时钟周期内的数据帧的搜寻结果确定本次时钟周期内的第一个数据帧的开始字节;
将所述多个数据帧的搜寻结果分别与所述本次时钟周期内的第一数据帧的开始字节进行匹配,将匹配成功的搜寻结果作为本次时钟周期内的数据帧的搜寻结果。
一种数据帧的定位装置,包括:
搜寻处理模块,用于获取本次时钟周期内的数据流,为所述本次始终周期内的数据流的每个字节分配一个定帧状态机;所述定帧状态机分别从各自对应的字节开始搜寻数据帧,获得多个数据帧的搜寻结果,其中,所述搜寻结果包括每个定帧状态机搜寻到的第一个数据帧的开始字节;
搜寻结果确定模块,用于根据前面时钟周期内的数据帧的搜寻结果确定本次时钟周期内的第一个数据帧的开始字节;将所述搜寻处理模块得到的多个数据帧的搜寻结果分别与所述本次时钟周期内的第一数据帧的开始字节进行匹配,将匹配成功的搜寻结果作为本次时钟周期内的数据帧的搜寻结果。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过为本次始终周期内的数据流的每个字节分配一个定帧状态机,每个定帧状态机分别从各自对应的字节并行开始搜寻数据帧,可以快速地搜寻出本次时钟周期内的数据流中封装的数据帧的开始字节,进而快速地搜寻出本次时钟周期内的数据流中封装的多个数据帧,对本次时钟周期内的数据流中封装的数据帧进行精确定位。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种数据帧的定位方法的处理流程图;
图2为本发明实施例一提供的一种将前面时钟周期内的GFP帧的搜寻结果与本次时钟周期内的GFP帧的搜寻结果进行匹配的示意图;
图3为本发明实施例一提供的一种GFP帧的格式示意图;
图4为本发明实施例提供的一种数据帧的定位装置的具体结构图;
图5为本发明实施例提供的另一种数据帧的定位装置的原理示意图;
图6为本发明实施例提供的另一种数据帧的定位装置的具体结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
实施例一
该实施例提供的一种数据帧的定位方法的处理流程如图1所示,包括如下的处理步骤:
步骤11、为本次始终周期内的数据流的每个字节分配一个定帧状态机,每个定帧状态机分别从各自对应的字节开始搜寻数据帧,获得多个数据帧的搜寻结果。
本发明实施例中的数据帧可以为GFP帧,下面以GFP帧为例来说明本发明实施例。
当在前面时钟周期对应的搜寻时间结束时定帧状态机的状态为:PRESYNC状态或SYNC状态。本发明实施例假设本次时钟周期内的数据流的每个字节都有可能是一个GFP帧的开始字节,采用和本次时钟周期内的数据流的总字节数相等的多个定帧状态机,为本次始终周期内的数据流的每个字节分配一个定帧状态机,每个定帧状态机分别从各自对应的字节开始搜寻数据帧,获得多个GFP帧的搜寻结果,每个搜寻结果对应不同的开始字节。
上述前面时钟周期可以为上一个时钟周期。
步骤12、根据前面时钟周期内的数据帧的搜寻结果确定本次时钟周期内的第一个数据帧的开始字节。将所述多个数据帧的搜寻结果分别与所述本次时钟周期内的第一数据帧的开始字节进行匹配,将匹配成功的搜寻结果作为本次时钟周期内的数据帧的搜寻结果。
根据所述前面时钟周期内的数据帧的搜寻结果确定本次时钟周期内的第一个数据帧的开始字节。
将所述多个数据帧的搜寻结果分别与所述本次时钟周期内的第一数据帧的开始字节进行匹配,将匹配成功的搜寻结果确定本次时钟周期内的数据帧的搜寻结果。
该实施例提供的一种将前面时钟周期内的GFP帧的搜寻结果与本次时钟周期内的GFP帧的搜寻结果进行匹配的示意图如图2所示,在图2中,a0-h0为第0个时钟周期内的数据流的8个字节,a1-h1为第1个时钟周期内的数据流的8个字节,a2-h2为第2个时钟周期内的数据流的8个字节。在第1个时钟周期内,采用8个定帧状态机分别从a1、b1、c1、d1、e1、f1、g1或h1开始搜寻,得到8个搜寻结果。在上述8个搜寻结果中有两个搜寻结果搜寻到了GFP帧,从b1开始搜寻的定帧状态机搜寻到的GFP帧的位置为:b1->g1->f2;从f1开始搜寻的定帧状态机搜寻到的GFP帧的位置为:f1->h2。根据第0个时钟周期内的GFP帧的搜寻结果,第0个时钟周期内的最后一个GFP帧的帧头的开始字节为e0,并且帧头的PLL字段的值指示第1个时钟周期内的第一个GFP帧的开始字节为b1,于是确定上述从b1开始搜寻的定帧状态机搜寻到的GFP帧的位置:b1->g1->f2是正确的。
然后,将本次时钟周期内的GFP帧的搜寻结果和搜寻结束时的定帧状态机的状态传输给下一个时钟周期。
由上述实施例提供的技术方案可以看出,由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过为本次始终周期内的数据流的每个字节分配一个定帧状态机,每个定帧状态机分别从各自对应的字节并行开始搜寻数据帧,可以快速地搜寻出本次时钟周期内的数据流中封装的第一个GFP帧等数据帧的帧头的开始字节,进而快速地搜寻出本次时钟周期内的数据流中封装的多个GFP帧等数据帧,对本次时钟周期内的数据流中封装的GFP帧等数据帧进行精确定位。
具体而言的,上述步骤11中的为本次始终周期内的数据流的每个字节分配一个定帧状态机,每个定帧状态机分别从各自对应的字节并行开始搜寻数据帧,可以包括:
在接收到本次时钟周期内的数据流的各个字节后,先对数据流进行预处理,对数据流的每两个相邻字节的值进行HEC(hybrid error control,混合差错控制)运算,将获得的每两个相邻字节的值的HEC运算结果进行保存。在具体操作上,可以采取多个运算逻辑并行进行上述每两个相邻字节的值的HEC运算。上述预处理过程可以提高后续的GFP帧的搜寻过程中的HEC验证运算的速度。
在实际应用中,采用定帧状态机从一个时钟周期内的数据流的不同字节开始搜寻可以得到不同的GFP帧的帧头的搜寻结果。当在前面时钟周期对应的搜寻时间结束时定帧状态机的状态为:PRESYNC状态或SYNC状态。本发明实施例假设本次时钟周期内的数据流的每个字节都有可能是一个GFP帧的帧头,假设本次时钟周期内的数据流的字节总数为N,则选取N个定帧状态机,每个定帧状态机对应一个搜帧通道。每个定帧状态机利用上述保存的每两个相邻字节的值的HEC运算结果,同时从每个字节开始搜寻GFP帧的帧头,获取N个GFP帧的帧头的搜寻结果。比如,数据流的位宽为512位,则本次时钟周期内的数据流包括512/8=32字节,则采用32个定帧状态机分别对应搜帧通道1、搜帧通道2...搜帧通道32,第1个定帧状态机在搜帧通道1中从第1个字节开始搜寻,第2个定帧状态机在搜帧通道2中从第2个字节开始搜寻...第32个定帧状态机在搜帧通道32中从第32个字节开始搜寻。
每个定帧状态机在开始搜寻时的状态可以和前面时钟周期对应的搜寻时间结束时定帧状态机的状态相同,即为PRESYNC状态或SYNC状态;也可以任意设定为定帧状态机所有可能的状态中的一个状态。
每个定帧状态机从开始搜寻的第一个字节开始,选取连续的相邻的四个字节,将上述连续的相邻的四个字节中的前两个相邻字节的值的HEC运算结果与后两个相邻字节的值进行比较,如果相等,则确定上述前两个相邻字节中的第一个字节为第一个GFP帧的开始字节。然后,根据上述前两个相邻字节的值确定第一个GFP帧的长度,再根据该第一个GFP帧的长度找到第二个GFP帧的开始字节。从第二个GFP帧的开始字节开始,将前两个相邻字节的值的HEC运算结果与后两个相邻字节的值进行比较,如果相等,则上述定帧状态机确定上述第一个GFP帧、第二个GFP帧的位置正确,将上述第一个GFP帧、第二个GFP帧的开始字节和GFP帧的长度信息记录在搜寻结果中。定帧状态机的状态设定为SYNC状态。
然后,上述定帧状态机从所述第二个数据帧的开始字节开始,继续进行所述数据帧的搜寻过程,直到设定的本次时钟周期对应的搜寻时间结束。因此,如果在一个搜寻过程中搜寻到的多个GFP帧的帧头,则该搜寻结果中包括上述多个GFP帧的开始字节和GFP帧的长度信息。
具体的,上述步骤11还可以包括:
当在前面时钟周期对应的搜寻时间结束时定帧状态机的状态为:HUNT状态,则由于根据前面时钟周期内的GFP帧的搜寻结果,得不到前面时钟周期内的最后一个GFP帧的开始字节,也得不到本次时钟周期内的第一个GFP帧的开始字节。于是,采用一个处于HUNT状态的定帧状态机从本次时钟周期内的数据流的第一个字节开始搜寻。
具体而言,上述步骤12中的根据前面时钟周期内的数据帧的搜寻结果确定本次时钟周期内的第一个数据帧的开始字节,可以包括:
一种GFP帧的格式示意图如图3所示,一个GFP帧由核心报头和净荷区构成,其中核心报头包括两个字节的净荷长度指示符字段(PLL字段)和两个字节的核心报头差错校验字段(cHEC字段)构成,上述PLL字段的值表示该GFP帧的净荷区的长度。上述PLL字段的值经过HEC运算后所得到的值和所述cHEC字段的值相等。
当在前面时钟周期对应的搜寻时间结束时定帧状态机的状态为:PRESYNC状态或SYNC状态,根据前面时钟周期内的帧的搜寻结果,得到前面时钟周期内的最后一个GFP帧的帧头的PLL字段的值和最后一个GFP帧的开始字节。根据上述PLL字段的值确定前面时钟周期内的最后一个GFP帧的长度,再根据前面时钟周期内的最后一个GFP帧的长度和开始字节确定本次时钟周期内的第一个GFP帧的开始字节。
具体而言,上述步骤12中的将所述多个数据帧的搜寻结果分别与所述本次时钟周期内的第一数据帧的开始字节进行匹配,将匹配成功的搜寻结果作为本次时钟周期内的数据帧的搜寻结果。
将上述多个GFP帧的搜寻结果分别与根据前面时钟周期内的最后一个GFP帧的长度和开始字节确定的本次时钟周期内的第一个GFP帧的开始字节进行匹配,如果有一个搜寻结果中的第一个GFP帧的开始字节与根据前面时钟周期内的最后一个GFP帧的长度和开始字节确定的本次时钟周期内的第一个GFP帧的开始字节相同,并且该搜寻结果是从上述第一个GFP帧的开始字节开始搜寻而获得的,则确定该搜寻结果为本次时钟周期内的GFP帧的搜寻结果,根据该搜寻结果便可以对本次时钟周期内的数据流中封装的GFP帧进行定位。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例对一个时钟周期内的数据流中封装的GFP帧等数据帧的个数没有限制,无需为数据帧的定位而填充空帧,从而可以节约网络的数据传输带宽。
本发明实施例通过先对一个时钟周期内的数据流进行预处理,将每两个相邻字节的值的HEC运算结果进行保存,可以提高后续的GFP帧的搜寻过程中的HEC验证运算的速度,从而可以进一步提高本次时钟周期内的GFP帧等数据帧的定位效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
本发明实施例还提供了一种数据帧的定位装置,其具体结构如图4所示,包括如下的模块:
搜寻处理模块41,用于获取本次时钟周期内的数据流,为所述本次始终周期内的数据流的每个字节分配一个定帧状态机;所述定帧状态机分别从各自对应的字节开始搜寻数据帧,获得多个数据帧的搜寻结果,其中,所述搜寻结果包括每个定帧状态机搜寻到的第一个数据帧的开始字节。
搜寻结果确定模块42,用于根据前面时钟周期内的数据帧的搜寻结果确定本次时钟周期内的第一个数据帧的开始字节;将所述搜寻处理模块41得到的多个数据帧的搜寻结果分别与所述本次时钟周期内的第一数据帧的开始字节进行匹配,将匹配成功的搜寻结果作为本次时钟周期内的数据帧的搜寻结果。
由上述实施例提供的技术方案可以看出,本发明实施例通过为本次始终周期内的数据流的每个字节分配一个定帧状态机,每个定帧状态机分别从各自对应的字节并行开始搜寻数据帧,可以快速地搜寻出本次时钟周期内的数据流中封装的数据帧的帧头的开始字节,进而快速地搜寻出本次时钟周期内的数据流中封装的多个数据帧,对本次时钟周期内的数据流中封装的数据帧进行精确定位。
本发明实施例还提供了另一种数据帧的定位装置,其实现原理示意图如图5所示,具体结构如图6所示,包括如下的模块:
搜寻处理模块61,用于获取本次时钟周期内的数据流,为所述本次始终周期内的数据流的每个字节分配一个定帧状态机;所述定帧状态机分别从各自对应的字节开始搜寻数据帧,获得多个数据帧的搜寻结果,其中,所述搜寻结果包括每个定帧状态机搜寻到的第一个数据帧的开始字节。
搜寻结果确定模块62,用于根据前面时钟周期内的数据帧的搜寻结果确定本次时钟周期内的第一个数据帧的开始字节;将所述搜寻处理模块61得到的多个数据帧的搜寻结果分别与所述本次时钟周期内的第一数据帧的开始字节进行匹配,将匹配成功的搜寻结果作为本次时钟周期内的数据帧的搜寻结果。
具体而言,所述的搜寻处理模块61,可以包括:
预处理模块611,用于在接收到一个时钟周期内的数据流的各个字节后,先对数据流的每两个相邻字节的值进行混合差错控制HEC运算,将获得的每两个相邻字节的值的HEC运算结果进行保存;
HEC验证模块612,用于使每个定帧状态机从开始搜寻的第一个字节开始,选取连续的相邻的四个字节,将所述连续的相邻的四个字节中的前两个相邻字节的值的HEC运算结果与后两个相邻字节的值进行比较,如果相等,则确定所述前两个相邻字节中的第一个字节为第一个数据帧的开始字节;
根据所述前两个相邻字节的值确定第一个数据帧的长度,再根据该第一个数据帧的长度和第一个数据帧的开始字节确定第二个数据帧的开始字节,从所述第二个数据帧的开始字节开始,将前两个相邻字节的值的HEC运算结果与后两个相邻字节的值进行比较,如果相等,则确定所述第一个数据帧、第二个数据帧的位置正确,将所述第一个数据帧、第二个数据帧的开始字节和长度信息记录在搜寻结果中;
从所述第二个数据帧的开始字节开始,继续进行所述数据帧的搜寻过程,直到设定的本次时钟周期对应的搜寻时间结束。
具体而言,所述的搜寻结果确定模块62,可以包括:
上次搜寻结果处理模块621,用于根据前面时钟周期内的数据帧的搜寻结果,得到前面时钟周期内的最后一个数据帧的帧头的净荷长度指示符字段的值和最后一个数据帧的开始字节,根据所述净荷长度指示符字段的值确定前面时钟周期内的最后一个数据帧的长度;
根据所述前面时钟周期内的最后一个数据帧的长度和开始字节,确定本次时钟周期内的第一个数据帧的开始字节;
匹配处理模块622,用于当所述搜寻处理模块61所获取的搜寻结果中的第一个数据帧的开始字节与上述上次搜寻结果处理模块621所获得的根据前面时钟周期内的最后一个数据帧的长度和开始字节而确定的本次时钟周期内的第一个数据帧的开始字节相同,并且所述搜寻结果是从所述第一个数据帧的开始字节开始搜寻而获得的,则确定所述搜寻结果为本次时钟周期内的数据帧的搜寻结果。
搜寻结果传递模块623,用于将本次时钟周期内的数据帧的搜寻结果和搜寻结束时的定帧状态机的状态传递给下一个时钟周期。
综上所述,由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过为本次始终周期内的数据流的每个字节分配一个定帧状态机,每个定帧状态机分别从各自对应的字节并行开始搜寻数据帧,可以快速地搜寻出本次时钟周期内的数据流中封装的第一个GFP帧等数据帧的帧头的开始字节,进而快速地搜寻出本次时钟周期内的数据流中封装的多个GFP帧等数据帧,对本次时钟周期内的数据流中封装的GFP帧等数据帧进行精确定位。
本发明实施例对一个时钟周期内的数据流中封装的GFP帧等数据帧的个数没有限制,无需为数据帧的定位而填充空帧,从而可以节约网络的数据传输带宽。
本发明实施例通过先对一个时钟周期内的数据流进行预处理,将每两个相邻字节的值的HEC运算结果进行保存,可以提高后续的GFP帧的搜寻过程中的HEC验证运算的速度,从而可以进一步提高本次时钟周期内的GFP帧等数据帧的定位效率。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (8)
1.一种数据帧的定位方法,其特征在于,包括:
获取本次时钟周期内的数据流,为所述本次时钟周期内的数据流的每个字节分配一个定帧状态机;
所述定帧状态机分别从各自对应的字节开始搜寻数据帧,获得多个数据帧的搜寻结果,其中,所述搜寻结果包括每个定帧状态机搜寻到的第一个数据帧的开始字节;
根据前面时钟周期内的数据帧的搜寻结果确定本次时钟周期内的第一个数据帧的开始字节;
将所述多个数据帧的搜寻结果分别与所述本次时钟周期内的第一数据帧的开始字节进行匹配,将匹配成功的搜寻结果作为本次时钟周期内的数据帧的搜寻结果。
2.根据权利要求1所述的数据帧的定位方法,其特征在于,所述的定帧状态机分别从各自对应的字节开始搜寻数据帧包括:
在接收到一个时钟周期内的数据流的各个字节后,先对数据流的每两个相邻字节的值进行混合差错控制HEC运算,将获得的每两个相邻字节的值的HEC运算结果进行保存;
每个定帧状态机从开始搜寻的第一个字节开始,选取连续的相邻的四个字节,将所述连续的相邻的四个字节中的前两个相邻字节的值的HEC运算结果与后两个相邻字节的值进行比较,如果相等,则确定所述前两个相邻字节中的第一个字节为第一个数据帧的开始字节;
根据所述前两个相邻字节的值确定第一个数据帧的长度,再根据该第一个数据帧的长度和第一个数据帧的开始字节确定第二个数据帧的开始字节,从所述第二个数据帧的开始字节开始,将前两个相邻字节的值的HEC运算结果与后两个相邻字节的值进行比较,如果相等,则确定所述第一个数据帧、第二个数据帧的位置正确,将所述第一个数据帧、第二个数据帧的开始字节和长度信息记录在搜寻结果中;
从所述第二个数据帧的开始字节开始,继续进行所述数据帧的搜寻过程,直到设定的本次时钟周期对应的搜寻时间结束。
3.根据权利要求1所述的数据帧的定位方法,其特征在于,所述的根据前面时钟周期内的数据帧的搜寻结果确定本次时钟周期内的第一个数据帧的开始字节,包括:
根据前面时钟周期内的数据帧的搜寻结果,得到前面时钟周期内的最后一个数据帧的帧头的净荷长度指示符字段的值和最后一个数据帧的开始字节,根据所述净荷长度指示符字段的值确定前面时钟周期内的最后一个数据帧的长度;
根据所述前面时钟周期内的最后一个数据帧的长度和开始字节,确定本次时钟周期内的第一个数据帧的开始字节。
4.根据权利要求1或2或3所述的数据帧的定位方法,其特征在于,所述的将所述多个数据帧的搜寻结果分别与所述本次时钟周期内的第一数据帧的开始字节进行匹配,将匹配成功的搜寻结果确定本次时钟周期内的数据帧的搜寻结果,包括:
当搜寻结果中的第一个数据帧的开始字节与所述本次时钟周期内的第一个数据帧的开始字节相同,并且所述搜寻结果是从所述第一个数据帧的开始字节开始搜寻而获得的,则确定所述搜寻结果为本次时钟周期内的数据帧的搜寻结果;
将本次时钟周期内的数据帧的搜寻结果和搜寻结束时的定帧状态机的状态传输给下一个时钟周期。
5.一种数据帧的定位装置,其特征在于,包括:
搜寻处理模块,用于获取本次时钟周期内的数据流,为所述本次时钟周期内的数据流的每个字节分配一个定帧状态机;所述定帧状态机分别从各自对应的字节开始搜寻数据帧,获得多个数据帧的搜寻结果,其中,所述搜寻结果包括每个定帧状态机搜寻到的第一个数据帧的开始字节;
搜寻结果确定模块,用于根据前面时钟周期内的数据帧的搜寻结果确定本次时钟周期内的第一个数据帧的开始字节;将所述搜寻处理模块得到的多个数据帧的搜寻结果分别与所述本次时钟周期内的第一数据帧的开始字节进行匹配,将匹配成功的搜寻结果作为本次时钟周期内的数据帧的搜寻结果。
6.根据权利要求5所述的数据帧的定位装置,其特征在于,所述的搜寻处理模块,包括:
预处理模块,用于在接收到一个时钟周期内的数据流的各个字节后,先对数据流的每两个相邻字节的值进行混合差错控制HEC运算,将获得的每两个相邻字节的值的HEC运算结果进行保存;
HEC验证模块,用于使每个定帧状态机从开始搜寻的第一个字节开始,选取连续的相邻的四个字节,将所述连续的相邻的四个字节中的前两个相邻字节的值的HEC运算结果与后两个相邻字节的值进行比较,如果相等,则确定所述前两个相邻字节中的第一个字节为第一个数据帧的开始字节;
根据所述前两个相邻字节的值确定第一个数据帧的长度,再根据该第一个数据帧的长度和第一个数据帧的开始字节确定第二个数据帧的开始字节,从所述第二个数据帧的开始字节开始,将前两个相邻字节的值的HEC运算结果与后两个相邻字节的值进行比较,如果相等,则确定所述第一个数据帧、第二个数据帧的位置正确,将所述第一个数据帧、第二个数据帧的开始字节和长度信息记录在搜寻结果中;
从所述第二个数据帧的开始字节开始,继续进行所述数据帧的搜寻过程,直到设定的本次时钟周期对应的搜寻时间结束。
7.根据权利要求5或6所述的数据帧的定位装置,其特征在于,所述的搜寻结果确定模块,包括:
上次搜寻结果处理模块,用于根据前面时钟周期内的数据帧的搜寻结果,得到前面时钟周期内的最后一个数据帧的帧头的净荷长度指示符字段的值和最后一个数据帧的开始字节,根据所述净荷长度指示符字段的值确定前面时钟周期内的最后一个数据帧的长度;
根据所述前面时钟周期内的最后一个数据帧的长度和开始字节,确定本次时钟周期内的第一个数据帧的开始字节;
匹配处理模块,用于当所述搜寻处理模块所获取的搜寻结果中的第一个数据帧的开始字节与所述上次搜寻结果处理模块确定的本次时钟周期内的第一个数据帧的开始字节相同,并且所述搜寻结果是从所述第一个数据帧的开始字节开始搜寻而获得的,则确定所述搜寻结果为本次时钟周期内的数据帧的搜寻结果。
8.根据权利要求7所述的数据帧的定位装置,其特征在于,所述的搜寻结果确定模块,还包括:
搜寻结果传递模块,用于将本次时钟周期内的数据帧的搜寻结果和搜寻结束时的定帧状态机的状态传递给下一个时钟周期。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110078469.3A CN102142917B (zh) | 2011-03-28 | 2011-03-28 | 数据帧的定位方法和装置 |
US13/432,861 US8989215B2 (en) | 2011-03-28 | 2012-03-28 | Method, apparatus, and system for data transmission |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110078469.3A CN102142917B (zh) | 2011-03-28 | 2011-03-28 | 数据帧的定位方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102142917A CN102142917A (zh) | 2011-08-03 |
CN102142917B true CN102142917B (zh) | 2014-02-19 |
Family
ID=44410173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110078469.3A Expired - Fee Related CN102142917B (zh) | 2011-03-28 | 2011-03-28 | 数据帧的定位方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8989215B2 (zh) |
CN (1) | CN102142917B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102437991B (zh) * | 2011-12-07 | 2014-06-25 | 瑞斯康达科技发展股份有限公司 | 一种gfp码流的同步方法及装置 |
CN102769512B (zh) * | 2012-07-11 | 2018-05-25 | 中兴通讯股份有限公司 | 一种通用成帧规程帧定界的实现方法和装置 |
CN103761191B (zh) * | 2013-12-25 | 2016-06-08 | 广西科技大学 | 一种非易失性存储器的固定数据格式读写方法 |
US10873653B2 (en) * | 2014-04-04 | 2020-12-22 | Lg Electronics Inc. | Method for transmitting broadcast signal and apparatus for transmitting broadcast signal |
CN103957070B (zh) * | 2014-04-16 | 2016-09-28 | 华为技术有限公司 | 一种数据帧的定位方法及装置 |
CN105450331B (zh) * | 2014-07-18 | 2019-05-10 | 华为技术有限公司 | 定帧方法及定帧装置 |
CN106656410B (zh) * | 2015-11-04 | 2020-12-22 | 中兴通讯股份有限公司 | 一种发送数据帧的方法、装置及基带板 |
DE102015120242B3 (de) * | 2015-11-23 | 2017-02-09 | Beckhoff Automation Gmbh | Verfahren zum Betreiben eines Kommunikationsnetzwerkes, Kommunikationsnetzwerk, Steuervorrichtung und Datenverarbeitungsvorrichtung |
CN106445462B (zh) * | 2016-09-19 | 2019-07-23 | 济南超感智能科技有限公司 | 一种Unity3D平台的串口数据处理方法 |
CN111200482B (zh) * | 2019-12-31 | 2023-03-24 | 曙光网络科技有限公司 | Gfp帧定位处理方法、装置、电子设备及存储介质 |
CN111314304B (zh) * | 2020-01-17 | 2022-07-19 | 西安微电子技术研究所 | 面向多类型数据流的帧识别方法、设备及可读存储介质 |
CN112235578B (zh) * | 2020-09-11 | 2021-06-18 | 中国科学院西安光学精密机械研究所 | 多模式高速率高光谱图像并行采集处理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1556593A (zh) * | 2003-12-31 | 2004-12-22 | 中兴通讯股份有限公司 | 一种光同步数字传输系统中的数字接口电路及其数据解复用方法 |
CN101605012A (zh) * | 2009-07-02 | 2009-12-16 | 中兴通讯股份有限公司南京分公司 | 一种实现同步数字体系帧头定位的方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5530806A (en) * | 1994-12-15 | 1996-06-25 | At&T Corp. | Method and apparatus for storing and retrieving routing information in a network node |
SE506540C2 (sv) * | 1995-06-13 | 1998-01-12 | Ericsson Telefon Ab L M | Synkronisering av överföring av data via en dubbelriktad länk |
JP2002077243A (ja) * | 2000-08-24 | 2002-03-15 | Fujitsu Ltd | セル/パケット混在の伝送方法および伝送装置 |
US20020159483A1 (en) * | 2001-04-26 | 2002-10-31 | International Business Machines Corporation | SDH/SONET frame byte alignment unit |
CN100464517C (zh) * | 2003-08-08 | 2009-02-25 | 华为技术有限公司 | 通用帧处理封装模式中帧校验序列的识别装置及方法 |
US7525961B2 (en) * | 2004-01-14 | 2009-04-28 | Adc Dsl Systems, Inc. | Auto-adaptation to packet size on a physical medium |
US7983308B1 (en) * | 2006-11-28 | 2011-07-19 | Marvell International Ltd. | Method and apparatus for data frame synchronization |
US7924938B2 (en) * | 2007-09-24 | 2011-04-12 | Wally Haas | Context-sensitive overhead processor |
-
2011
- 2011-03-28 CN CN201110078469.3A patent/CN102142917B/zh not_active Expired - Fee Related
-
2012
- 2012-03-28 US US13/432,861 patent/US8989215B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1556593A (zh) * | 2003-12-31 | 2004-12-22 | 中兴通讯股份有限公司 | 一种光同步数字传输系统中的数字接口电路及其数据解复用方法 |
CN101605012A (zh) * | 2009-07-02 | 2009-12-16 | 中兴通讯股份有限公司南京分公司 | 一种实现同步数字体系帧头定位的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US8989215B2 (en) | 2015-03-24 |
CN102142917A (zh) | 2011-08-03 |
US20120250700A1 (en) | 2012-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102142917B (zh) | 数据帧的定位方法和装置 | |
TWI446159B (zh) | 記憶體系統及命令處理方法 | |
CN111581214B (zh) | 适用于能源区块链的并行merkle树构建与验证方法 | |
JPH0452019B2 (zh) | ||
CN107832343B (zh) | 一种基于位图的mbf数据索引结构对数据快速检索的方法 | |
CN101432762A (zh) | 信号传送方法、发送接收装置和通信系统 | |
CN106790599A (zh) | 一种基于多核无锁环形缓冲区的共生虚拟机通信方法 | |
CN110708133B (zh) | 一种基于fpga的系统内时钟同步和时间同步的方法及装置 | |
CN111061735B (zh) | 一种基于单链区块链的扩容方法及装置 | |
CN108062235B (zh) | 数据处理方法及装置 | |
CN105681199A (zh) | 一种车载总线中报文数据的处理方法及装置 | |
US10440117B2 (en) | Byte alignment in data storage devices | |
CN103970512B (zh) | 多核处理器及其并行重放方法 | |
CN103309981A (zh) | 一种具有高存储效率的adc数据组织系统及其方法 | |
CN102341778B (zh) | 用于将数据存储于磁带上的方法和系统 | |
CN104348571B (zh) | 数据分块方法及装置 | |
CN103957070B (zh) | 一种数据帧的定位方法及装置 | |
WO2018090611A1 (zh) | 一种报文处理方法和装置、计算机存储介质 | |
CN109726158A (zh) | 一种多通道串行数据恢复方法和装置 | |
CN102437991B (zh) | 一种gfp码流的同步方法及装置 | |
WO2003079612A1 (en) | Method and apparatus for direct data placement over tcp/ip | |
CN102769512B (zh) | 一种通用成帧规程帧定界的实现方法和装置 | |
CN103226515B (zh) | 一种数字仪表电度分区存储方法 | |
CN107239361A (zh) | 数据处理装置及数据处理方法 | |
CN107203478A (zh) | 一种数据存储的方法及装置 |
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: 20140219 |
|
CF01 | Termination of patent right due to non-payment of annual fee |