网络通信中搜索同步码的方法及其装置的制作方法

文档序号:7555253阅读:272来源:国知局
专利名称:网络通信中搜索同步码的方法及其装置的制作方法
技术领域
本发明涉及网络通信技术领域,尤其涉及一种网络通信中搜索同步码的方法及其装置。
背景技术
在网络通信中,数据收发的同步是保证数据可靠收发的重要前提,为了使通信系统的收、发端数据同步,在发送端必须加入同步码(即起始标志码),同步码通常为周期性出现。接收端需要识别收到的码流中同步码的位置,并在发现收、发两端的同步码位置不对应时,在接收端进行相应的调整,从而使收、发端的同步码的位置对应,即保持数据收发的同步。
基于上述同步过程的需要,首先需要在接收端接收的数据码流中搜索到相应的同步码。对于接收端而言,在未实现同步前,输入码流的同步码位置是随机的,为了找到同步码,则需要检查大量的输入码流并进行相应的同步码的确定的处理过程。
以T1系统为例,T1系统是CCITT(国际电话与电报顾问委员会)推荐的G.704中的一种传输电话信号的标准。T1使用1.544Mb/s的PCM(脉冲编码调制)信号。T1基本帧由F-bit(F位)和24个时隙组成,每个T1基本帧共193比特;其中F-bit是基本帧的第一比特,携带复帧同步码、CRC校验码和数据链路;24个时隙分别对应于24个时分复用通道,每个时隙8bit,故每个T1基本帧共193比特。ESF(Extended superframe,扩展的高级帧)由24个T1基本帧组成,共4632比特。它的第4、8、12、16、20和24帧的F-bit分别为复帧同步码(FAS)“001011”的各个比特。第2、6、10、14、18和22帧的F-bit分别为CRC-6(CRC,循环冗余码检验)校验码的各个比特。其余的12个F-bit是4kbit/s的DL(数据链路)信息,ESF帧的结构如图1所示。
基于所述的ESF帧的结构,目前所采用的一种搜索同步码的方法为从任意位置开始,每隔772比特,将输入ESF码流的F-bit保存在6×1的移位寄存器里面,直到收集满6比特后,即将ESF帧相应的6个位置中可能是同步码的F-bit收集保存于移位寄存器中后,比较该6比特是否就是同步码“001011”或者同步码的移位变形“010110、101100......”等,如果是的话,并且在接下来的连续两个复帧都观察到同步码,可以认为这个比特位置就是FAS位置,完成同步搜索。如果不是的话,就选择这个位置的下一个比特位置作为新的监测位置,重复上述过程,直至找到FAS位置为止。
可以看出,上述搜索同步码的方法所需的时间可能很长。假设第772个比特位置才是FAS,则搜索时间至少需要772个ESF复帧周期,而每个复帧周期为3ms,这么长的搜索时间是网络通信所不能接受的。
为节省相应的搜索时间,目前还有一种搜索同步码的实现方式,这种方式的同步搜索电路如图2所示,主要由四部分组成一是RAM(随机储存器),它有6个地址深度,每个地址772比特宽,可以把它看成6行772列的阵列,用于存储收到的ESF帧数据;二是串并转换模块,用于从RAM中读取6比特数据,并发送给同步码监测电路;三是同步码监测电路,用于查找RAM内是否含有同步码;四是地址寄存器,共有32个16位地址寄存器,每个地址寄存器由13位地址指针寄存器和相关3位计数器组成。所述的搜索同步码的具体过程为将RAM划分为4632个地址,每一个给定的RAM地址对应于收到的ESF帧数据的特定比特位置,输入码流依次写入RAM,顺序是先填写第一个地址,填完772比特后,接着填写第二个地址,直至把RAM填满;串并转换模块分别从RAM的6个地址中的相同位置各取出1个比特数据,即取出一列数据,串并转换为6比特数据,送到同步码搜索模块,总共需要取出772列数据进行同步码搜索。如果在RAM的某个地址被首次发现同步码,就将该地址保存在地址指针寄存器中,且相关计数器置为1。随后该位置可能再次出现或不出现同步码,则相关计数器对应执行加一或减一操作。如果某个地址寄存器的相关计数器减至0,则该地址寄存器可以被用于存储新的RAM地址。如果任何一个地址寄存器的相关计数器达到阈值(比如为3次),则宣布同步了。过了一段时间,如果宣布同步的地址寄存器的相关计数器下降到小于阈值,则宣布失步,并开始寻找是否有其他的地址寄存器的相关计数器达到阈值,如果有,则宣布在该地址同步,否则继续等待某个地址寄存器的相关计数器到达阈值,相关计数器的最大值为7。图2中的地址发生器用于产生RAM的4632个地址,每个地址对应于每个收到的数据码流比特位置,该地址如果发现同步码,就将该地址写入地址指针寄存器中。
图2所示的同步搜索电路首先需要将一个ESF帧长度(共4632比特)的数据全部保存在RAM里面,同时需要32个16比特的地址寄存器用于排除伪同步,消耗大量硬件资源。其次排除伪同步的方法比较复杂,需要同时对多个地址寄存器进行连续跟踪,而且由于772列都有可能含有同步码,当有超过32列含有同步码的时候,显然地址寄存器的数量便无法满足应用,因此,该方法可能出现遗漏现象,即可能未将真正的同步码保存于地址寄存器中,导致增加同步所需的时间。
在网络通信衡量一种处理的性能的优劣通常有两个重要因素,一个是处理需要的时间,另一个是实现处理的复杂程度,因此,对于搜索同步码的处理,一方面参考可能需要检查最大数量输入码流确定最大平均同步时间来衡量同步搜索电路的性能,另一方面根据具体实现同步码搜索电路的复杂程度衡量同步搜索电路的性能。而现有的两种方案分别为一种方案所需要的处理时间较长,无法很好地满足网络通信的要求;另一种方案则处理过程较繁琐,导致相应的实现电路较为复杂,即可能提高实现成本,也较容易导致处理结果不准确。

