CN101232344B - 帧定位方法及装置 - Google Patents
帧定位方法及装置 Download PDFInfo
- Publication number
- CN101232344B CN101232344B CN2007100027023A CN200710002702A CN101232344B CN 101232344 B CN101232344 B CN 101232344B CN 2007100027023 A CN2007100027023 A CN 2007100027023A CN 200710002702 A CN200710002702 A CN 200710002702A CN 101232344 B CN101232344 B CN 101232344B
- Authority
- CN
- China
- Prior art keywords
- frame alignment
- data
- byte
- component units
- comparison
- 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
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明实施例公开一种帧定位方法,包括:将输入数据按帧定位字节的组成单元长度与帧定位字节的组成单元进行比较,并根据预置规则得到比较值;将所述比较值组合后进行逻辑运算;根据逻辑运算结果并结合所述预置规则,确定所述输入数据中是否包含与帧定位字节相同的数据,若是,找出该相同的数据并作为数据帧头。相应的,本发明实施例提供一种帧定位装置。本发明实施例提供的技术方案可以有效地减少帧定位过程中的运算次数并定位出数据帧头。
Description
技术领域
本发明涉及通信技术领域,具体涉及数据传输网络中的帧定位方法及装置。
背景技术
在数据传输网络中,例如光传输网络OTN(Optical Transport Network)和同步数字传送网SDH(Synchronous Digital Hierarchy),数据是以数据帧为单位进行传输,通过在每个数据帧的起始处插入帧定位信号(FAS)(FrameAlignment Signal)来确定数据帧的开头。FAS具有确定值,接收设备通过在接收到的数据中搜索帧定位字节即FAS字节来确定数据帧边界位置。
OTN网络中数据帧中的帧定位字节由3个OA1字节和3个OA2字节组成,即为OA1 OA1 OA1 OA2 OA2 OA2,SDH网络中数据帧的帧定位字节由3×N个A1字节、3×N个A2字节组成,其组合格式与在OTN网络中相同,N按以下规律取值:N=1、14、16、64、256......。上述A1、A2、OA1和OA2字节都具有确定的二进制数值,其中A1和OA1字节为11110110,A2和OA2字节为00101000。
现有的帧定位方法是先锁存输入的若干时钟节拍的数据,再在锁存的数据中进行逐位比较,当比较到数据与帧定位字节相同时,即认为找到数据帧头,并根据数据帧头位置调整输入字节的位序。假设传输网络的总线位宽为w,帧定位字节长度为s,k为满足式k×w≥s的最小正整数,则请参阅图1,现有的帧定位方法包括步骤:
A1、将输入数据进行拼接;
将当前周期输入的数据及此前寄存的k-1个时钟周期的数据拼接为一个长度为k×w比特(bit)的数据,拼接的原则是k×w≥s。
A2、将输入数据按帧定位字节长度与帧定位字节进行比较;
将输入数据中的1~s比特、2~s+1比特、......、w~w+s-1比特所组成的长度为s的数据与帧定位字节进行比较。
A3、根据比较结果确认是否定位出数据帧头。
若比较出某段数据与帧定位字节相同,则认为定位出数据帧头。
从以上内容可以得出,在总线位宽为w,帧定位字节长度为s时,需要在每个时钟周期内进行S1=w×s次比较运算。
以总线位宽w为64bit,帧定位字节长度s为6个固定字节共48bit的情况举例,先将当前时钟周期内输入的64bit数据寄存一个时钟周期后,与下一时钟周期输入的64bit数据拼接为128bit数据(其中当前周期数据位于1~64bit,下个周期的数据位于65~128bit),再分别将1~48bit、2~49bit、......、64~111bit所组成的48bit数据与规定的帧定位字节进行比较,若比较出某48bit数据与帧定位字节相同,则认为定位出数据帧头。可以得出,在此例中需要在每个时钟周期进行64×48=3072次比较运算。
而随着网络总线位宽的增大,数据帧定位过程中需要进行的比较运算次数就越多,消耗了大量的硬件资源,提高了产品的成本。
发明内容
本发明实施例要解决的技术问题是提供一种帧定位方法及装置,可以有效地减少帧定位过程中的运算次数。
为解决上述技术问题,本发明实施例是通过以下技术方案实现的:
本发明实施例提供一种帧定位方法,包括:将输入数据按帧定位字节的组成单元长度与帧定位字节的组成单元进行比较,并根据预置规则得到比较值;将所述比较值组合后进行逻辑运算;根据逻辑运算结果并结合所述预置规则,确定所述输入数据中是否包含与帧定位字节相同的数据,若是,找出该相同的数据并作为数据帧头。
本发明实施例提供一种帧定位装置,包括:比较模块、组合模块、运算模块和定位模块;比较模块,用于将输入数据按帧定位字节的组成单元长度与帧定位字节的组成单元进行比较,并根据预置规则得到比较值;组合模块,用于将所述比较值进行组合;运算模块,用于将组合后的比较值进行逻辑运算,并输出逻辑运算结果;定位模块,用于根据所述逻辑运算结果并结合预置规则,确定所述输入数据中是否包含与帧定位字节相同的数据,若是,找出该相同的数据并作为数据帧头。
从本发明实施例以上技术方案可以看出,现有帧定位方法进行帧定位过程中将输入数据按帧定位字节长度与帧定位字节进行比较,需要进行的比较运算次数比较多,而本发明实施例将输入数据按帧定位字节的组成单元长度与帧定位字节的不同组成单元分别进行比较,并根据预置规则得到比较值;将所述比较值依据帧定位字节的组成单元数目组合后进行逻辑运算;根据逻辑运算结果并结合所述预置规则,确定所述输入数据中是否包含与帧定位字节相同的数据,若是,找出该相同的数据并作为数据帧头。通过本发明实施提供的技术方案,可以减少现有技术中存在的重复比较运算,从而有效减少帧定位过程中的比较运算次数并定位出数据帧头,减少所耗费的硬件资源。
附图说明
图1是现有技术帧定位方法流程图;
图2是本发明实施例帧定位方法流程图;
图3是本发明实施例帧定位方法实施例一流程图;
图4是本发明实施例帧定位方法实施例二流程图;
图5是本发明实施例帧定位装置结构示意图。
具体实施方式
本发明实施例提供一种帧定位方法,能有效地减少帧定位过程中的运算次数并定位出数据帧头。
目前网络的总线位宽逐渐增大,数据传输时需要在每个时钟周期内对输入的数据与帧定位字节进行多次的比较运算来确定数据帧头位置。在SDH、OTN协议中,帧定位字节都由若干个重复的字节组成,例如OTN中的帧定位字节是由3个OA1字节、3个OA2字节组成。因此,在进行帧定位过程中对每个周期输入的数据与帧定位字节进行逐位比较时,实际上对数据的大部分字节与OA1字节或OA2字节进行了重复的比较。
以背景技术中所述的总线位宽为64bit,帧定位字节为48bit的情况为例,是分别将1~48bit、2~49bit、……、64~111bit组成的48bit数据与规定的帧定位字节进行比较,而对1~48bit与帧定位字节的比较运算可以分解为6个子运算,即比较1~8、9~16、17~24bit是否等于OA1字节;比较25~32、33~40、41~48bit是否等于OA2字节。同理,对2~49bit与帧定位字节的比较运算可以分解为6个子运算,即比较2~9、10~17、18~25bit是否等于OA1字节;比较26~34、34~41、42~49bit是否等于OA2字节;而对9~56bit与帧定位字节的比较运算也是可以分解为6个子运算:比较9~16、17~24、25~32bit是否等于OA1字节;比较33~40、41~48、49~56bit是否等于OA2字节。其他以此类推。很显然,1~48bit与帧定位字节的比较运算和9~56bit与帧定位字节的比较运算这两个比较运算中都同样比较了9~16、17~24bit是否等于OA1字节,33~40、41~48bit是否等于OA2字节,也就是说,两个比较运算之间存在着重复的比较运算。相应的,2~49bit与帧定位字节的比较运算和10~57bit与FAS的比较运算也存在相同情况,其他以此类推。
本发明实施例考虑到上述这个特点,并结合总线位宽情况,提出了一种新的帧定位方法,消除这些重复的比较运算,减少运算量,节省了所需硬件资源。
本发明实施例帧定位方法的总体思想是,先将输入数据与构成帧定位字节的组成单元A、B进行逐位比较,再对得到的比较结果进行处理,从而完成帧定位过程。对于OTN,组成单元A为OA1字节,B为OA2字节,对于SDH,组成单元A为A1字节,B为A2字节。
以下结合附图详细介绍本发明实施例。
请参阅图2,是本发明实施例帧定位方法的流程图,具体包括步骤:
B1、将输入数据按帧定位字节的组成单元长度与帧定位字节的不同组成单元分别进行比较,并根据预置规则得到比较值;
帧定位字节的组成单元包括A和B,比较时是将输入数据按帧定位字节的组成单元长度分别与组成单元A和组成单元B进行比较得到比较值,预置规则可以为用数值1或0表示比较的数据与帧定位字节中的组成单元相同,对应地用数值0或1表示比较的数据与帧定位字节中的组成单元不相同。
B2、将所述比较值依据帧定位字节的组成单元数目组合后进行逻辑运算;
假设帧定位字节的组成单元A的数目为n,组成单元B的数目为m,则选取n个与组成单元A进行比较的值和m个与组成单元B进行比较的值进行组合后再进行逻辑运算。当预置规则可以为用数值1表示比较的数据与帧定位字节中的组成单元相同时,进行的是逻辑与运算;当预置规则可以为用数值0表示比较的数据与帧定位字节中的组成单元相同时,进行的是逻辑或运算。
B3、根据逻辑运算结果并结合预置规则确认是否定位出数据帧头。
如果进行的是逻辑与运算,则当运算结果为1时,表示所述输入数据中包含与帧定位字节相同的数据,并找出该相同的数据作为数据帧头,此时也就意味着定位出数据帧头;如果进行的是逻辑或运算,则当运算结果为0时,表示所述输入数据中包含与帧定位字节相同的数据,并找出该相同的数据作为数据帧头,此时也就意味着定位出数据帧头。进行逻辑与运算时,只有1和1相与才等于1,进行逻辑或运算时,只有0和0相或才等于0。
请参阅图3,是本发明实施例帧定位方法实施例一流程图。
设总线位宽为w,帧定位字节长度为s,k为满足式k×w≥s的最小正整数。其中帧定位字节由n个组成单元A、m个组成单元B组成,则本发明实施例的帧定位方法实施例一如图3所示,具体包括步骤:
C1、将输入数据进行拼接;
将当前周期的输入数据及此前k-1个时钟周期寄存的数据拼接为一个长度为k×w bit的数据。
C2、将输入数据按帧定位字节的组成单元长度与帧定位字节的组成单元A和B分别进行比较,并根据预置规则得到比较值;
分别将1~8bit、2~9bit、......、t~t+7bit组成的8bit数据与OA1字节进行比较,其中t=w+(n-1)×8,设比较得到的结果为A1、A2、......、At。
同时,将j~j+7bit、j+1~j+1+7bit、......、u~u+7bit组成的8bit数据与OA2字节进行比较,其中,j=n×8+1,u=w+n×8+(m-1)×8,设比较得到的结果为Bj、Bj+1、......、Bu。
上述A1~At,Bi~Bu均为1比特信号,A1为“1”时代表1~8bit等于OA1字节,为“0”时代表1~8bit不等于OA1字节,类似的,A2......At分别代表2~9bit......t~t+7bit与OA1字节的比较结果;Bi为“1”时代表j~j+7bit等于OA2字节,为“0”时代表不等于OA2字节,类似的,Bi+1......Bu分别代表j+1~j+1+7bit......u~u+7bit与OA2字节的比较结果。
C3、将所述比较值依据帧定位字节的组成单元A和B的数目组合后进行逻辑与运算;
将n个与组成单元A的比较结果和m个与组成单元B比较的结果组合起来进行“与”运算,组合的方法为:
Ai∩A(i+8)......∩A(i+(n-1)×8)∩B(i+n×8)......∩B(i+n×8+(m-1)×8),其中1≤i≤w。
C4、根据逻辑运算结果并结合预置规则确认是否定位出数据帧头。
显然,如果按上式组合后进行“与”运算的结果为0,则表示第i~i+s-1bit≠帧定位字节;如果按上式组合后进行“与”运算的结果为1,则表示第i~i+s-1bit =帧定位字节,也就是意味着定位出数据帧头。
可以看出,整个帧定位过程共需要((w+(n-1)×8)+(w+(m-1)×8))次8bit比较运算,及w次(n+m)输入的“与”运算,共有(n+m+16)×w+64(n+m-2)次运算。将s=8×(n+m)代入,可知总运算次数S为
与现有技术帧定位方法所需的总运算次数S1=ws相比,可得到本发明实施例帧定位方法与现有技术帧定位方法的运算量的比值为:
由上式可以看出,
只要 本发明实施例帧定位方法的运算量就小于现有技术帧定位方法的运算量,且w、s的值越大,本发明实施例帧定位方法的运算量减少的幅度越大。
仍以上文中总线位宽为64bit,帧定位字节为48bit的情况为例,此时n=3,m=3,进行帧定位的过程如下:
首先,将当前时钟周期内输入的64bit数据与下一时钟周期输入的64bit数据拼接为128bit数据,其中当前周期数据位于1~64bit,下个周期的数据位于65~128bit;
其次,分别将1~8bit、2~9bit、......、80~87bit组成的8bit数据与OA1字节进行比较,设比较得到的结果为A1、A2、......、A80,同时将25~32bit、26~33bit、......、104~111bit组成的8bit数据与OA2字节进行比较,设比较得到的结果为B25、B26、......、B104。A1~A80均为1比特信号,A1为“1”时代表1~8bit等于OA1字节,为“0”时代表1~8bit不等于OA1字节,类似的,A2......A80分别代表2~9bit......80~87bit与OA1字节的比较结果;B25~B104均为1比特信号,B25为“1”时代表25~32bit等于OA2字节,为“0”时代表25~32bit不等于OA2字节,类似的,B26......B104分别代表26~33bit......104~111bit与OA2字节的比较结果;
然后,再将比较后得到的1bit结果每6个一组进行“与”运算。每一组中,3个为与OA1字节进行比较的结果,3个为与OA2字节进行比较的结果。组合的方法为(A1∩A9∩A17∩B25∩B33∩B41),(A2∩A10∩A18∩B26∩B34∩B42)、......、(A64∩A72∩A80∩B88∩B96∩B104);
最后,根据运算结果确认定位的数据帧头。显然,如果(A1∩A9∩A17∩B25∩B33∩B41)进行“与”运算的结果为1,则1~48bit=帧定位字节,意味着定位出数据帧头,如果(A1∩A9∩A17∩B25∩B33∩B41)进行“与”运算的结果为0,则1~48bit≠帧定位字节。同样的,(A2∩A10∩A18∩B26∩B34∩B42)进行“与”运算的结果就是2~49bit与FAS比较的结果,(A64∩A72∩A80∩B88∩B96∩B104)进行“与”运算的结果就是64~111bit与帧定位字节比较的结果。如果进行“与”运算的结果为1,则表示比较数据与帧定位字节相同,也就意味着定位出数据帧头。
请参阅图4,是本发明实施例帧定位方法实施例二流程图。
实施例二与实施例一的主要区别是将A1~At中为“1”时代表不等于OA1字节,为“0”时代表等于OA1字节,Bj~Bu中为“1”时代表不等于OA2字节,为“0”时代表等于OA2字节,并且相应的在后面的运算是进行逻辑或运算。
设总线位宽为w,帧定位字节长度为s,k为满足式k×w≥s的最小正整数。其中帧定位字节由n个A、m个B组成,则本发明实施例的帧定位方法实施例二如图4所示,具体包括步骤:
D1、将输入数据进行拼接;
将当前周期的输入数据及此前k-1个时钟周期寄存的数据拼接为一个长度为k×w bit的数据。
D2、将输入数据按帧定位字节的组成单元长度与帧定位字节的组成单元A和B分别进行比较,并根据预置规则得到比较值;
分别将1~8bit、2~9bit、......、t~t+7bit组成的8bit数据与OA1字节进行比较,其中t=w+(n-1)×8,设比较得到的结果为A1、A2、......、At;
同时,将j~j+7bit、j+1~j+1+7bit、......、u~u+7bit组成的8bit数据与OA2字节进行比较,其中,j=n×8+1,u=w+n×8+(m-1)×8,设比较得到的结果为Bj、Bj+1、......、Bu。
上述A1~At,Bj~Bu均为1比特信号,A1为“0”时代表1~8bit等于OA1字节,为“1”时代表1~8bit不等于OA1字节,类似的,A2......At分别代表2~9bit......t~t+7bit与OA1字节的比较结果;Bj为“0”时代表j~j+7bit等于OA2字节,为“1”时代表不等于OA2字节,类似的,Bj+1......Bu分别代表j+1~j+1+7bit......u~u+7bit与OA2字节的比较结果。
D3、将所述比较值依据帧定位字节的组成单元A和B的数目组合后进行逻辑或运算;
将n个与组成单元A的比较结果和m个与组成单元B比较的结果组合起来进行“或”运算,组合的方法为:
Ai∩A(i+8)......∩A(i+(n-1)×8)∩B(i+n×8)......∩B(i+n×8+(m-1)×8),其中1≤i≤w。
D4、根据逻辑运算结果并结合预置规则确认定位出数据帧头。
显然,如果按上式组合后进行“与”运算的结果为1,则第i~i+s-1bit≠帧定位字节;如果按上式组合后进行“与”运算的结果为0,则第i~i+s-1bit=帧定位字节,也就是意味着定位出数据帧头。
可以看出,整个帧定位过程共需要((w+(n-1)×8)+(w+(m-1)×8))次8bit比较运算,及w次(n+m)输入的“与”运算,共有(n+m+16)×w+64(n+m-2)次运算。将s=8×(n+m)代入,可知总运算次数S为
与现有技术帧定位方法所需的总运算次数S1=ws相比,可得到本发明实施例帧定位方法与现有技术帧定位方法的运算量的比值为:
由上式可以看出,
只要 本发明实施例帧定位方法的运算量就小于现有技术帧定位方法的运算量,且w、s的值越大,本发明实施例帧定位方法的运算量减少的幅度越大。
仍以上文中总线位宽w为64bit,帧定位字节长度s为48bit的情况为例,此时n=3,m=3,进行帧定位的过程如下:
首先,将当前时钟周期内输入的64bit数据与下一时钟周期输入的64bit数据拼接为128bit数据,其中当前周期数据位于1~64bit,下个周期的数据位于65~128bit;
其次,分别将1~8bit、2~9bit、......、80~87bit组成的8bit数据与OA1字节进行比较,设比较得到的结果为A1、A2、......、A80,同时将25~32bit、26~33bit、......、104~111bit组成的8bit数据与OA2字节进行比较,设比较得到的结果为B25、B26、......、B104。A1~A80均为1比特信号,A1为“1”时代表1~8bit不等于OA1字节,为“0”时代表1~8bit等于OA1字节,类似的,A2......A80分别代表2~9bit......80~87bit与OA1字节的比较结果;B25~104均为1比特信号,B25为“1”时代表25~32bit不等于OA2字节,为“0”时代表25~32bit等于OA2字节,类似的,B26......B104分别代表26~33bit......104~111bit与OA2字节的比较结果;
然后,再将比较后得到的1bit结果每6个一组进行“或”运算。每一组中,3个为与OA1字节进行比较的结果,3个为与OA2字节进行比较的结果。组合的方法为(A1∩A9∩A17∩B25∩B33∩B41),(A2∩A10∩A18∩B26∩B34∩B42)、......、(A64∩A72∩A80∩B88∩B96∩B104);
最后,根据运算结果确认定位的数据帧头。显然,如果(A1∩A9∩A17∩B25∩B33∩B41)进行“或”运算的结果为0,则1~48bit=帧定位字节,意味着定位出数据帧头,如果(A1∩A9∩A17∩B25∩B33∩B41)进行“或”运算的结果为1,则1~48bit≠帧定位字节。同样的,(A2∩A10∩A18∩B26∩B34∩B42)进行“或”运算的结果就是2~49bit与FAS比较的结果,(A64∩A72∩A80∩B88∩B96∩B104)进行“或”运算的结果就是64~111bit与FAS比较的结果。如果进行“或”运算的结果为0,则表示比较数据与FAS相同,也就意味着定位出数据帧头。
需要说明的是,上述是以光传输网络OTN为例进行说明但并不局限于此,也可以应用于其他传输网络例如SDH网络等。
还需要说明的是,上述实施例介绍的是帧定位字节包括两种组成单元的情况,如果帧定位字节只有一种组成单元,或者,帧定位字节包括多个组成单元的情况,也同样适用于上述介绍的将输入数据按帧定位字节的组成单元长度与帧定位字节的组成单元进行比较及定位的过程,其原理是相同的。
以上介绍了本发明实施例的帧定位方法,相应的,本发明实施例提供帧定位装置。
请参阅图5,是本发明实施例帧定位装置结构示意图。
帧定位装置包括比较模块10、组合模块20、运算模块30和定位模块40。
比较模块10将输入数据按帧定位字节的组成单元长度与帧定位字节的不同组成单元分别进行比较,并根据预置规则得到比较值;组合模块20将所述比较值依据帧定位字节的组成单元数目进行组合;运算模块30将组合后的比较值进行逻辑运算,并输出逻辑运算结果;定位模块40根据所述逻辑运算结果并结合预置规则,确定所述输入数据中是否包含与帧定位字节相同的数据,若是,找出该相同的数据并作为数据帧头。
帧定位装置进一步包括设置模块50,用于设置预置规则,设置模块50设置用数值1表示比较的数据与帧定位字节中的组成单元相同,用数值0表示比较的数据与帧定位字节中的组成单元不相同。当按此设置规则时,运算模块30进行的逻辑运算为逻辑与运算。设置模块50还可以设置用数值0表示比较的数据与帧定位字节中的组成单元相同,用数值1表示比较的数据与帧定位字节中的组成单元不相同,当按此设置规则时,运算模块30进行的逻辑运算为逻辑或运算。因为由设置模块50设置预置规则,所以比较模块10是根据设置模块50设置的预置规则得到比较值。
比较模块10包括第一比较模块101和第二比较模块102;第一比较模块101,将从所述输入数据中选取出与帧定位字节的第一组成单元长度相等的t段比较数据,所述t段比较数据的首位分别是所述输入数据中的第1位至第t位,将所述t段数据分别与所述帧定位字节的第一组成单元进行比较,并根据预置规则得到第一比较值,其中,t=w+(n-1)×8,w为总线位宽,n为帧定位字节的第一组成单元的数目;第二比较模块102,从所述输入数据中选取出与帧定位字节的第二组成单元长度相等的u-j+1段比较数据,所述u-j+1段比较数据的首位分别是所述输入数据中的第j位至第u位,将所述u-j+1段数据分别与所述帧定位字节的第二组成单元进行比较,并根据预置规则得到第二比较值,其中,j=n×8+1,u=w+n×8+(m-1)×8,m为帧定位字节的第二组成单元的数目。
设总线位宽为w,帧定位字节长度为s,周期k为满足式k×w≥s的最小正整数,在当前周期的输入数据及此前k-1个时钟周期寄存的数据拼接为一个长度为k×w bit的数据后,比较模块10进行的具体比较过程为:
第一比较模块101分别将1~8bit、2~9bit、......、t~t+7bit组成的8bit数据与帧定位字节的第一组成单元OA1字节进行比较,其中t=w+(n-1)×8,设比较得到的结果为A1、A2、......、At;
同时,第二比较模块102将j~j+7bit、j+1~j+1+7bit、......、u~u+7bit组成的8bit数据与帧定位字节的第二组成单元OA2字节进行比较,其中,其中,j=n×8+1,u=w+n×8+(m-1)×8,设比较得到的结果为Bj、Bj+1、......、Bu。
上述A1~At,Bj~Bu均为1比特信号,预置规则设置用数值1表示比较的数据与帧定位字节中的组成单元相同,用数值0表示比较的数据与帧定位字节中的组成单元不相同时,则A1为“1”时代表1~8bit等于OA1字节,为“0”时代表1~8bit不等于OA1字节,类似的,A2......At分别代表2~9bit......t~t+7bit与OA1字节的比较结果;Bi为“1”时代表j~j+7bit等于OA2字节,为“0”时代表不等于OA2字节,类似的,Bj+1......Bu分别代表j+1~j+1+7bit......u~u+7bit与OA2字节的比较结果。组合模块20对第一比较模块101和第二比较模块102所比较出的值进行组合。
组合模块20进一步包括第一组合模块201、第二组合模块202和第三组合模块203。第一组合模块201选取第一比较模块101进行比较所得到的且与帧定位字节的第一组成单元数目相同的第一比较值;第二组合模块202选取第二比较模块102比较所得到的且与帧定位字节的第二组成单元数目相同的第二比较值;且所述第一组合模块201选取的第一比较值、第二组合模块202选取的第二比较值各自对应的比较数据组合后的数据,是所述输入数据中一段与帧定位字节等长的连续数据;第三组合模块203,将所述第一组合模块201选取的第一比较值和第二组合模块202选取的第二比较值进行组合。具体组合过程为:
第三组合模块203将第一组合模块201选取的n个与第一组成单元OA1字节的比较结果和第二组合模块202选取的m个与第二组成单元OA2字节比较的结果进行组合,即:
Ai∩A(i+8)......∩A(i+(n-1)×8)∩B(i+n×8)......∩B(i+n×8+(m-1)×8),其中1≤i≤w。
运算模块30对上述组合进行逻辑运算,如果按上式组合后进行“与”运算的结果为0,则第i~i+s-1bit≠帧定位字节;如果按上式组合后进行“与”运算的结果为1,则第i~i+s-1bit=帧定位字节,也就是意味着定位出数据帧头。
需要说明的是,若比较时预置规则设置用数值0表示比较的数据与帧定位字节中的组成单元相同,用数值1表示比较的数据与帧定位字节中的组成单元不相同,则运算模块30对上述组合进行逻辑运算为逻辑或运算,如果按上式组合后进行“或”运算的结果为1,则第i~i+s-1bit≠帧定位字节;如果按上式组合后进行“或”运算的结果为0,则第i~i+s-1bit=帧定位字节,也就是意味着定位出数据帧头。
综上所述,现有帧定位方法进行帧定位过程中将输入数据按帧定位字节长度与帧定位字节进行比较,需要进行的比较运算次数比较多,而本发明实施例提供的帧定位方法及装置,将输入数据按帧定位字节的组成单元长度与帧定位字节的不同组成单元分别进行比较,并根据预置规则得到比较值;将所述比较值依据帧定位字节的组成单元数目组合后进行逻辑运算;根据逻辑运算结果并结合所述预置规则,确定输入数据中包含的数据是否与帧定位字节相同,并在相同时确认定位出数据帧头。通过本发明实施提供的技术方案,可以减少现有技术中存在的重复比较运算,从而有效减少帧定位过程中的比较运算次数并定位出数据帧头,减少所耗费的硬件资源。
以上对本发明实施例所提供的一种帧定位方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种帧定位方法,其特征在于,包括:
将输入数据按帧定位字节的组成单元长度与帧定位字节的组成单元进行比较,并根据预置规则得到比较值;
将所述比较值组合后进行逻辑运算;
根据逻辑运算结果并结合所述预置规则,确定所述输入数据中是否包含与帧定位字节相同的数据,若是,找出该相同的数据并作为数据帧头;
所述按帧定位字节的组成单元长度与帧定位字节的组成单元进行比较具体为,
从所述输入数据中选取出与帧定位字节的第一组成单元长度相等的t段比较数据,所述t段比较数据的首位分别是所述输入数据中的第1位至第t位,将所述t段数据分别与所述帧定位字节的第一组成单元进行比较,其中,t=w+(n-1)×8,w为总线位宽,n为帧定位字节的第一组成单元的数目;
从所述输入数据中选取出与帧定位字节的第二组成单元长度相等的u-j+1段比较数据,所述u-j+1段比较数据的首位分别是所述输入数据中的第j位至第u位,将所述u-j+1段数据分别与所述帧定位字节的第二组成单元进行比较,其中,j=n×8+1,u=w+n×8+(m-1)×8,m为帧定位字节的第二组成单元的数目。
2.根据权利要求1所述的帧定位方法,其特征在于:
所述组合具体为,
选取与帧定位字节的第一组成单元进行比较得到的且与帧定位字节的第一组成单元数目相同的第一比较值;
选取与帧定位字节的第二组成单元进行比较得到的且与帧定位字节的第二组成单元数目相同的第二比较值;
其中所述选取的第一比较值、第二比较值各自对应的比较数据组合后的数据,是所述输入数据中一段与帧定位字节等长的连续数据;
将所述选取的第一比较值和第二比较值进行组合。
3.根据权利要求1至2任一项所述的帧定位方法,其特征在于:
所述预置规则为,用数值1表示比较的数据与帧定位字节中的组成单元相同,用数值0表示比较的数据与帧定位字节中的组成单元不相同,
以及,所述逻辑运算为逻辑与运算。
4.根据权利要求1至2任一项所述的帧定位方法,其特征在于:
所述预置规则为,用数值0表示比较的数据与帧定位字节中的组成单元相同,用数值1表示比较的数据与帧定位字节中的组成单元不相同,
以及,所述逻辑运算为逻辑或运算。
5.一种帧定位装置,其特征在于,包括:
比较模块、组合模块、运算模块和定位模块;
比较模块,用于将输入数据按帧定位字节的组成单元长度与帧定位字节的组成单元进行比较,并根据预置规则得到比较值;
组合模块,用于将所述比较值进行组合;
运算模块,用于将组合后的比较值进行逻辑运算,并输出逻辑运算结果;
定位模块,用于根据所述逻辑运算结果并结合预置规则,确定所述输入数据中是否包含与帧定位字节相同的数据,若是,找出该相同的数据并作为数据帧头;
所述比较模块包括第一比较模块和第二比较模块;
第一比较模块,用于从所述输入数据中选取出与帧定位字节的第一组成单元长度相等的t段比较数据,所述t段比较数据的首位分别是所述输入数据中的第1位至第t位,将所述t段数据分别与所述帧定位字节的第一组成单元进行比较,并根据预置规则得到第一比较值,其中,t=w+(n-1)×8,w为总线位宽,n为帧定位字节的第一组成单元的数目;
第二比较模块,用于从所述输入数据中选取出与帧定位字节的第二组成单元长度相等的u-j+1段比较数据,所述u-j+1段比较数据的首位分别是所述输入数据中的第j位至第u位,将所述u-j+1段数据分别与所述帧定位字节的第二组成单元进行比较,并根据预置规则得到第二比较值,其中,j=n×8+1,u=w+n×8+(m-1)×8,m为帧定位字节的第二组成单元的数目。
6.根据权利要求5所述的帧定位装置,其特征在于:
组合模块进一步包括第一组合模块、第二组合模块和第三组合模块,
第一组合模块,用于选取与帧定位字节的第一组成单元数目相同的第一比较值;
第二组合模块,用于选取与帧定位字节的第二组成单元数目相同的第二比较值;
其中,所述第一组合模块选取的第一比较值、第二组合模块选取的第二比较值各自对应的比较数据组合后的数据,是所述输入数据中一段与帧定位字节等长的连续数据;
第三组合模块,将所述第一组合模块选取的第一比较值和第二组合模块选取的第二比较值进行组合。
7.根据权利要求5至6任一项所述的帧定位装置,其特征在于:
进一步包括设置模块,用于设置预置规则,设置模块设置用数值1表示比较的数据与帧定位字节中的组成单元相同,用数值0表示比较的数据与帧定位字节中的组成单元不相同,
以及,此时运算模块进行的逻辑运算为逻辑与运算。
8.根据权利要求5至6任一项所述的帧定位装置,其特征在于:
进一步包括设置模块,用于设置预置规则,设置模块设置用数值0表示比较的数据与帧定位字节中的组成单元相同,用数值1表示比较的数据与帧定位字节中的组成单元不相同,
以及,此时运算模块进行的逻辑运算为逻辑或运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100027023A CN101232344B (zh) | 2007-01-23 | 2007-01-23 | 帧定位方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100027023A CN101232344B (zh) | 2007-01-23 | 2007-01-23 | 帧定位方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101232344A CN101232344A (zh) | 2008-07-30 |
CN101232344B true CN101232344B (zh) | 2012-01-04 |
Family
ID=39898551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007100027023A Expired - Fee Related CN101232344B (zh) | 2007-01-23 | 2007-01-23 | 帧定位方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101232344B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101605012B (zh) * | 2009-07-02 | 2013-10-16 | 中兴通讯股份有限公司 | 一种实现同步数字体系帧头定位的方法及装置 |
CN101702642B (zh) * | 2009-11-13 | 2015-08-12 | 曙光信息产业(北京)有限公司 | Sdh帧头的检测方法 |
CN103957070B (zh) * | 2014-04-16 | 2016-09-28 | 华为技术有限公司 | 一种数据帧的定位方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1441576A (zh) * | 2003-03-04 | 2003-09-10 | 深圳市迪威视讯技术有限公司 | 多路网络接口的反向复用方法 |
CN1540987A (zh) * | 2003-04-23 | 2004-10-27 | 深圳市中兴通讯股份有限公司南京分公 | 一种在会议电视系统中实现多路视频通讯的方法 |
-
2007
- 2007-01-23 CN CN2007100027023A patent/CN101232344B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1441576A (zh) * | 2003-03-04 | 2003-09-10 | 深圳市迪威视讯技术有限公司 | 多路网络接口的反向复用方法 |
CN1540987A (zh) * | 2003-04-23 | 2004-10-27 | 深圳市中兴通讯股份有限公司南京分公 | 一种在会议电视系统中实现多路视频通讯的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101232344A (zh) | 2008-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69231871T2 (de) | Verfahren zur parallelen Übertragung | |
CN102096407B (zh) | 一种基于EtherCAT技术的链式STATCOM控制系统 | |
CN105208467B (zh) | 宽带接入网系统的帧对齐装置 | |
CN101815057B (zh) | 多数据率兼容型超高速自适应全光数据包速率倍增方法 | |
CN101232344B (zh) | 帧定位方法及装置 | |
CN101043281B (zh) | 波分复用网络同步数字系列光通道性能检测装置 | |
CN105262565A (zh) | 一种基于相位调制传递时钟与数据的编码方法及系统 | |
CN102946443B (zh) | 一种实现大规模数据传输的多任务调度方法 | |
DE3785906T2 (de) | Kanalersatzschaltungssystem für ein Funkübertragungssystem von digitalen Daten. | |
Castro et al. | Well-known serial buses for distributed control of backup power plants. RS-485 versus controller area network (CAN) solutions | |
CN104243246B (zh) | 一种基于ZigBee技术的FlexRay总线测试与优化方法及装置 | |
CN106656711B (zh) | 一种令牌总线时隙预定义方法 | |
CN108390877B (zh) | 通信规约转换方法和通信规约转换器 | |
CN107579797B (zh) | 一种多速率sdh光接口复用电路、fpga芯片及设备 | |
EP2288058A1 (en) | System and method for detection of multiple timing masters in a network | |
CN113596189B (zh) | 一种并联编址方法、电池包及并联编址系统 | |
CN111586178B (zh) | 一种基于大数据的智能通信分配系统 | |
CN1573642A (zh) | 在收到控制信号后可编程时钟管理部件的重新配置 | |
CN106506118A (zh) | Usxgmii多通道ipg精确补偿的方法及系统 | |
EP3477650B1 (de) | Verfahren und einrichtung zur kommunikation in einer medizinischen bildgebungseinrichtung und medizinische bildgebungseinrichtung | |
CN104683089A (zh) | 一种时频同步融合网络架构 | |
CN104836754A (zh) | 利用高速Serdes实现背板自协商功能的方法及装置 | |
CN101753346B (zh) | 综合网管数据导入方法及系统 | |
Hou et al. | Information transmission control technology of electronic information system based on IP network | |
EP2416535B1 (en) | Demultiplexing or multiplexing method for transmitting/receiving digital data on transmission channels with an assigned capacity |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120104 Termination date: 20180123 |