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.048MH z时钟的频率,如果根据2.048MHz速率输出的信码多了则稍微降低2.048MHz时钟的频率。