微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > 同步数字复接的设计及其FPGA实现

同步数字复接的设计及其FPGA实现

时间:09-30 来源:互联网 点击:
2.1.2 位同步提取电路的设计

实现合路数字信号的分接,需要从数据流中提取时钟同步信息。目前,在数字通信系统中,常常采用数字锁相法提取位同步信号。

位同步提取电路如图3(a)所示,主要由微分与鉴相模块、添门/扣门控制模块、高频时钟模块以及分频器(clk_gen)等部分组成。微分电路(diff)的功能是把非归零码转换为归零码,以利于定时信息的提取。鉴相器的功能是比较接收码元(code_in)与分频器输出的本地时钟信号(clk_out)的相位,若本地时钟超前于接收码元的相位,鉴相器向扣门电路输出一个超前脉冲,在16分频器输入端扣除一个高频窄脉冲,使分频器输出的时钟信号的相位滞后1/16周期;若本地时钟滞后于接收码元的相位,鉴相器向添门电路输出一个滞后脉冲,增加一个高频窄脉冲,使分频器的输出脉冲的相位提前1/16周期。高频时钟模块将本地高频时钟输入信号clk_in转换为两路相位差为90°的窄脉冲序列,分别为添门和扣门提供高频窄脉冲序列。添门为常闭门,在没有滞后脉冲控制时,此门始终关闭;扣门为常开门,若无超前脉冲控制时,窄脉冲信号通过此常开门。分频器将输入的高频时钟信号分频后输出位同步信号clk_out。

对位同步提取电路进行时序仿真,得到的时序仿真波形图如图3(b)所示。图中,code_in为输入码流,clk_out为位同步信号输出。由图可知,该电路可以从输入码流中准确提取位同步信号,并且在码流相位有变化的时,位同步信号可以快速地做出相位调整,保持同步。



2.1.3 帧同步单元的设计

为了正确地实施分接,在分接前必须先通过帧同步单元对合路信号进行帧同步检测。

帧同步单元是复接设备中较复杂也很重要的部分。如图4所示,它主要由同步码检测模块(chk)和同步检测控制模块(chk_ctrl)两部分组成。其中,同步码检测模块对输入的数据流进行搜索,一旦检测到帧同步码(10011011),立即输出一个捕获脉冲信号(get);同步检测控制模块由帧同步系统状态计数器和一帧计数器等构成,完成帧同步单元的状态转换控制、每帧检测同步头的控制等功能。



帧同步的关键部分是前方保护和后方保护的设计。为了减少从失步到重新获得同步的时间和减小信道误码对同步工作状态的影响,从而得到较好的通信质量,本设计采用了2帧后方保护和3帧前方保护的方案。

帧同步系统状态转换图如图5所示。系统上电复位后,在起始时刻处于失步状态(STATE0_1xx——其中x表示无关值),系统从外部输入的合路码流中搜捕帧同步码“10011011”,若合路码流中没有帧同步码,状态计数器仍保持为1xx;若从合路码流中检测出同步码(get=“1”),则状态计数器清零为000,系统进入同步校核态(STATE1_000),开始将合路码流写入移位寄存器,分接器输出开关仍然为关闭状态(switch=“0”)。在同步校核状态下,若下一帧确认帧同步码不正确,判断为虚假同步,则状态计数器减1变为111,系统回到失步态;相反,若下一帧确认帧同步码正确,则系统进入同步态(STATE2_001),分接器输出开关打开(switch=“1”),开始正常分接合路码流。系统进入同步态后,若合路码流中出现帧同步码丢失,则状态计数器加1,系统进入同步保护态1(STATE3_010);若下一帧仍然检测帧同步码失败,则状态计数器再加1,系统进入同步保护态2(STATE4_011);若连续第三帧未收到帧同步码,则状态计数器再加1转为100,系统进入失步状态,停止分接合路码流(switch=“0”),同时重新开始搜捕帧同步码“10011011”。系统在同步保护态(状态计数器值为01x)下,若检测帧同步码正确,则状态计数器置数为001,系统回到同步态。



2.2 系统仿真与验证

在ISE集成环境下,调用ModelSim仿真软件对系统各模块进行功能仿真、综合后仿真以及布局布线后的时序仿真。仿真结果表明,复接器、分接器、同步单元等所有模块的设计均满足设计要求。

为了进一步确保系统设计的可实用性,将系统各组成模块按照自环工作状态连接起来,对系统各模块进行了联合仿真。复接设备自环验证的原理图如图6所示。



将32路64kbps的支路信号Ts_in(31:0)送到复接器(multiplexer)的支路信号输入端Ts(31:0),复接器的合路信号输出端E1_out与同步单元syn_module(包括位同步和帧同步)的合路信号输入端E1_in相连(自环),合路信号经过位同步信号提取以及帧同步检测后,由同步单元将非失步状态下的合路序列从信号输出端E1_out送出,同步单元还提供位同步信号clk_out,送分接器demultiplex的输入端xclk-2M,同步单元输出的合路序列送入分接器的合路信号输入端E1_in,经过分接器实施分接后,最后从支路输出控制单元output_gate的输出端可以得到各个支路的输出信号Ts_out(31:0)。

图7为复接设备自环验证的仿真时序图。其中,Ts_in为32个支路送来的64kbps的激励信号;mul_E1_out为经复接器实施复接后的合路信号;E1_check_in为进入帧同步码检测模块的合路序列;get_syn为帧同步码检测的结果;one_fr为同步校核和同步保护所需的帧同步码检测控制信号;syn_n为系统失步信号;syn_E1_out为非失步状态下的合路序列;opn为支路信号输出允许信号;Ts_out为实施分接后各支路的64kbps输出信号;Ts_in(1)为复接器第一支路输入信号;Ts_out(1)为分接器第一支路输出信号。



将输入激励信号Ts_in与系统支路输出信号Ts_out相比较,结果表明,在从同步到下一次失步的时间内,Ts_out与Ts_in信号波形基本一致——Ts_out中会出现一些1"2ns的过渡值,这些过渡值是由于Ts_out总线中32个支路信号到达寄存器输出端的时间不一致而造成的,这是由FPGA器件时延不确定性决定的。由Ts_in(1)和Ts_out(1)的波形比较可知,对于每个单一的支路信号,并不存在这种过渡值,分接后的支路信号与复接器支路输入信号一致。因此,Ts_out总线中出现的这种过渡值不会影响系统的性能。

时序仿真结果表明,复接、同步以及分接功能均正常,满足设计要求。在5万门的SPARTAN-3系列FPGA器件xc3s50上实现设计,硬件资源的使用情况如下:319个Slice,263个Slice Flip Flop,562个4 input LUT,70个bonded IOB,2个GCLK。该设计已作为一个模块应用到其它系统中,具有一定的实用价值。同时,由于该设计采用VHDL语言描述,具有可移植性,利用中小容量的FPGA就能实现该系统功能。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top