具体实施方式
为了便于理解,下面对上下文中出现的术语进行解释。
SONET与SDH:1985年,Bellcore提出SONET(SynchronousOptical Network同步光纤网)标准,美国国家标准协会(ANSI)通过一系列有关SONET标准。1989年,国际电报电话咨询委员会CCITT接受SONET概念制定了SDH(Synchronous Digital Hierarchy,同步数字系列)标准,使之成为不仅适于光纤也适于微波和卫星传输的通用技术体制,与SONET有细微差别,SDH/SONET定义了一组在光纤上传输光信号的速率和格式,通常统称为光同步数字传输网,是宽带综合数字网B-ISDN的基础之一,SDH/SONET采用TDM(时分复用)技术,是同步系统,由主时钟控制,两者都用于骨干网传输。
STS-N:Synchronous Transport Signal level N,SONET中N阶同步传送信号,由传送开销和纯净载荷构成,N为正整数。
STS-Nc:由N个STS-1纯净载荷区域级联在一起形成STS-Nc信号。
STM-M:Synchronous Transport Module level M,SDH同步数字系列N阶同步传送模块。
AUG:Administrator Unit Group管理单元组,由管理单元复用而成,例如,一个AUG由3个AU-3复用而成,或者由一个AU-4组成,AUG本身又可以复用成高阶同步传送模块。
AU-n:Administrator Unit管理单元,是由带有AU指针的同级虚拟容器VC-n组成,其中n=3,4,经管理单元组复用后成为STM-1帧结构组成部分。由虚拟容器VC-3加AU指针形成AU-3;VC-4加AU指针形成AU-4。
VC:Virtual Container虚拟容器,是SDH中建立路(path)层连接的信号结构单元,由容器或支路单元与路开销两部分构成,包括基本虚拟容器(VC-1和VC-2)和高阶虚拟容器(VC-3和VC-4)。
Container:容器,容器是一个纯净载容量的定义单元,其大小与载入G.702建议中规定的现行异步数字系列各级速率信号相对应。
VC-4-Xc:当要传输的信号要求的容量大于最大的容器的纯净载荷区域的容量时,可由X个4阶容器级联成一个VC-4-Xc,X为正整数。
下面以光传输网络为例,来描述本发明的一个具体实施例。为了更清楚地阐述该具体实施例,先对SONET和SDH在高阶的复用原理(或复接原理)作一个简单介绍(详细的复用原理可参考《SDH/SONET同步光通信基础》,王廷尧等编著,天津市科学技术出版社,1996年4月出版)。在本说明书中,以2.5Gb/s的数据速率(SONET:STS-48,SDH:STM-16)为例来对本发明进行说明,对其它数据速率,本发明同样适用。
图1a示出了SONET的STS-48的一个复用单元。我们参照图1a来对STS-48的复用原理进行说明。由于以不同的途径复用成的STS-48具有相同的结构,因此下面以STS-48由16个STS-3复用而成,每个STS-3由3个STS-1复用而成为例来说明STS-48的复用原理。
具体的,本领域技术人员应理解,STS-48可包括多个复用单元,其中,每个复用单元包含48个字节。在图1a中,每个小方块代表一个STS-1的1个字节,如图所示,每个小方块用一组数字”x,y”来进行表示,其中第1个数字”x”表示STS-3的编号,第2个数字”y”表示STS-1在STS-3中的编号。从图1中可以看出,STS-48的每个复用单元为48字节,分别来自16个STS-3。每个STS-3的一个复用单元包含3个字节,分别来自3个STS-1。例如,第1个STS-3的复用单元包含由“1,1”,“1,2”和“1,3”三组数字表示的3个字节,分别来自三个STS-1。可将STS-48的复用单元排列成3行16列的块状结构,如图1a所示。
当然,STS-48信号也可由一个或多个STS-Nc信号复用而成,STS-Nc信号是由N个STS-1级联组成的(N为正整数),如STS-3c(由3个STS-1信号级联组成),STS-12c(可由12个STS-1信号级联组成),STS-6c(可由6个STS-1信号级联组成)等。图1b示出了STS-48由一个STS-3c、一个STS-12c、一个STS-6c以及9个STS-3信号复用而成时STS-48的一个复用单元。本领域技术人员应理解,若将级联信号STS-Nc等效为由N个STS-1组成的,则此时STS-48的复用情形与图1中所示的STS-48的复用情形类似,在此不再赘述。
同理,可以将STS-Nc排列成多个3行N/3列的块状结构,这里Nc表示级联的N阶STS信号,例如STS-3c表示由三个STS-1的纯净载荷区域级联在一起形成的信号。
图2示出了SDH中STM-16的一个复用单元。具体的,本领域技术人员应理解,STM-16可包括多个复用单元,其中,每个复用单元包含48个字节。在图2中,STM-16由4个AUG-4复用而成,每个AUG-4由4个AUG-1复用而成,每个AUG-1由3个AU-3复用而成或者是由3个AU-3级联而成。图2中每个小方块代表一个AU-3的1个字节,每个小方块用一组数字“l,m,n”来进行表示,其中第1个数字“l”表示AUG-4的编号,第2个数字“m”表示AUG-1在AUG-4中的编号,第3个数字“n”表示AU-3在AUG-1中的编号。例如,第1个AUG-1的复用单元包含由“1,1,1”,“1,1,2”和“1,1,3”三组数字表示的3个字节,分别来自三个AU-3。可将图2所示的STM-16复用单元排列成3行16列的块状结构。
当然,STM-16信号也可以看作是由一个或多个级联信号AU-3-Yc复用而成的,这里AU-3-Yc表示由Y个AU-3相邻级联而成的信号,Y为正整数。若将AU-3-Yc等效为Y个AU-3复用而成的,则可将AU-3-Yc排列成多个个3行Y/3列的块状结构(注意:虽然目前的SDH标准不支持AU-3相邻级联,但为了使得AU-3相邻级联和SONET、AU-4兼容,假定AU-3有上面的级联方式)。
图3a示出了SDH中STM-16的另一个复用单元。在图3a中,STM-16由4个AUG-4复用而成,每个AUG-4由4个AUG-1复用而成,每个AUG-1由一个AU-4构成。图3a中的每个小方块代表一个AU-4的1个字节,每个小方块用一组数字“r,s,t”来进行表示。其中第1个数字“r”表示AUG-4的编号;第2个数字“s”表示AUG-1在AUG-4中的编号;由于AUG-1由一个AU-4构成,因此,设第3个数字“t”一直为0。例如,第1个AUG-4的复用单元包含由”1,1,0”,“1,2,0”和“1,3,0”三组数字表示的3个字节,分别来自三个AU-4或者AUG-1。STM-16由图3a所示的方式复用而成时,STM-16的复用单元为16个字节。这与图1a、图2所示的STS-48、STM-16的复用单元的字节数不同,但我们如果将图3a所示的3个STM-16的复用单元当成1个复用单元,则与图1a、图2所示的STS-48、STM-16的复用单元的字节数相同,都可排列成3行16列的块状结构,如图3b所示。
当然,STM-16也可以是由一个或多个级联信号AU-4-Xc复用而成的,这里AU-4-Xc表示由X个AU-4相邻级联而成的信号,X为正整数。若将AU-4-Xc等效为由X个AU-4复用而成的,则AU-4-Xc也可看作多个3行X列的块状结构。
图4a示出了SONET基本同步传递信号的纯净载荷(STS-1SPE)的帧结构示意图,STS-1SPE由9行×87列个字节组成,第1列为高阶通道开销,第30列和第59列为固定填充列,净载荷为756个字节。高阶通道开销中的B3字节实现BIP-8比特交错奇偶校验编码,用于高阶通道的误码监测。高阶通道开销中其它各个字段的含义可参考SONET协议标准(T1.105(ANSI)、GR253等)和SDH协议标准(G.707(ITU)等),由于其与本发明的目的没有直接的联系,这里不作赘述。
图4b示出了级联的基本同步传递信号的纯净载荷(STS-NcSPE)的帧结构示意图,STS-Nc SPE由9行×N×87列字节组成,其中第1列为高阶通道开销,第2列至第N/3列为固定填充列,净载荷为N×780个字节。
图5a示出了SDH中高阶虚拟容器VC-3的帧结构示意图,VC-3由9行×87列字节组成。VC-3的帧结构与STS-1SPE一样,第1列为高阶通道开销,第30列和第59列为固定填充列,净载荷为756个字节。
图5b示出了在SDH中级联的高阶虚拟容器VC-4-Xc的帧结构示意图,当X为1时,即为VC-4的帧结构示意图。VC-4-Xc由9行×X×261列字节组成,其帧结构类似于图4b所示的STS-Nc SPE的帧结构。其中,第1列为高阶通道开销,接着是(X-1)列的固定填充列(若X为1,则无固定填充列)。净载荷为X×2340个字节。
对于图4a、图4b、图5a和图5b所示的各种帧结构,如果对每种帧结构分别单独进行B3的计算,则比较简单。发送方对前一帧的所有内容进行BIP-8计算,并将计算结果存入当前帧的B3位置;接收方对前一帧的所有内容进行BIP-8计算,并将计算结果与当前帧的B3字节进行比较,如果完全相同,则认为没有误码,如不同,则表示有误码。
如果光传输设备既能支持SDH,也能支持SONET,其对不同的帧结构的B3的计算方法通常是对每种帧结构的B3作不同的处理,通过配置来选择不同的处理方式。因为帧结构的形式有多种,总的处理方式会很多,这样势必使成本上升,电路复杂,使用也不方便。
在SDH中,AU-3和AU-4的指针有三种字节,即H1、H2和H3。H1和H2主要用于指示指针值,H3字节用于码速调整。在级联的情况下,H1和H2表示为CI,其取值为“1001ss1111111111”,其中s比特未作规定。对于SONET的STS-Nc信号,级联时,指针取值同样如此。
将1个AU-4(VC-4)等效为3个AU-3(VC-3)的级联,这种等效处理是有理论依据的,在SDH协议标准中,AU-4的指针只用了第1组H1H2,第2、3组H1H2则固定为“1001ss11_11111111”,这其实就是级联指示,即VC-4等效为3个VC-3的级联。由于AU-4是由VC-4加AU指针组成的,AU-3是由VC-3加AU指针组成的,因此,VC-4等效为3个VC-3的级联,也就是AU-4等效为3个AU-3的级联。
从图4a和图5a中可以看出,STS-1SPE帧结构和VC3的帧结构完全相同,除了最后3个高阶通道开销定义不同外,对于B3的处理则完全相同。对于VC-4-Xc的帧结构,根据SDH/SONET的复用原理,如果我们将1个VC-4等效为3个VC-3的级联,那么VC-4-Xc等效为3X个VC-3的级联(VC-3-3Xc)。由于STS-1和VC-3的B3的处理是相同的,因此,对整个SDH/SONET高阶信号的B3处理就简化为对VC-3/STS-1SPE和VC-3-Xc/STS-Nc SPE的B3处理。
如果用1表示级联,用0表示非级联,根据例如图1至图3中所示的SDH/SONET的复用原理,对于STM-M(或STS-N)信号,则根据管理单元指针(或帧结构指示信息),也就是指针解释后,得到一个3行M(或N/3)列的级联指示表。对STM-16/STS-48,则为3行16列的级联指示表。这里假设STM-16信号中包括一个高阶虚拟容器VC-4,两个级联的高阶虚拟容器VC-4-2c,三个级联的高阶虚拟容器VC-4-3c,以及四个级联的高阶虚拟容器VC-4-4c以及多个高阶虚拟容器VC-3;或者STS-48信号中包括四个级联信号:STS-3c,STS-6c,STS-9c,STS-12c以及多个STS-1信号,则可以得到一个例如图6所示的级联指示表。
图6中所列的级联组合只是示例,事实上,级联指示表中的级联组合可以为任意合法的级联组合,并且级联信号的复用的次序也是可变的,不限于图6所示的复用次序。
光传输设备对输入的STM-M/STS-N的高阶信号中的高阶虚容器/纯净载荷,全部当成3M/N个独立不相关的“虚拟”VC-3/STS-1SPE信号(这些VC-3/STS-1SPE信号,可能是真正的VC-3/STS-1SPE信号,也可能是虚拟的VC-3/STS-1SPE信号,还可能是两者的混合,故称它们为“虚拟”VC-3/STS-1SPE信号)。对这些“虚拟”VC-3/STS-1SPE信号独立地作B3计算,所得结果称之为“虚拟”B3。根据STM-M/STS-N的高阶信号的指针信息/帧结构信息,得到级联指示表,然后根据级联指示表,将分别属于VC-4或者级联的VC-4/STS-Nc信号的“虚拟”VC-3/STS-1SPE信号的B3计算结果进行合并,以得到VC-4或者VC-4-Xc/STS-Nc信号的真实B3。这里“虚拟”VC-3/STS-1SPE信号的B3计算方法同现有技术中真正的VC-3/STS-1SPE信号的B3计算方法。
图7示出了根据本发明的一个具体实施方式在通信网络的网络设备中用于计算数据流中每个数据块的奇偶校验信息的方法流程示意图。
首先,在步骤S12中分别将所述每个数据块分成多个基本数据单元;然后,在步骤S13中,分别计算所述每个基本数据单元的奇偶校验信息;最后,在步骤S16中,将属于同一个数据块的多个基本数据单元的奇偶校验信息进行合并处理,以获得所述每个数据块的奇偶校验信息。合并的方式包括但不限于:将所述属于同一个数据块的多个基本数据单元的奇偶校验信息相互进行逐位异或,或相互进行逐位的无进位二进制加法,或者是计算1或0的个数。例如,将数据块A分为三个基本数据块A1、A2和A3,分别计算三个基本数据块的奇偶校验信息,假设采取BIP-8奇偶校验编码,则分别得到三个数据块的奇偶检验码C1、C2和C3,皆为8个比特。将C1与C2进行逐位异或,得到一个8个比特的异或结果C12,然后将C12与C3进行逐位异或,得到的结果C123仍然为8个比特,C123就是数据块A的BIP-8奇偶检验码。
图7所示的三个步骤为实现本发明的目的所需的必需步骤。例如,当数据流中仅包括一个数据块时,要计算该数据块的奇偶校验信息时,可将该数据块分割成多个基本数据单元,然后分别计算每个基本数据单元的奇偶校验信息,最后将多个基本数据单元的奇偶校验信息进行合并,以获得所述数据块的奇偶校验信息。
具体的,根据应用场景的不同,还可以在图7所示的步骤基础上增加一些不同的附加步骤。当所述数据流由多个数据块构成时,优选地,在步骤S12之前还可包括以下步骤:从所述数据流中获取所述每个数据块(为简明起见,图7中未示出该步骤)。
图8示出了根据本发明的另一个具体实施方式在通信网络的网络设备中用于计算数据流中每个数据块的奇偶校验信息的方法流程示意图。
首先,在步骤S10中,获取所述数据流中的定位指示信息,该定位指示信息用于定位所述每个数据块。例如,对于STS-N信号/STM-M信号来说,定位指示信息即为帧结构指示信息和由管理单元指针解释而来的高阶指示信息,高阶指示信息即是VC-3或者VC-4或者级联的VC-4信号在帧结构中的位置指示信息。
其次,在步骤S11中,根据所述定位指示信息,从所述数据流中获取所述每个数据块。例如STS-N信号/STM-M信号,根据帧结构指示信息/高阶指示信息,获取每个STS-1SPE或者STS-Nc SPE信号/VC-3,VC-4或者级联的VC-4-Xc信号。
接着,在步骤S12中分别将所述每个数据块分成多个基本数据单元。例如,可将VC-4分成三个“虚拟”VC-3,将STS-3c SPE分成三个“虚拟”STS-1SPE。当然,如果某个数据块仅包括一个基本数据单元,则无需对该数据块进行分割。
在步骤S13中,分别计算所述每个基本数据单元的奇偶校验信息。
在步骤S14中,根据所述定位指示信息生成所述每个数据块与其包含的多个基本数据单元之间的映射信息,对于例如STS-N信号/STM-M信号,可以生成一个例如图6所示的级联指示表。
在步骤S15中,根据所述映射信息来确定属于同一个数据块的多个基本数据单元。
最后,在步骤S16中,将属于同一个数据块的多个基本数据单元的奇偶校验信息进行合并处理,以获得所述每个数据块的奇偶校验信息。
这里需要说明的是,步骤S14的执行也可以在步骤S12、S13执行之前;或者在步骤S12执行之后,步骤S13执行之前;或者与步骤S12或步骤S13的执行同时。
优选地,所述每个基本数据单元的大小相同。本领域的技术人员可以理解,每个基本数据单元的大小也可以不相同。
对于SDH光传输网,所述数据流包括SDH同步传递模块;所述数据块包括SDH高阶虚拟容器VC-4和/或相邻级联的SDH高阶虚拟容器VC-4-xC;所述基本数据单元包括SDH高阶虚拟容器VC-3。对于SONET光传输网,所述数据流包括SONET同步传递信号;所述数据块包括相邻级联的SONET基本同步纯净载荷;所述基本数据单元包括SONET基本同步纯净载荷。所述网络设备包括光传输设备。本领域的普通技术人员可以理解,本发明的方法不限于例如SONET或者SDH的光传输网络以及比特交错的奇偶校验信息,对于其它通信网络需要计算奇偶检验信息的数据格式,本发明的方法同样适用。
图9示出了根据本发明的一个具体实施方式在通信网络的网络设备中用于计算数据流中每个数据块的奇偶校验信息的计算装置。该计算装置10包括第一获取装置11,分割装置12,子计算装置13,生成装置14,合并装置15。其中,第一获取装置11包括第二获取装置111和第三获取装置112。
为简明起见,该检测装置10包括了很多优选实施例中所包含的子装置,本领域技术人员根据本申请的教导,应能理解其中仅分割装置12,子计算装置13和合并装置15是实施本发明所必要的装置,其他子装置为可选装置。例如,当数据流中仅包括一个数据块时,要计算该数据块的奇偶校验信息时,可由分割装置12将该数据块分割成多个基本数据单元,然后由子计算装置13分别计算每个基本数据单元的奇偶校验信息,最后再由合并装置15将多个基本数据单元的奇偶校验信息进行合并,以获得所述数据块的奇偶校验信息。例如,分割装置12将数据块A分为三个基本数据块A1、A2和A3,子计算装置13分别计算三个基本数据块的奇偶校验信息,假设采取BIP-8奇偶校验编码,则分别得到三个数据块的奇偶检验码C1、C2和C3,皆为8个比特。合并装置15将C1与C2进行逐位异或,得到一个8个比特的异或结果C12,然后将C12与C3进行逐位异或,得到的结果C123仍然为8个比特,C123就是数据块A的BIP-8奇偶检验码。
优选地,该计算装置10还可包括第一获取装置11,生成装置14。
首先,第一获取装置11从所述数据流中获取所述每个数据块。这具体地可由两个子装置来分别完成:第二获取装置111获取所述数据流中的定位指示信息,该定位指示信息用于定位所述每个数据块;第三获取装置112根据所述定位指示信息,从所述数据流中获取所述每个数据块。例如,对于STS-N信号/STM-M信号来说,定位指示信息即为帧结构指示信息/高阶指示信息,根据帧结构指示信息/高阶指示信息,获取每个STS-1或者STS-Nc信号/VC-3,VC-4或者级联的VC-4-Xc信号。
接着,分割装置12分别将所述每个数据块分成多个基本数据单元。例如,可将VC-4分成三个“虚拟”VC-3,将STS-3c SPE分成三个“虚拟”STS-1SPE。当然,如果某个数据块仅包括一个基本数据单元,则无需对该数据块进行分割。
子计算装置13分别计算所述每个基本数据单元的奇偶校验信息。
生成装置14根据所述第二获取装置111获取的定位指示信息生成所述每个数据块与其包含的多个基本数据单元之间的映射信息。例如,对于STS-N信号/STM-M信号,可以生成一个例如图6所示的级联指示表。
最后,合并装置15根据所述映射信息来确定属于同一个数据块的多个基本数据单元,分别将属于同一个数据块的多个基本数据单元的奇偶校验信息进行合并处理,以获得所述每个数据块的奇偶校验信息。
优选地,所述每个基本数据单元的大小相同。本领域的技术人员可以理解,每个基本数据单元的大小也可以不相同。
对于SDH光传输网,所述数据流包括SDH同步传递模块;所述数据块包括SDH高阶虚拟容器VC-4和/或相邻级联的SDH高阶虚拟容器VC-4-xC;所述基本数据单元包括SDH高阶虚拟容器VC-3。对于SONET光传输网,所述数据流包括SONET同步传递信号;所述数据块包括相邻级联的SONET基本同步纯净载荷;所述基本数据单元包括SONET基本同步纯净载荷。所述网络设备包括光传输设备。本领域的普通技术人员可以理解,本发明的计算装置10的适用范围不限于例如SONET或者SDH的光传输网络,也不仅限于比特交错的奇偶校验信息,对于其它需要计算奇偶检验信息的数据格式,本发明的计算装置10同样适用。
以上对一个通道的数据流中各个数据块的比特奇偶校验信息的的计算流程以及计算装置10进行了描述。在实际的SDH或SONET光传输设备中,通常会有多个通道的STM-M或者STS-N信号需要处理。以下对本发明在SDH或SONET光传输设备中的应用进行说明。
图10示出了根据本发明的一个具体实施方式在SDH或SONET光传输设备中B3计算装置的结构框图。
该B3计算装置包括n个“虚拟”B3计算装置,n是光传输设备所接收的STM-M或者STS-N信号的通道个数。该“虚拟”B3计算装置是图9所示的子计算装置13的一个具体实现装置。图10中还包括n个“虚拟”B3和级联指示信息存储器,用于存储各个“虚拟”VC-3/“虚拟”STS-1SPE的“虚拟”B3字节以及STM-M(或STS-N)信号指针解释后得到的一个3行M(或N/3)列的级联指示表。图10中所示的B3计算装置还包括n个“虚拟”B3到达标志存储器,用于存储n路信号中“虚拟”VC3/STS-1SPE信号的“虚拟”B3到达标志。这里为了简明起见,未示出图9中所示的分割装置12、第二获取装置111和第三获取装置112。由于在光传输设备中有多个通道的STM-M或者STS-N信号需要处理,因此该B3计算装置中还包括一个通道调度控制器,用于根据B3级联核心处理器发出的通道指令来选择相应的通道进行处理。该B3计算装置还包括一个B3级联核心处理器和n个真实的B3存储器,其中B3级联核心处理器是图9所示的合并装置15的一个具体实现装置。
对输入的STM-M/STS-N信号,根据高阶指示信息/帧结构指示信息,获取VC-3,VC-4或者级联的VC-4-Xc信号/每个STS-1或者STS-Nc信号。然后将其全部当成3M/N个独立不相关的“虚拟”VC3/STS-1SPE信号。“虚拟”B3计算装置对这些“虚拟”VC3/STS-1SPE信号独立地作B3计算(计算结果暂且称它们为“虚拟”B3),将“虚拟”B3、级联指示信号按图6所示的3行M/(N/3)列的存储结构并行写入位宽为9比特的简单双口存储器(一口写,另一口读),同时,以相同的存储结构向另一位宽为1的真双口存储器(两口均可写、可读,即图10中所示的“虚拟”B3到达标志存储器)写入“虚拟”B3到达标志(假定“1”表示到达),见图10。当核心处理器完成对某个“虚拟”B3的处理时,在通道调度控制器的协调下,对该“虚拟”B3的到达标志清零。因为对所有的通道的处理是在1行(1/9帧)内完成,因此不会存在对“虚拟”B3到达标志存储器的同一地址同时置位和清零的情况。
对于“虚拟”B3的计算,如果一个SDH/SONET通道的字节速率太高,可将它分成相同的Y(Y为正整数)个子块来计算。每个子块的结构为3行M/Y(N/(3Y))列,将Y个子块拼在一起,则为3行M(N/3)列。对应地,真实的B3存储器也应该分成Y个子块来存储。
B3级联核心处理器周期性地扫描“虚拟”B3到达标志存储器、“虚拟”B3和级联指示存储器,根据到达标志和级联指示状态对“虚拟”B3作不同的处理,从而计算出真实的B3。B3级联核心处理器的扫描顺序见图11。它总是从3M/N个“虚拟”B3的最后一个成员开始,在本列内向行减小的方向扫描,当本列第1行扫描完成时,处理器将跳到前1列的第3行继续扫描,如此反复,直到第1个成员扫描完成。如果有多个通道的STM-M/STS-N的高阶信号,则处理器将跳到下一个通道,重复上面的扫描过程,直到所有通道扫描完成,重新回到第1个通道的最后一个成员开始新一轮扫描。如果只有1个通道的STM-M/STS-N的高阶信号,则第1个成员扫描完成后回到最后一个成员开始新一轮扫描。每个成员的扫描占用一个核心处理器时钟周期,对每个成员的处理采用流水线方式。这里“成员”的含义是指“虚拟”VC3/STS-1SPE信号。
具体实现时,B3级联核心处理器中设有两个比特的状态寄存器和一个八比特的B3寄存器。状态寄存器中的一个比特用来存储前一个成员的级联状态,如“1”表示为级联成员,“0”表示为非级联成员;另一个比特用来存储前一个成员的“虚拟”B3到达状态,如“1”表示到达(即该成员的数据已经全部接收完毕,当前成员已经到达),“0”表示未到达。当光传输设备刚启动时,可设前一成员级联状态为“0”,前一成员的“虚拟”B3到达状态为“1”。这里前一个成员的含义是指B3级联核心处理器扫描到当前成员时,前一个刚被扫描过的成员。B3寄存器用来暂存当前计算的B3的值。
在扫描每个成员时,先后执行如图12所示的B3计算流程、如图13所示的B3输出流程以及如图14所示的“虚拟”B3到达标志清零流程。执行完上述三个流程后,继续扫描下一个成员。下面将对上述三个流程进行详细的描述。
图12示出了根据本发明的一个具体实施方式在光传输设备中的B3级联核心处理器中真实的B3计算流程示意图。
在步骤S21中,判断前一成员是否是级联成员,即读取状态寄存器中指示级联的寄存器的值,如果为“1”则认为前一成员是级联成员,如果为“0”则认为前一成员不是级联成员。
如果前一成员不是级联成员,则在步骤S22中,从存储器中读取当前成员的“虚拟”B3到达状态和级联状态以及“虚拟”B3的值,在扫描下一个成员之前将当前成员的“虚拟”B3到达状态和级联状态存入到状态寄存器中,将当前成员的“虚拟”B3值存入到B3寄存器中。
如果前一成员是级联成员,则在步骤S23中判断当前成员是否为级联成员,即读取存储器中当前成员的级联指示值,如果为“1”则认为当前成员是级联成员,如果为“0”则认为当前成员不是级联成员。
如果当前成员是级联成员,则在步骤S24中保持状态寄存器的两个比特的值不变,从存储器中读取当前成员的“虚拟”B3值,并将其与B3寄存器中的值进行按位异或操作之后所得的值存入B3寄存器中。
如果当前成员不是级联成员,则在步骤S25中从存储器中读取当前成员的“虚拟”B3到达状态,在扫描下一个成员之前将当前成员的“虚拟”B3到达状态和级联状态存入到状态寄存器中,从“虚拟”B3存储器中读取当前成员的“虚拟”B3值,并将其与B3寄存器中的值进行按位异或操作之后所得的值存入B3寄存器中。
图13示出了根据本发明的一个具体实施方式在光传输设备中的B3级联核心处理器中真实的B3输出流程。
首先在步骤S31中根据状态寄存器中的值来判断前一成员是否为级联成员。
当前一成员不是级联成员时,则在步骤S32中判断当前成员是否到达,通过读取“虚拟”B3到达标志存储器中的当前成员的“虚拟”B3到达标志值来判断,如果当前成员的“虚拟”B3到达标志值为“1”,则认为当前成员已经到达,即属于当前成员的数据全部接收完毕;如果当前成员的“虚拟”B3到达标志值为“0”,则认为当前成员还没有到达。如果当前成员已经到达,则在步骤S33中判断当前成员是否为级联成员。若当前成员不是级联成员,则在步骤S34中输出B3寄存器的值。如果当前成员没有到达或者当前成员是级联成员,则不输出B3,扫描下一个成员。
当前一成员是级联成员时,则在步骤S35中判断前一成员是否到达,其判断方法同步骤S32,如果前一成员已经到达,则在步骤S33中判断当前成员是否为级联成员。若当前成员不是级联成员,则在步骤S34中输出B3寄存器的值。如果前一成员没有到达或者当前成员是级联成员,则不输出B3,扫描下一个成员。
图14示出了根据本发明的一个具体实施方式在光传输设备中的B3级联核心处理器中的“虚拟”B3到达标志清零流程。
首先在步骤S41中判断前一成员是否为级联成员。
如果前一成员为级联成员,则在步骤S42中判断前一成员是否到达,如果前一成员已经到达,则在步骤S43中,将当前成员的“虚拟”B3到达标志清零。如果前一成员没有到达,则不作处理。扫描下一个成员。
如果前一成员不是级联成员,则在步骤S44中判断当前成员是否到达,如果当前成员已经到达,则在步骤S43中,将当前成员的“虚拟”B3到达标志清零。如果当前成员没有到达,则不作处理,扫描下一个成员。
事实上,前一成员的到达状态只有在前一成员是级联时才有用。它真正指示的是一个级联块的最后一个虚拟成员(从SDH/SONET的数据流向来说是最后一个,从扫描顺序来说它是第一个)的到达状态。也就是说,级联块的最后一个虚拟成员到达时,我们就认为所有的级联成员已经到达,而不管该级联块中其它级联成员的到达状态如何。光传输设备刚开始工作时,第一个计算出来的B3可能是错误的,但这并不影响以后计算出来的B3的正确性。
根据图12至图14中的处理流程可以看出,由于图13和图14所示的真实B3输出流程和“虚拟”B3到达标志清除流程中需要使用到状态寄存器中的前一成员的级联状态指示信息和到达状态指示信息,因此,在扫描每个成员时,图12中状态寄存器的更新需要在图13和图14所示的流程执行完之后执行。本领域的技术人员可以理解,在具体的时序电路实现时,由于寄存器的值变化是在时钟沿触发下进行的,上述三个流程可以同时运行。
B3级联核心处理器将计算好的真实的B3存入简单双口存储器,以便B3的校验或插入模块(图10中未示出)在需要时读取。本存储器的存储结构和“虚拟”B3存储器的存储结构是完全相同的,不同在于只有对级联指示为0的那些成员的存储单元的值才是真实的B3,对级联指示为1的那些成员的存储单元的值是无效的,后续处理模块应该忽略这些成员的值。
图10中所示存储“虚拟”B3到达标志的存储器是真双口存储器,图15示出了图7存储“虚拟”B3到达标志的存储器是简单双口存储器时的B3计算装置的结构框图。由于“虚拟”B3到达标志也可以存储在简单双口存储器里,此时写口要和通道调度控制器复用,可能需要同时进行写操作。因此,需增加一个简单双口存储器来存储处理完成标志,当“虚拟”B3到达标志存储器写口空闲且处理完成标志存储器写口空闲时,可由通道调度控制器根据存储处理完成标志存储器的状态清零“虚拟”B3到达标志,同时清零处理完成标志。
光传输设备中B3计算装置能处理的最大通道数与核心处理器时钟有关。如果核心处理器时钟频率为SDH/SONET的字节速率,则理论上本发明能处理的通道数为90个(因为前一帧计算的B3要到下一帧的第2行才用校验或插入,这期间有1行的时间间隔),加上流水线延迟和指针负调整,本发明最多能处理88个通道。如果核心处理器时钟频率为SDH/SONET的字节速率的Z分之一,则图10或者图15所示的B3计算装置能处理的最大通道数为(90/Z)-2。如果Z不是正整数,则能处理的最大通道数为(90/Z)下取整之后再减去2。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在所附权利要求的范围内做出各种变形或修改。