1.引言
为了提高传输速率,扩大通信容量,减少信道数量,通常把多路信号复用成一路信号进行传输。在多种复用方式中,时分复用是一种常用的方式。时分复用是多路信号按照时间间隔共享一路信道进行传输。复接是把多路速率相对较低的数字信号通过某种协议复合成一路信号进行传输;而分接正好相反,是把一路速率相比高的信号按照对应的协议分割成发送端对应的速率相对较低的信号。为了规范复接与分接协议,ITU(国际电信联盟)根据传输速率的不同等级,将复接的数字信号为基群、二次群、三次群、四次群等,以我国实际应用为例,速率分别:2.048MHz、8.4.48MHz、34.368MHz、139.264MHz。本文介绍基于FPGA实现二次群数字信号的分接部分的功能,包括帧头捕获、帧丢失告警、基群信号提取,去除插入码、负码速调整等二次群分接的关键技术。
2.二次群帧结构介绍
二次群帧结构如图1所示,帧长为848bit,复帧包含的比特内容如下:
(1)帧定位10bit,表示为F11F12~F13F23,码型为1111010000;
(2)公务2bit,其中1bit(11位)用来向对端发出告警指示;另外1bit(12位)留作国内使用;
(3)支路信息820bit,第1组为200bit(13~212),第Ⅱ组为208bit(217~424),第Ⅲ组为208bit(429~636),第Ⅳ组为204bit(645~848);
(4)码速调整4bit,表示为V1,V2,V3,V4(641~644位),各基群1bit,共4bit;
(5)插入标志12bit,以C表示,填充脉冲4bit。为了使接收端能知道是否有插入及插在何处,在复接端发出插入指令的同时需要发出插入标志信号,以告知分接器有插入。目前常用的办法是定位插入。在这里规定:第1基群第1位插入标志C11在213位插入,第1基群第2位插入标志C12在425位插入,第1基群第3位插入标志C13在637位插入。由此可知:
C11C21C31C41是第1位插入标志;
C12C22C32C42是第2位插入标志;
C13C23C33C43是第3位插入标志;
插入标志信号是3位,采用3位码来组成插入标志信号,可提高标志信号的可靠性。用"111"表示有插入,用"000"表示无插入。当C11C12C13为"111"时,表示在641时隙的脉冲是插入脉冲;当C11C12C13为"000"时,表示在641时隙的脉冲是信息码。
一帧分为4组,每组为212bit,这212bit的分配如图2所示,4个基群相似,以第1基群为例。将212bit分为4组,每组53bit。第1组的1,2,3三个码位,供插入复接器帧同步码用,以F表示;然后是50bit的信息码;Ⅱ,Ⅲ,Ⅳ组的第1位码用作标志信号,用C表示;第Ⅳ组的第2个码位就是码速调整的码位,用V表示,需要插入时,就在这个位置上插入一个不带信息的脉冲,不必插入时,这个码位仍传信息码;Ⅱ、Ⅲ、Ⅳ组的其他位置都是信息码。4个基群的第1~3个码位复接在一起,共12位,其中前10位作为复接器的帧同步码,第12位为告警指示,第12位作为备用。4个基群的插入标志信号码和码速调整比特,复接后又分别连在一起。
3.二次群帧头捕获及帧丢失告警
根据上面二次群帧结构的分析,二次群的帧头信码为:”1111010000“10个bit,在FPGA中,定义一个10位的寄存器,二次群信码从右向左进入10位寄存器,如果10位寄存器的值连续两次为:”1111010000"则表示帧头捕获成功,帧同步建立。同样如何连续两个二次群帧时间长度内没有捕获到帧头信码,则表示帧丢失,产生帧丢失告警。VHDL语言代码实现如下程序段:
4.基群信号提取
一个二次群信号复接了四个基群信号,基群信号提取是在二次群帧同步的状态下把二次群信号按一分四的规则进行串并转化。因为二次的复接是按bit复接,所以二次群一帧中第一位为第一个群的第一位,二次群一帧中第二位为第二个群的第一位,以此类推。VHDL语言代码实现如下程序段:
5.去除插入码及负码速调整
去除插入码及负码速调整是二次群的关键部分,首先要去除帧头插入的F1、F2和F3;接着去除C1、C25DC3;最后根据C1、C2和C3值来判断第161位V否为插入码,如果C1C2C3为:"1 11",则V是插入码应去除,如果C1C2C3为:"000",则V是基群的信码,不应去除。把去除了插入码的信号输入到一个FIFO,用经过负码速调整过的2.048MHz时钟读出输出基群信号如图3所示。
由于写到FIF0的时钟是不均匀的,不利于后端处理,所以必须做负码速调整,即把2.112MHz速率调整到2.048MHz速率。FPGA实现的原理是根据2.112MHz速率和2.048MHz速率的有效信码个数是一样多的,可以根据它们的个数进行调整。如果根据2.048MHz速率输出的信码少了则稍微提高2.048MHz时钟的频率,如果根据2.048MHz速率输出的信码多了则稍微降低2.048MHz时钟的频率。
VHDL语言代码实现如下程序段:一根据div的值动态调整clk2048的频率,实现负码速调整
6.结论
本文对二次群的分接处理,提出了一种基于FPGA的方案,介绍了二次群的帧结构,给出了帧头捕获、帧丢失告警、负码速调整等VHDL语言的关键程序。在QUART UART即为Universal Asynchronous Receiver/Transmitter,译为通用异步收发器。UART是设备间进行异步通信的关键模块,用于控制计算机与串行设备的芯片。它提供了RS-232C数据终端设备接口,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信了。
USII软件中编译完成,资源仅占用三十多个LE,给二次群设备的设计提供了一种参考,具有很高的应用价值。