一种光同步数字传输系统加/解扰码器
技术领域
本发明涉及光同步数字传输系统(SDH/SONET),具体地说,涉及其中的帧同步加/解扰码。
背景技术
同步数字传输系统一般由传输设备和网络节点两种基本设备组成,对于光同步数字传输系统,传输设备就是光缆系统,网络节点则比较复杂,包含终结设备(TM)、交叉连接设备(DXC)、复用设备(ADM)等。光同步数字传输系统中最基本的模块信号是STM-1信号,线速率为155.520Mbit/s,STM-N信号是将基本模块信号STM-1同步复用、经字节间插后的结果,线速率是N×155.520Mbit/s;这些信号在传输过程中都是按比特串行传送信号,但没有传送本节点的时钟信号。各节点的接收端所需的数据接收及后续处理的时钟都是从接收到的数据信号中恢复出来的。根据常用的时钟数据恢复(CDR)原理,时钟恢复是依靠数据信号的变化沿完成,如果接收到的数据流中有长连0或长连1序列出现,则按该原理恢复出的时钟不再精准,用这样恢复出来的时钟处理数据会导致数据信息的丢失或错误,因此为了保证在接收端能精准地进行数据接收和时钟提取,必须杜绝传输的数据流中有长连0或长连1序列出现。其中,STM-N信号可由多个一级同步传输信号(STS-1,Synchronous Transport Signal level1)构成,STS-1是以51.84Mbps速度运行的、SONET基本构建块信号,更快的SONET速率被规定为STS-n,n代表51.84Mbps的倍数。
为此国际电联组织(CCITT)在光同步数字传输系统的协议中规定:在发送端对传送的数据要进行加扰,加扰后的数据再经电/光转换后由光缆传送出去;在接收端对从光缆传来的信号进行光/电转换,对转换后的数据信号再进行时钟提取、数据接收、解扰以及后续处理。CCITT在协议G.709中还规定:对STM-N段开销的第一行的9×N个字节不进行扰码;一旦紧随STM-N段开销第一行最后一个字节的那个字节的最高位(MSB)一出现,扰码器应自动设置为“1111111”;扰码器的序列长度为127,工作在线路速率,生成多项式为1+X6+X7。
ITU-T G.707 SDH网络节点接口中给出了帧同步扰码器的功能图,如图1所示。由图可知,7个D触发器用于移位,D触发器R1、R2、......、R6的输入端分别与上一个D触发器R0、R1、......、R5的输出端相连,CLK为STM-1帧线性时钟信号,Reset为定帧脉冲、置位信号;一个异或门用以实现对D触发器R6和R5的输出进行模2加即异或运算,运算结果反馈至D触发器R0的输入端,D触发器R6的输出即为扰码序列,它与STM-1帧的线速数据(比特格式)进行加/解扰的处理。从上述工作流程可分析得出:在正常处理阶段,每一位比特扰码都是来自7个时钟节拍前的模2加运算结果;在每个线速时钟节拍,R6输出1位比特扰码,在8个线速时钟节拍内,R6依次输出8位扰码。尽管这种扰码器电路结构简单,但由于其工作在线速率下,工作频率高导致生产工艺复杂,生产成本高,甚至在某些高频时钟下无法实现,因而在实际使用中该电路被取代已成为必然。
专利号为00114086.8的中国专利“光同步数字传输系统中的并行帧同步加/解扰码器”提供了一种并行帧同步加/解扰码器。该加/解扰码器由8个D触发器和8个异或门组成,1个带有复位端R的D触发器R0和7个带有置位端S的D触发器R1、......、R7,按序与8个两输入的异或门间插串联,D触发器R0的输入信号是D触发器R7和R6的输入信号经过异或门后的输出信号,D触发器R0的输出信号与R7的输入信号经过异或门后,作为D触发器R1的输入信号;D触发器R1与R0的输出信号经过异或门后,作为D触发器R2的输入信号;这样一直下去,D触发器R6与R5的输出信号经过异或门后,作为D触发器R7的输入信号;如此构成了一个反馈式的电路环路。CLKP是系统并行时钟信号,其频率为线速频率的1/8;Reset为定帧脉冲、置位复位信号,8个D触发器的输出端Q0~Q7依次输出相应的一个字节的扰码位(8BIT)。但是它只适用于并行速率比较低的数据。对于更高速率的数据,如STM-16,它的线速率为2.488Gbit/s,并行速率为311Mbit/s,如此之高的时钟速率当前的芯片制造工艺根本无法实现。
发明内容
本发明的目的是为了克服现有技术中扰码器电路结构简单,仅允许工作在线速率下,工作频率高导致生产工艺复杂,生产成本高,甚至在某些高频时钟下芯片的制造工业无法实现等缺点,而提出一种光同步数字传输系统加/解扰码器。
为了实现上述发明目的,本发明提出的一种光同步数字传输系统加/解扰码器包括:比特扰码电路,字节扰码电路,选择器,寄存器组1,寄存器组2,译码器1,译码器2,译码器3。比特扰码电路的输入来自寄存器组2的输出,结果输出到选择器的1端,字节扰码电路的输入来自寄存器组1的输出,结果输出到选择器的0端,选择器控制选择位来自译码器1的输出,其结果输出到寄存器组1,寄存器组1的使能位来自译码器2的输出,寄存器组1的输出就是整个扰码器电路的输出,同时也输出到寄存器组2和字节扰码电路,寄存器组2的使能位来自译码器3的输出;
采用4个所述的加/解扰码器和4个异或门组成的扰码器对STM-16数据进行加/解扰码;
将STM-16数据分成4路STM-4数据,4个加/解扰码器的输入都是行、列计数器和间插计数器,所述4个加/解扰码器的输出分别连接到4个异或门的一端;
4个加/解扰码器的四路初始值依次为:第一路的初始值是0xfe,第二路的初始值是0xe4;第三路的初始值是0x1c;第四路的初始值是0x8d。
采用本发明所述的SDH加/解扰码器大大降低了处理速率,并简化了逻辑,使得的电路的规模大大降低,更易于工艺实现。
附图说明
图1...帧同步扰码器功能图;
图2...并行帧同步加/解扰码器功能图;
图3...本发明所述的加/解扰码器功能图;
图4...本发明所述的加/解扰码器应用功能图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步的描述。
在SDH中,STM-1(STS-3)、STM-4(STS-12),都是字节间插的,而STM-16(STS-48)是4字节间插的,它的数据格式如表1所示,分成4路STM-4(STS-12)后如表2所示。这四路可以并行处理,处理方法也是一样的,不同的只是四路的初始值不同。第一路的初始值与一路STM-16的初始值相同,都是0xfe。第二路的初始值是第一路初始值经过32次比特扰码变化的结果,即0xe4;同理,第三路的初始值是第二路初始值经过32次比特扰码变化的结果,即0x1c;第四路的初始值是第三路初始值经过32次比特扰码变化的结果,即0x8d。
表1、STM-16字节数据格式
表2、STM-16拆分为4路STM-4数据
以第一路为例,在处理第0,1,2,3字节的时候,其处理方法和以前的字节扰码是一样的;当处理完第3字节时,就突然跳到了第16字节,这中间跳过了12个字节。但是若是从第0字节开始算,就是跳过了16个字节,即128次比特扰码,而扰码器的序列长度是127,也就是说经过127次比特扰码之后,扰码器就会恢复到初始值。所以128个比特扰码就是127+1,相当于1次比特扰码。所以只要在处理第0字节时,记下当时的扰码值,在处理第16字节时,就可以将记下的扰码进行一次比特扰码变化后使用。这样,就是每隔四个字节扰码器要进行一次跳变,但是却大大降低了处理的复杂度。
图3是本发明所述的加/解扰码器的功能图。它包括比特扰码电路,字节扰码电路,选择器,寄存器组1,寄存器组2,译码器1,译码器2,译码器3。比特扰码电路就是图1所示的电路,它的输入来自寄存器组2的输出,结果输出到选择器的1端。字节扰码电路就是图2所示的电路,它的输入来自寄存器组1的输出,结果输出到选择器的0端。选择器是一个二选一选择器,0端的输入来自比特扰码电路的输出,1端的输入来自字节扰码电路的输出,控制选择位来自译码器1的输出,控制选择位为0时选择0端,为1时选择1端,其结果输出到寄存器组1。寄存器组1的输入来自选择器的输出,使能位来自译码器2的输出,使能时输入就是其输出结果,否则初始化寄存器组,输出初始值。寄存器组1的输出就是整个译码器电路的输出,同时也输出到寄存器组2和字节扰码电路。寄存器组2的输入来自寄存器组1的输出,使能位来自译码器3的输出,使能时输入就是其输出结果,否则输出保持不变,寄存器组2的输出就是比特扰码电路的输入。译码器1的输入是间插计数器cnt_sts[3:0],(cnt_sts[1:0]==3)时输出为1,否则为0,结果输出到选择器的选择控制位。译码器2的输入是行计数器cnt_row[3:0]和列计数器cnt_col[6:0],!(cnt_row==0&&cnt_col<=2)时输出为1,否则为0,结果输出到寄存器组1的使能位。译码器3的输入是间插计数器cnt_sts[3:0],(cnt_sts[1:0]=0)时输出为1,否则为0,结果输出到寄存器组2的使能位。
图4是本发明所述的加/解扰码器应用功能图。它由四个本发明所述加/解扰码器和四个异或门组成。四个加/解扰码器的输入都是行、列和间插计数器,结果分别输出到四个异或门的一端。四个加/解扰码器的初始值是不同的。第一路的初始值是0xfe,第二路的初始值是0xe4;第三路的初始值是0x1c;第四路的初始值是0x8d。异或门的另一端输入分别是四路STM-4数据,异或门的输出分别是四路STM-4加/解扰后的数据。
在发送端,处理完毕之后,并行进行加扰,然后将四路STM-4(STS-12)合成一路STM-16(STS-48),再进行串并转换。在接收端,将一路STM-16(STS-48)拆分成4路STM-4(STS-12),再并行进行解扰以及后续处理;这样,处理的时钟速率降低了1/32。
该扰码器已经应用到芯片设计之中,并通过了FPGA测试,证明了该扰码器不仅可以正确的解决STM-16的扰码问题,而且可以大大降低处理的时钟频率,简化逻辑,更易于工艺实现。