引言 近年来可编程器件的应用日益广泛,使用较多的是现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。FPGA器件性能优越,使用方便,成本低廉,投资风险小,使用FPGA设计可以完全根据设计者需要开发ASIC芯片,可方便地反复编写和修改程序,即使制成PCB后仍能进行功能修改。本文将着重介绍运用FPGA技术实现基群与二次群之间复接与分接系统的总体设计方案。 数字复接基本原理及系统构成 二次群帧结构及其复接子帧结构按ITU-TG.742协议,工作在8448kbit/s的采用正码速调整的二次群复接设备帧结构如图1所示,一帧共有848bit,前12位帧码组包括帧同步码10位,码型为1111010000;失步对告码,同步为“0”,失步为“1”;国内通信备用码。Cj1、Cj2、Cj3(j=1,2,3,4)为插入标志码,Vj(j=1,2,3,4)为码速调整插入比特,其作用是调整基群码速。二次群由四支路的子帧构成,子帧结构如图2所示,一子帧有212bit,1、2、3位码为帧码组,记Fj;插入标志码用Cj表示;码速调整插入比特用Vj表示。 复接系统构成 复接系统构成的框图如图3。复接时序信号发生器产生码速调整需要的时序信号,四路基群信号先各自经正码速调整,变为2.112Mbit/s的同步码流。合路器顺序循环读取四路码流,并在每帧开头插入帧定位信号,输出8.448Mbit/s的标准二次群。 在接收端,合路码流先进行帧定位捕获,判定系统处于同步态、失步态还是过渡态。一旦捕获到帧定位信号,便驱动分接时序信号发生器工作,产生分路和码速恢复需要的时序信号,同时分路器工作,把帧定位信号抛掉,顺序循环分别送入4个码速恢复单元,扣除插入码元,恢复成四路2.048Mbit/s的基群信号。 数字复接系统的FPGA设计 本次FPGA设计采用分层设计,顶层为整个系统的原理框图(见图3),用一些符号表示功能块,然后把每个功能块分成若干子模块,各模块独立设计。下面就各模块的设计思想进行详细介绍。 复接电路设计 复接电路如图4所示,它由复接时序发生器、缓存器、码速调整控制电路、插入码控制电路、帧定位信号发生器和合路器6个模块构成。图中只画了第一条支路参与复接的实现过程,因为四条支路的过程完全相同,因而略去其余3个支路的电路。 (1)复接时序发生器模块 输入为2.112MHz频率的均匀时钟,通过该模块产生插入码控制电路所需的插入标志时隙脉冲SZ、调整插入时隙脉冲SV、频率为2.112MHz的非均匀时钟f(从输入的均匀时钟扣除了时隙SZ和SF)和帧定位信号发生器所需的时隙脉冲SF。 (2)缓存器模块 基群信号以2.048MHz的均匀时钟clk_wr写入缓存器,同时以2.112MHz的非均匀时钟clk_rd读出,clk_rd由插入码控制电路产生。该模块还需输出每次写入和读出一帧数据时第一个clk_wr脉冲P1和clk_rd脉冲P2,送给码速调整控制电路模块。在该模块的设计中,应注意每一帧信息码的位数不是固定的,必须通过码速调整控制电路模块的反馈信号Fn来确定,当反馈信号表明本帧需要调整,则位数为205;反之,位数为206。 (3)码速调整控制电路模块 缓存器的写入脉冲超前于读出脉冲的时间量称为读写时差,读写时差的大小总随时间不断变化着。该电路中缓存器的写入速率低于读出速率,随着时间的推移,缓存器中所存信息码数目越来越少,最后导致“取空”而造成错误的数据传输。因此,我们必须设定一门限,当信码数降到门限值时,就进行码速调整。 通过对各时刻读写时差的联系以及趋向最终状态变化的分析得出,读写时差的最低点总是发生在一帧末尾,而在帧首通过两脉冲相位差就能判断本帧是否需要码速调整。具体地说,P1和P2输入进行鉴相判决得到帧首的读写时差T0,与调整门限值TS进行比较,若T0>TS则本帧不需要调整,反之若T0≤TS,则需要调整。这时模块输出反馈信号Fn给缓存器,和调整控制负脉冲Gate给输入码控制电路模块。 (4)插入码控制电路模块 该模块的功能是对缓存器的读出信息进行插入码控制,输出2.112MHz的非均匀时钟clk_rd和参与合路的支路码流。为了标志是否在时隙SZ有插入调整比特,就必须引入插入标志码。通常在一帧中规定一个特定时隙SV,提供一次码速调整的机会。如果某支路需要进行调整,就在该时隙插入一比特脉冲,如不需要调整则该时隙仍传支路信息。为确保可靠性,通常采用3位码作为插入标志码。如果某支路有插入调整,用标志码为111来表示,否则用000表示。 (5)帧定位信号发生器模块 该模块产生帧同步信号和告警指示码,帧定位信号可以集中插入,也可以分散到各支路插入,考虑到设备和延迟问题,我们选择集中插入。 (6)合路器模块 根据每个时间间隔传送码字的多少,有3种排列方式:按位复接、按字复接和按帧复接。其中按位复接要求缓存器容量较小,较易实现,而且二次群帧结构是由4个支路子帧按位复接而成,所以一般采用按位复接,本文采用的也是该方式。该模块按位顺序循环读取四路码速调整后的码流,在对应SF时隙插入帧定位信号“111101000000”,得到二次群信号,即完成整个复接部分。 分接电路设计 分接过程如图5所示,它是由帧定位捕获电路、同步时钟提取电路、分路器、分接时序信号发生器、插入码扣除控制电路、时钟平滑电路和码速恢复控制电路7个模块构成。由于四路分接电路基本相同,所以略去其余三路电路。 (1)帧定位捕获电路模块 该模块通过捕获帧定位信号分辨帧首位置,并判定系统的状态。当连续3次捕获到帧定位信号,则判定系统处于同步态;之后若连续4次没捕获到帧定位信号,则判定系统进入失步态,并关闭分接时序信号发生器,也不再接收数据;一旦捕获到帧定位信号,便驱动分接时序信号发生器工作,并开始接收数据。这里要求模块在系统失步后能重新进入同步,如果传输中帧同步码组连续丢失了几帧,而系统又没有自恢复能力,那么整个系统将无法再正常工作。 (2)同步时钟提取模块 数据流的接收需要与之速率相同的时钟,这就需要对二次群码流进行位同步时钟提取,得到与之速率一致的均匀时钟给分路器。 (3)分路器模块 一旦捕获到帧定位信号,分接器便开始工作,把帧定位信号抛掉,其余在8.448MHz的位同步时钟下按位顺序循环进行同步分离,分别送入4个码速恢复单元。 (4)分接时序信号发生器模块 该模块设计思想基本同于复接时序信号发生器,其基准时钟由位同步时钟分频得到。帧定位捕获电路驱动它工作,产生帧定位时隙脉冲SF,插入标志时隙脉冲SZ,调整插入时隙脉冲SV和2.112MHz的非均匀时钟f,送给插入码扣除控制电路。 (5)插入码扣除控制电路模块 该模块的功能是扣除复接时插入码流的码字,输出作为码速恢复电路的写入时钟clk_wr’,在接收端对收到的SZ时隙的标志码进行择多判决,即标志码中有2个以上为1,判为有插入调整,分接时应将SV时隙内容扣除;否则判为无插入调整,分接时无需扣除SV时隙内容。如果输入码流对应SZ时隙出现“1”的个数比“0”的个数多,f中对应SV的一个节拍被扣除;如果对应SZ时隙“0”的个数比“1”的个数多,则f中对应SV的节拍仍起作用。 (6)时钟平滑电路模块 该模块对非均匀时钟clk_wr’进行平滑均匀,提取2.048MHz的均匀时钟clk_rd’作为码速恢复电路的读出时钟。这里可用VHDL语言来实现,也可以用一般的二阶锁相环。 (7)码速恢复电路模块 从分路器输出的支路码流以2.112MHz的非均匀时钟clk_wr’写入该模块,同时以2.048MHz的均匀时钟clk_rd’读出,即还原出基群信号,完成整个分接过程。 结束语 系统仿真波形良好,除了允许范围内的信号延迟外,能准确实现数字信号的复接和分接。误码率小于0.1%,系统信号平均时延小于4.5μs,去抖效果良好。而且本设计便于扩展,只需修改FPGA中相应控制参数,就可以实现高次群的复接与分接。该系统作为IP核应用于信号传输电路,对数字信号,或经PCM编码调制后的语音信号进行处理,可提高信道的利用率和传输质量,也可以进行光电转换后用于光纤通信或大气激光通信中。
|