发明内容
本发明的目的是提供一种网络通信中搜索同步码的方法及其装置,以降低搜索同步码所需要的时间,并使得同步码的搜索处理过程更为简单、合理。
本发明的目的是通过以下技术方案实现的本发提供了一种网络通信中搜索同步码的方法,包括A、将网络通信中传输的一帧数据码流进行分块;B、保存接收的数据码流的一个分块;C、在保存的数据码流的分块中搜索同步码,如果搜索同步码成功,则执行步骤D,否则,执行步骤E;D、确定网络通信中的同步码位置;E、保存接收的数据码流的另一个分块,并执行步骤C。
所述的步骤A包括将网络通信中的一帧数据码流按每块8列进行分块,最后一块不足8列的单独为一个分块。
所述的数据码流为ESF(扩展的高级帧)数据码流。
所述的步骤B包括保存接收的数据码流的其中一个分块。
所述的步骤C包括在保存的数据码流的分块中采用循环移位的方法依次对各列数据进行同步码的搜索,如果搜索到同步码,则执行步骤D,否则,执行步骤E。
所述的步骤C进一步包括C1、循环提取保存的数据码流的分块中根据同步码在各基本帧中的出现位置确定的各组数据;C2、将提取的各组数据与同步码比较,并判断是否相同,如果相同,则执行步骤D,否则,执行步骤E。
所述的步骤C1进一步包括C11、确定复帧中的一列数据,并以该列数据中的任一位作为起始位,根据同步码在复帧的各个基本帧中的出现位置确定多组数据,数据组数与一列数据包含的位数相同;C12、循环提取保存的数据码流的分块中根据同步码在各个基本帧中的出现位置确定的各组数据。
所述的步骤C11包括确定T1的ESF复帧中的一列共24位数据,分别为1、2、......、24位;根据同步码在T1的ESF复帧的各个基本帧中的出现位置,即每4位出现一位,将24位数据分组,分成“1、5、9、13、17、21”,“2、6、10、14、18、22”,......,“23、3、7、11、15、19”,“24、4、8、12、16、20”,共24组数据。
所述的步骤D包括保存搜索到的同步码在数据码流中的位置,并判断接着的连续的两帧数据码流中同样位置处是否出现同步码,如果出现,则确定该位置为网络通信中的同步码的位置,否则,执行步骤E。
所述的步骤C还包括将提取的各组数据与同步码比较,如果相等则比较结果为1,否则比较结果为0,并将比较结果分别依次写入结果寄存器内;且所述的D进一步包括D1、根据结果寄存器比较结果为1的比特所在的位置确定同步码在数据码流中的位置;
D2、保存搜索到的同步码在数据码流中的位置;D3、判断接着的连续的两帧数据码流中同样位置处是否出现同步码,如果出现,则确定该位置为网络通信中的同步码的位置,否则,执行步骤E。
所述的步骤D1包括根据比较结果为1的比特在结果寄存器中的位置确定移位的次数,从而确定被搜索列的第24比特所处的基本帧的复帧编号。
本发明所述的方法中,当比较结果寄存器中比较结果为1的比特位多于一个时,所述的步骤D3进一步包括D31、判断是否已经跟踪了二个复帧,如果是,执行步骤D34,否则,跟踪下一个复帧中与比较结果为1的比特位所在的位置对应的数据列,并根据确定的第24比特所处的复帧编号确定该列中的同步码;D32、将该列中的同步码与“001011”比较,如果相同则结果为1,否则为0;D33、将该列的同步码搜索结果与结果寄存器中的相应位进行“位与”操作,并将结果写入结果寄存器内,执行步骤31;D34、判断结果寄存器中各位置是否均为0,如果是,则执行步骤E,否则执行步骤D35;D35、确定结果寄存器中位置为1处对应的数据码流中相应的位置为网络通信中的同步码的位置。
所述的步骤E包括保存接收的数据码流中步骤D处理完成的分块的下一个分块,并执行步骤C。
基于上述方法本发明还提供了一种网络通信中搜索同步码的装置,包括数据码流分块存储模块用于保存接收的数据码流的一个分块,并可以将保存的分块中的数据根据需要提供给同步码查询模块;同步码查询模块调用数据码流分块存储模块中保存的数据码流相应分块的数据,并进行同步码的搜索查询处理,搜索查询处理结果上报给同步码查询控制模块;同步码查询控制模块根据同步码查询模块发来的处理结果进行数据码流中的同步码查询的控制。
所述的数据码流分块存储模块为8×24的移位寄存器。
所述的同步码查询模块包括数据循环移位提取模块从数据码流分块存储模块中依次提取根据同步码在基本帧中的出现位置确定的各组数据,并发送给同步码比较模块;同步码比较模块将数据循环移位提取模块发送来的各组数据分别与同步码比较进行确定相应的同步码的处理,并将处理结果发送给同步码查询控制模块。
所述的同步码查询控制模块进一步包括同步状态机根据同步码查询模块发来的处理结果确定相应的处理状态,发送需要保存数据码流分块的首列地址给采样地址寄存器;当在相同位置连续三次发现同步码时,宣布同步完成,并通知码流地址发生器进行地址调整;码流地址发生器对收到的数据码流进行编号定位,分为基本帧内193个比特编号和复帧中24个基本帧编号,它们从复位开始周而复始的计数,直到收到同步状态机发来的同步完成标志的时候,调整这两个编号,使基本帧的比特编号等于1时表示每个基本帧的第一个比特,基本帧编号为1时表示复帧的第一基本帧;采样地址寄存器保存同步状态机给出的需要保存8列数据中的第一列的地址,该地址结合码流地址发生器给出的基本帧比特编号和复帧的基本帧编号组成被保存的8列数据的地址,输出给数据码流分块存储模块。
由上述本发明所述的技术方案可以看出,本发明由于采用了分块保存输入的数据码流并依次分别针对F-bit进行各列数据的同步码的搜索的技术方案,由于同步码的各个比特是每772比特出现一次,而F-bit出现的周期是193比特,因此,本发明所述的针对F-bit进行同步码的搜索,比针对同步码位置进行同步码的搜索的速度快4倍。每个复帧周期对8列数据搜索,搜索速度又比单列搜索提高8倍。
同时,本发明仅保存部分输入码流,而不是整个复帧,节约了大量的存储器,而且降低了同步码搜索电路实现的复杂程度,相应的搜索速度比单列搜索的速度有较大的提高,较现有技术的第二种方案所占用的搜索时间不相上下。
本发明分列搜索同步码,且一旦搜索到,就停止其他列同步码比较,专门对该列进行跟踪,直至确定它是F-bit列还是伪同步码列,从而避免因多列同时出现同步码,而导致排除伪同步列的复杂度增加。
本发明采用移位比较法或复制叠加法可以很快地确定被搜索列是否含有同步码,并可根据搜索结果定位复帧编号。
总之,本发明的实现不仅可以在较短的时间内完成同步码的搜索,而且电路结构简单,逻辑门数少,节约芯片面积,从而降低了同步码搜索的实现成本。


图1为T1的ESF帧结构示意图;图2为现有技术中搜索同步码的装置的结构示意图;图3为本发明所述的方法的具体实施方式
流程图;图4为本发明中针对ESF帧的分块示意图;
图5为同步码在ESF数据中的分布示意图;图6为本发明所述的装置的结构示意图;图7为本发明中同步码搜索过程的状态机示意图;图8为复制叠加搜索法的示意图。
具体实施例方式
为实现降低搜索同步码所需要的时间,并使同步码的搜索处理过程更为简单、合理,本发明提供了一种网络通信中搜索同步码的方法及其装置,现结合附图对本发明的具体实施方式
加以说明。
本发明所述的网络通信中搜索同步码的方法的具体实施方式
如图3所示,具体包括以下步骤步骤31将网络通信中传输的一帧数据码流进行分块;也就是说,本发明为了加快同步码的搜索速度,需要对输入的数据码流进行分块,并采用可调区间的同步码搜索方法进行同步码的搜索即在一个复帧周期内同时采集连续的N列数据(一个数据码流分块),并对这N列依次进行同步码搜索,将使最坏情况时间降为193/N个复帧周期,实际应用中,我们取N的最佳值8,参考附图4;在每个复帧周期内,用8个移位寄存器保存8列数据,然后依次对每一列进行同步码搜索,如果第一个8列内的各列都没有搜索到唯一的同步码,就在下一个复帧周期保存第二个8列数据,完成相同的搜索过程;对于ESF帧中,193列数据里面共有25个这样的阵列;其中最后一个阵列只有第一列有效(即伪复帧里面的第193列),当该列比较完后,发现不是F-bit时,则直接跳跃下一个伪复帧(即下一个输入数据码流),重新开始(即新的193列数据中的第1到8列)进行同步码的搜索;当然,对数据码流进行分块时,各个分块的大小根据需要任意确定,通常采用将网络通信中的一帧数据码流按每块8列进行分块,最后一块不足8列的单独为一个分块;采用每块8列计算较为方便,这是因为8是2的三次方,易于被采样列地址的组合实现,而不需要加法运算;本发明中,所述的数据码流为ESF(扩展的高级帧)数据码流时,复帧共包括24个基本帧,每个基本帧包括193位,如果每次保存8列数据并进行相应的同步码搜索处理,最多需要25次;因此,如果输入的帧一定含有同步码,则最坏情况(不考虑伪同步情况)需要25复帧周期找到FAS,最大平均搜索时间为39ms,可以满足网络通信的要求;保存8列数据是综合考虑电路规模和最大平均搜索时间后的最佳选择;如果我们保存小于8列的数据,最大平均搜索时间将大于40ms,不符合网络通信的要求;如果保存大于8列数据,虽然会降低最大平均搜索时间,但是电路规模和复杂度将增加很多,导致实现成本增加。
步骤32保存接收的数据码流的一个分块,对于ESF复帧,保存接收的复帧的前8列数据,即保存接收的数据码流的第一个分块;也就是说,每一个复帧周期,仅保存25个阵列里面的其中一个小阵列数据,通常为8列数据,而不是整个复帧的数据。
步骤33在保存的相应数据码流分块中采用循环移位的方法搜索同步码,如果搜索同步码成功,则执行步骤34,否则,执行步骤35;而且步骤33是针对分块中的每一列数据分别进行处理,具体的处理过程进一步包括步骤331确定复帧中的一列数据,并以该列数据中的任一位作为起始位,根据同步码在复帧的各个基本帧中的出现位置确定多组数据,所确定的数据组数量与一列数据包含的位数相同;假设,确定T1的ESF复帧中的一列数据,共24位,分别为1、2、......、24位;根据同步码在T1帧的各个基本帧中的出现位置,即每4位出现一位,将24位数据分组,分成“1、5、9、13、17、21”,“2、6、10、14、18、22”,......,“23、3、7、11、15、19”,“24、4、8、12、16、20”,其24组数据,各组数据中的数字代表着各数据在24位的一列数据中所处的位置数值;步骤332循环提取保存的数据码流的分块中根据同步码在各个基本帧中的出现位置确定的各组数据;例如,依次提取上述24组6位数据“1、5、9、13、17、21”,“2、6、10、14、18、22”,......,“23、3、7、11、15、19”,“24、4、8、12、16、20”;步骤333将调用的各组数据与同步码比较,并判断是否相同,如果相同,即同步码搜索成功,则执行步骤34,否则,未在该列数据中找到同步码,进行下一列数据的搜索,具体的搜索过程与步骤331和步骤332相同,如果在该分块数据码流包含的各列数据中均未搜索到同步码,则执行步骤35。
步骤34确定网络通信中的同步码位置;为保证搜索到的同步码的准确性,还需要进行一个伪同步码的排除处理,考虑到根据协议G.704,DL(数据链路)比特码和CRC(循环冗余校验)比特码位置处连续三个复帧出现同步码序列“001011”的概率几乎为0,因此所述的步骤34具体的处理过程为保存搜索到的同步码在数据码流中的位置,并判断接着的连续的两帧数据码流中同样位置处是否出现同步码,如果出现,则确定该位置为网络通信中的同步码的位置,否则,执行步骤35,继续从其他数据码流分块中进行同步码的搜索。
步骤35保存接收的数据码流的另一个分块,并执行步骤33;通常为由步骤32开始依次进行数据码流包含的各个分块的处理,直至搜索到需要的同步码为止,即最终确定出了网络通信中的同步码的位置,结束处理过程。
基于上述本发明所述的方法,本发明还提供了一种网络通信中搜索同步码的装置,具体结构参见图6所示,包括数据码流分块存储模块用于保存接收的数据码流的一个分块,并可以将保存的分块中的数据根据需要提供给同步码查询模块;所述的数据码流分块存储模块为8×24的移位寄存器,即为8个24位移位寄存器组成的移位寄存器组,每个移位寄存器保存ESF复帧的一列数据。
同步码查询模块调用数据码流分块存储模块中保存的数据码流相应分块的数据,并进行同步码的搜索查询处理,搜索查询处理结果上报给同步码查询控制模块;即同步码查询模块搜索被保存的各列数据是否含有同步码,并把结果发送给同步状态机,同步状态机控制着整个同步码搜索进程;所述的同步码查询模块进一步包括数据循环移位提取模块从数据码流分块存储模块中依次提取根据同步码在基本帧中的出现位置确定的各组数据,并发送给同步码比较模块;同步码比较模块将数据循环移位提取模块发送来的各组数据分别与同步码比较进行确定相应的同步码的处理,并将处理结果发送给同步码查询控制模块。
同步码查询控制模块根据同步码查询模块发来的处理结果进行数据码流中的同步码查询的控制;如图6所示,所述的同步码查询控制模块进一步包括同步状态机和码流地址发生器,具体为同步状态机根据同步码查询模块发来的处理结果确定相应的处理状态,发送需要保存数据码流分块的首列地址给采样地址寄存器,当相同位置连续三次发现同步码时,即确定发现同步码时,宣布同步完成,并通知码流地址发生器进行地址调整,以与同步后的码流相对应;码流地址发生器对收到的数据码流进行编号定位,分为基本帧内193个比特编号num_bit和复帧中24个基本帧编号num_frame;当收到同步状态机发来的同步完成标志的时候,调整这两个编号,使num_bit等于1时表示每个基本帧的第一个比特,num_frame为1时表示复帧的第一基本帧;码流地址发生器需要对输入的ESF复帧码流进行编号,编号方法为对每个基本帧包含的码元编号为num_bit,取值1到193,对ESF复帧包含的各个基本帧编号为num_frame,取值1到24。在未同步前,一个ESF复帧长度的数据码流叫做伪复帧,num_bit和num_frame共同表示一个伪复帧的各个比特位置。同步以后,调整地址计数器使num_bit=1和num_frame=1共同表示真的ESF复帧的第一比特位置,num_bit=1表示每个真基本帧的第一个码元位置;也就是说,复帧的每一个基本帧称为行,共24行,复帧里面每一个基本帧的第n比特(n等于1、2...193),组成一列(共193列),并将193列分解为25个小阵列,除了第25个小阵列只含有1列数据以外,其它的每个小阵列都含有8列数据,这样便可以使用8个24比特宽的移位寄存器保存输入码流。每一个复帧周期,保存25个阵列里面的其中一个小阵列数据。
采样地址寄存器保存同步状态机给出的需要保存8列数据中的第一列的地址(即分块的首列地址),该地址结合码流地址发生器给出的两个编号(基本帧比特编号和复帧的基本帧编号)组成被保存的8列数据的地址,并输出给数据码流分块存储模块;保存数据码流分块的地址为由同步状态机和码流地址发生器共同产生的采样地址num_sample,采样地址寄存于采样地址寄存器中。
在前面的描述中,主要介绍了本发明的核心思想及相应的实现方式,即对数据码流进行分块保存,并进行相应的同步码的搜索,那么所述的同步码查询模块究竟是如何对保存的数据码流进行同步码的搜索的呢?下面结合图7作进一步说明因为每个24比特移位寄存器中保存的一个ESF复帧里面的一列均可能是基本帧的F-bit位置,如果该列是F-bit位置,那么一定含有同步码(同步字);因此,可以采用通过循环移位的方法,在同步码位置搜索同步码,查找该列数据中是否含有同步码‘001011’,如果有,保存同步码在该列的相对位置。然后进一步判断是否为伪同步码,即如果在接下来的连续两个复帧周期内,该列相同位置仍然出现同步码,就确定该列位置就是基本帧的F-bit,调整计数器使num_bit=1对应F-bit位置,同时根据同步码在该列的相对位置,决定复帧的编号Num_frame;如果接下来的复帧周期内相应的该列没有同步码,则确定找到的为伪同步码,并在下一个复帧周期,收集下一列数据,重复上述的搜索过程,直至找到复帧同步码为止。
针对一列数据的同步码的搜索过程如下当8列数据里面的第一列收集满后,立即对该列进行同步码的搜索,按照一定循环移位顺序,取同步码位置处的6比特与同步码“001011”进行比较,总共有24次循环移位比较,如果24次里面有一次比较结果与同步码相等,说明该列可能是F-bit列,记住与同步码相等的码在该列数据中的位置,准备第二次进行比较;接着等待下一个复帧收集满该列时,再一次比较,看是否仅在相同位置处,仍然含有同步码,如果有的话,就等待第三次收集满该列,再看是否仅在相同位置处第三次含有同步码,如果是的话,认为已经连续三次发现该列的相同位置存在同步码,认定该列为F-bit列,进入同步状态,同时根据同步码在列中的相对位置,调整基本帧比特计数器和复帧的基本帧编号计数器,确保这两个计数器直接反映复帧的顺序结构,所述的基本帧比特计数器就是num_bit,对基本帧内的193个比特进行编号,而所述的复帧的基本帧编号计数器就是num_frame,对复帧内各个基本帧进行编号,两个计数器从芯片复位开始工作,分别从1到193循环计数和从1到24计数,重复该循环计数过程,直到同步状态机发送同步完成标志,才进行调整,使计数器与码流相对应,复帧的第一个比特表示为num_bit=1,num_frame=1,调整完后,又重复的进行循环计数过程,直至又收到同步标志,从而进行又一次的同步调整;否则,继续进行下一列的同步码搜索过程;如果当前8列数据都没有发现同步码,就搜索第二个8列数据,直至搜索到同步码为止。
具体的针对一列数据的同步码的详细搜索过程如下因为F-bit的同步码是周期性出现的,周期为24帧,所以采集到的一列比特(共24比特)如果是F-bit列的话,必定含有同步码的所有比特,区别在于同步码比特的位置不同,即该24比特含可以含有上一个复帧的下半部分的同步码,同时又有下一个复帧的上半部分的同步码,或者刚好只含有一个复帧的所有同步码。因此,通过向一个固定方向循环移位,一定可以使同步码出现在同步码的位置上。循环移位24次,其中必有一次移位结果将会是在同步码位置处出现同步码,参考附图5,在该图中,向下循环移动10次或者向上循环移动14次,都将使同步码移动到协议规定的同步码位置上。本发明便是在每移动一次时,取同步码位置处的数据与同步码比较,如果相等则比较结果为1,否则为0,将24次比较结果分别写入24比特的结果寄存器Q内,即第N次移位的比较结果写入结果寄存器Q的第N比特,该比较结果代表了同步码在列中的相对位置。假如结果寄存器Q的所有比特全为0,说明没有找到同步码,如果出现多个比特为1,说明出现伪同步码,需要进一步排除。如果只有一个比特为1,说明找到唯一的同步码,并可以根据这个比特在结果寄存器Q中的位置确定移位的次数,从而确定被搜索列的第24比特所处的基本帧的复帧编号。结果寄存器Q的第一个比特为不移位的比较结果,比如Q的第3个比特为1,说明移位了2次,该搜索列的第24比特的复帧编号应为22。假设结果寄存器Q的第N个比特为1,则被搜索列的第24比特所处的基本帧的复帧编号的计算公式为num_frame=24-(N-1)。
针对一列数据的同步码搜索也可以使用复制叠加搜索法,如图8所示,同步码“001011”的第一个比特0可以出现在F-bit列数据里面的任意一个位置上,但因为同步码是周期性出现的,所以一旦同步码的第一比特数据在列数据里的位置确定,同步码的其它比特的位置也就相应确定。因此,还可以将被搜索的一列数据复制一份,附在其后,变成48比特的列数据;假如同步码的第一比特出现在列数据的第一比特位置上,那么列数据里的第1、5、9、13、17、21比特位置处的数据就构成同步码;再假如同步码的第一比特出现在列数据的第二比特位置上,那么列数据里的第2、6、10、14、18、22比特位置处的数据就构成同步码;依次类推,假如同步码的第一比特出现在列数据的第24比特位置上,那么第24、28、32、36、40、44比特的位置处的数据就构成同步码。现假定同步码的第一个比特分别在该列数据第一比特、第二比特......、第24比特位置处,提取同步码的值与“001011”比较,将会得到24个比较结果,并写入24比特的结果寄存器Q内;然后根据结果寄存器Q中的值,确定被搜索列是否含有同步码如果结果寄存器Q中的值为0,说明该列没有同步码,如果结果寄存器Q中的值有多个比特为1,说明含有多个同步码,需要进一步排除伪同步码。如果结果寄存器Q中只有第N个比特为1,可以确定被搜索列的第24比特所处的基本帧编号,其公式为num_frame=28-N-24*m其中N=1、2、3...24;当N>=4时,m=0;当N<4时,m=1。
下面再对如何从搜索的同步码中去除相应的伪同步码进行说明,即如何判断被搜索列的相同位置处是否连续出现三次同步码当前列的第一次搜索结果存放在结果寄存器Q内,如果结果寄存器Q的值不为0,就需要跟踪下一个复帧的这一列,并将第二次的同步码搜索结果与结果寄存器Q进行“位与”操作,并写入结果寄存器Q内,如果结果寄存器Q为0,说明同步码没有连续出现两次,需要抛弃该列,搜索下一列。如果结果寄存器Q不为0,说明同步码在相同位置再次出现,需要第三次跟踪搜索该列。将第三次搜索结果与结果寄存器Q值进行“位与”操作,并写入结果寄存器Q内,如果结果寄存器Q为0,说明同步码没有第三次出现,需要抛弃该列。如果结果寄存器Q不为0,但是结果寄存器Q内有一个以上的比特位置为1,说明同步码在多个位置连续出现三次,通常情况下是不可能出现这种情况的,或者说该列可能发生了不可以用于同步的错误,因为DL比特和CRC比特是不可能连续三次出现与同步码相同的数据,所以也需要抛弃该列。如果结果寄存器Q内只有一个比特位置为1,说明连续三次在列的相同位置出现同步码,可以宣布该列是F-bit列,且可以根据相应的第24帧编号确定同步码的位置,以便于网络通信中进行相应的同步处理。
经过上述同步码搜索过程最终确定的同步码,并实现了相应的同步处理,但是网络传输过程为一个动态的过程,随时可能由同步状态转入失步状态,如果出现失步条件,说明当前F-bit列是伪同步列(不再是真正的F-bit列),将引发再同步的搜索过程。由于在宣布同步的时候调整了基本帧比特计数器和复帧的基本帧编号计数器,搜索将是从调整后的复帧结构的第一列开始,从而避免了对以前被排除的列的重新搜索。又由于当前的F-bit列已经被证明为伪同步列,所以不需要再次搜索,可以通过调整比特计数器,使第二列的位置变成第一列,从而避免对伪同步列的重复搜索,同时也可以避免在该伪同步列一直含有同步码的情况下搜索过程死锁在伪同步列。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
权利要求
1.一种网络通信中搜索同步码的方法,其特征在于包括A、将网络通信中传输的一帧数据码流进行分块;B、保存接收的数据码流的一个分块;C、在保存的数据码流的分块中搜索同步码,如果搜索同步码成功,则执行步骤D,否则,执行步骤E;D、确定网络通信中的同步码位置;E、保存接收的数据码流的另一个分块,并执行步骤C。
2.根据权利要求1所述的网络通信中搜索同步码的方法,其特征在于所述的步骤A包括将网络通信中的一帧数据码流按每块8列进行分块,最后一块不足8列的单独为一个分块。
3.根据权利要求1或2所述的网络通信中搜索同步码的方法,其特征在于所述的数据码流为ESF(扩展的高级帧)数据码流。
4.根据权利要求1所述的网络通信中搜索同步码的方法,其特征在于所述的步骤B包括保存接收的数据码流的其中一个分块。
5.根据权利要求1所述的网络通信中搜索同步码的方法,其特征在于所述的步骤C包括在保存的数据码流的分块中采用循环移位的方法依次对各列数据进行同步码的搜索,如果搜索到同步码,则执行步骤D,否则,执行步骤E。
6.根据权利要求5所述的网络通信中搜索同步码的方法,其特征在于所述的步骤C进一步包括C1、循环提取保存的数据码流的分块中根据同步码在各基本帧中的出现位置确定的各组数据;C2、将提取的各组数据与同步码比较,并判断是否相同,如果相同,则执行步骤D,否则,执行步骤E。
7.根据权利要求6所述的网络通信中搜索同步码的方法,其特征在于所述的步骤C1进一步包括C11、确定复帧中的一列数据,并以该列数据中的任一位作为起始位,根据同步码在复帧的各个基本帧中的出现位置确定多组数据,数据组数与一列数据包含的位数相同;C12、循环提取保存的数据码流的分块中根据同步码在各个基本帧中的出现位置确定的各组数据。
8.根据权利要求7所述的网络通信中搜索同步码的方法,其特征在于所述的步骤C11包括确定T1的ESF复帧中的一列共24位数据,分别为1、2、......、24位;根据同步码在T1的ESF复帧的各个基本帧中的出现位置,即每4位出现一位,将24位数据分组,分成“1、5、9、13、17、21”,“2、6、10、14、18、22”,......,“23、3、7、11、15、19”,“24、4、8、12、16、20”,共24组数据。
9.根据权利要求8所述的网络通信中搜索同步码的方法,其特征在于所述的步骤D包括保存搜索到的同步码在数据码流中的位置,并判断接着的连续的两帧数据码流中同样位置处是否出现同步码,如果出现,则确定该位置为网络通信中的同步码的位置,否则,执行步骤E。
10.根据权利要求9所述的网络通信中搜索同步码的方法,其特征在于所述的步骤C还包括将提取的各组数据与同步码比较,如果相等则比较结果为1,否则比较结果为0,并将比较结果分别依次写入结果寄存器内;且所述的D进一步包括D1、根据结果寄存器比较结果为1的比特所在的位置确定同步码在数据码流中的位置;D2、保存搜索到的同步码在数据码流中的位置;D3、判断接着的连续的两帧数据码流中同样位置处是否出现同步码,如果出现,则确定该位置为网络通信中的同步码的位置,否则,执行步骤E。
11.根据权利要求10所述的网络通信中搜索同步码的方法,其特征在于所述的步骤D1包括根据比较结果为1的比特在结果寄存器中的位置确定移位的次数,从而确定被搜索列的第24比特所处的基本帧的复帧编号。
12.根据权利要求11所述的网络通信中搜索同步码的方法,其特征在于,当比较结果寄存器中比较结果为1的比特位多于一个时,所述的步骤D3进一步包括D31、判断是否已经跟踪了二个复帧,如果是,执行步骤D34,否则,跟踪下一个复帧中与比较结果为1的比特位所在的位置对应的数据列,并根据确定的第24比特所处的复帧编号确定该列中的同步码;D32、将该列中的同步码与“001011”比较,如果相同则结果为1,否则为0;D33、将该列的同步码搜索结果与结果寄存器中的相应位进行“位与”操作,并将结果写入结果寄存器内,执行步骤31;D34、判断结果寄存器中各位置是否均为0,如果是,则执行步骤E,否则执行步骤D35;D35、确定结果寄存器中位置为1处对应的数据码流中相应的位置为网络通信中的同步码的位置。
13.根据权利要求1所述的网络通信中搜索同步码的方法,其特征在于所述的步骤E包括保存接收的数据码流中步骤D处理完成的分块的下一个分块,并执行步骤C。
14.基于上述方法实现的一种网络通信中搜索同步码的装置,其特征在于包括数据码流分块存储模块用于保存接收的数据码流的一个分块,并可以将保存的分块中的数据根据需要提供给同步码查询模块;同步码查询模块调用数据码流分块存储模块中保存的数据码流相应分块的数据,并进行同步码的搜索查询处理,搜索查询处理结果上报给同步码查询控制模块;同步码查询控制模块根据同步码查询模块发来的处理结果进行数据码流中的同步码查询的控制。
15.根据权利要求14所述的网络通信中搜索同步码的装置,其特征在于所述的数据码流分块存储模块为8×24的移位寄存器。
16.根据权利要求14所述的网络通信中搜索同步码的装置,其特征在于所述的同步码查询模块包括数据循环移位提取模块从数据码流分块存储模块中依次提取根据同步码在基本帧中的出现位置确定的各组数据,并发送给同步码比较模块;同步码比较模块将数据循环移位提取模块发送来的各组数据分别与同步码比较进行确定相应的同步码的处理,并将处理结果发送给同步码查询控制模块。
17.根据权利要求14所述的网络通信中搜索同步码的装置,其特征在于所述的同步码查询控制模块进一步包括同步状态机根据同步码查询模块发来的处理结果确定相应的处理状态,发送需要保存数据码流分块的首列地址给采样地址寄存器;当在相同位置连续三次发现同步码时,宣布同步完成,并通知码流地址发生器进行地址调整;码流地址发生器对收到的数据码流进行编号定位,分为基本帧内1 93个比特编号和复帧中24个基本帧编号,它们从复位开始周而复始的计数,直到收到同步状态机发来的同步完成标志的时候,调整这两个编号,使基本帧的比特编号等于1时表示每个基本帧的第一个比特,基本帧编号为1时表示复帧的第一基本帧;采样地址寄存器保存同步状态机给出的需要保存8列数据中的第一列的地址,该地址结合码流地址发生器给出的基本帧比特编号和复帧的基本帧编号组成被保存的8列数据的地址,输出给数据码流分块存储模块。
全文摘要
本发明涉及一种网络通信中搜索同步码的方法及其装置。其核心思想是将输入的数据码流分块保存,并依次分别针对F-bit进行各列数据的同步码的搜索,以获得相应的同步码的位置信息。本发明仅保存部分输入码流,而不是整个复帧,节约了大量的存储器,而且降低了同步码搜索电路实现的复杂程度,同时,相应的搜索速度比单列搜索的速度有较大的提高。总之,本发明的实现不仅可以在较短的时间内完成同步码的搜索,而且电路结构简单,逻辑门数少,节约芯片面积,从而降低了同步码搜索的实现成本。
文档编号H04J3/06GK1619992SQ200310116719
公开日2005年5月25日 申请日期2003年11月18日 优先权日2003年11月18日
发明者刘智勇, 胡灵博 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1