基于FPGA的提取位同步时钟DPLL设计
在数字通信系统中,同步技术是非常重要的,而位同步是最基本的同步。位同步时钟信号不仅用于监测输入码元信号,确保收发同步,而且在获取帧同步及对接收的数字码元进行各种处理的过程中也为系统提供了一个基准的同步时钟。位同步的目的是使每个码元得到最佳的解调和判决。位同步可以分为外同步法和自同步法两大类。一般而言,自同步法应用较多。外同步法需要另外专门传输位同步信息。自同步法则是从信号码元中提取其包含的位同步信息。自同步法又可以分为两种,即开环同步法和闭环同步法。开环法采用对输入码元做某种变换的方法提取位同步信息。闭环法则用比较本地时钟和输入信号的方法,将本地时钟锁定在输入信号上。闭环法更为准确,但是也更为复杂。本文采用了自同步法,在FPGA构造片内对超前一滞后全数字锁相环提取曼彻斯特码中包含的位同步时钟。
1提取位同步时钟全数字锁相环总体结构与工作原理
这种超前一滞后全数字锁相环采用加减门结构,每输入一个码元后,根据鉴相器判断是超前还是滞后,通过反馈回路控制的加减门来调整相位,使之逼近输入码元的相位。一旦失步,就需要通过反馈回路重新调整。每一个超前和滞后脉冲仅能调整一步,如果接收码元出现连“1”或是连“O”的情况,锁定时间会很长,使其同步建立时间和调整精度变得相互制约。尽管有此缺点,但由于这种结构具有失锁后的自我调节性,因此,码元消失或是码元相位出现抖动时,同步脉冲不会出现较大变化,仍然可以输出稳定的同步脉冲。由于采用曼彻斯特码进行传输,该设计主要应用于地铁车辆总线上,传输速率为250 Kb/s,速率较低,且每个码元内都有一次电平跳变,不会出现连续的“O”或“1”,因此采用闭环的超前一滞后全数字锁相环非常适合提取比特流中的位时钟。基本结构如图1所示,主要由数字鉴相器(DPD)、数字环路滤波器(DLF)、数控振荡器(DCO)三部分构成。DPLL是一种相位反馈控制系统,它将输入信号Data_in与本地恢复时钟Clk_DPD之间的相位误差(超前还是滞后)信号送入数字环路滤波器DLF中,对相位误差信号进行平滑滤波,并生成控制DCO动作的控制信号,DCO根据控制信号给出的指令,调节内部高速振荡器的震荡频率,通过连续不断的反馈调节,使其输出时钟Clk_DPD的相位跟踪输入数据Data_in的相位。
2 环路功能及其实现方法
下面沿环路依次介绍DPLL环路各个组成模块的详细功能、内部结构、对外接口信号及实现方法。
2.1 鉴相器结构及其工作原理
超前一滞后型数字鉴相器输出一个表示本地估算信号超前或滞后于输入信号的量。如果本地估算信号超前于输入信号,则输出“超前脉冲”,以便利用该“超前脉冲”控制本地估算信号的相位推后。反之,则输出“滞后脉冲”,并使本地估算信号的相位前移,这样隐含在曼彻斯特码中的位时钟就被鉴相器比较了出来。超前一滞后型数字鉴相器可分为积分型和微分型两种。积分型超前一滞后数字鉴相器,结构和硬件实现比较复杂,但具有优良的抗干扰性能。而微分型数字鉴相器结构相对简洁,硬件实现也比较简单,但是它的抗干扰能力比较差。这里采用微分型超前一滞后型数字鉴相器,将抗干扰的任务留给后面的数字滤波器环节实现。DPD的工作状态如图2所示。
当Sign为1时,表示本地时钟超前于输入信号;当Sign为O时,表示本地时钟落后于输入信号。
当Sign_ready=1时,表示输入信号有跳变,Sign有效;当Sign_readyr=0时,表示输入信号无跳变,Sign无效。
微分型超前一滞后数字鉴相器的原理图如图3所示。
2.2 数字滤波器结构及其买现方法
在数字锁相环路中,环路滤波器通常使用数字滤波器,它们与模拟锁相环路中的模拟环路滤波器相对应。数字环路滤波器在环路中对输入噪声起抑制作用,并且对环路的校正速度起调节作用。
由于采用微分型超前一滞后型数字鉴相器,随机噪声会引起DPD的相位抖动,会生成影响DCO动作的控制脉冲,所以对于DPD输出的Sign和Sign_ready不能作为直接驱动指导后面DCO的控制信号,DPD的滤波功能是通过一个Mod为8的计数器来实现的。当Sign_ready为1时,DPD的Mod开始加减计数(Mod复位后为8),计数的方向由Sign来控制。当Sign为1时,表示本地时钟超前于输入信号,Mod做加法计数,逐次加法直到15,进位变为8,Inset输出一个1μs的高电平;同样,当Sign为0时,表示本地时钟超前于输入信号,Mod做减法计数,逐次加法直到1,借位变为8,Deduct输出一个1μs的高电平。DLF原理图如图4所示。
由于噪声和抖动一般是无序的,除非噪声在同一方向出现8次,滤波器才会输出误动作。另外Clk_DLF是Clk_DPD的两倍频率,有助于提高滤波精度。
2.3 振荡器结构及其实现方法
数控振荡器,又称为数字钟,它在数字锁相环路中所处的地位相当于模拟锁相环中的电压控制振荡器。它的输出是一个脉冲序列,而该输出脉冲序列的周期受数字环路滤波器产生的校正信号所控制。本次设计主要采用加、扣脉冲式DCO,该振荡器的特点是每一个鉴相周期输出本地估算信号是超前或者滞后于输入信号的信息,经滤波器处理后输出加或扣脉冲信号,以此控制DCO的输出相位。
DCO根据DLF输出的Insert和Deduct来调节本地时钟,输出与曼彻斯特码位信号同相同频的时钟。另外,DPD和DLF的工作时钟也由DCO产生(Clk_DPD和Clk_DLF同相,前者是后者频率的1/2),构成了DPLL系统闭环。DCO原理图如图5所示。一般DCO分为三个工作模块,即高速振荡器、相位调节器和分频器。由于本次设计的特殊性,将DCO划分为两个工作模块,即将相位调节器和分频器合并,由DLF产生的Insert和Deduct来指导相位调节,并输出系统要求的位信号时钟。
相位调节与分频输出如图6所示。
由于之前的DLF的Mod为8,而Clk_DLF的频率是500 kHz,周期即2μs,所以每次调节的相位最小单位为120 ns,20 ns×(5+1)=120ns。DLF在同一方向上接到DPD的Sign信号4次后动作,由于本次项目做曼彻斯特解码时,前导码是32个,换算成位信号有64个,由于曼彻斯特码是10交替的,故输入信号的有效跳变是32次。经过多次仿真和实验,DPLL一般在前25个前导码内即可稳定,稳定后在120 ns的范围内跳动。
3 锁相环路建模及分析
定义如下变量:ts为外加信号周期;to为反馈信号周期;p(n)为输出信号和外加信号的相位差。当输出信号和外加信号的相位差小于π时,鉴相特性是线性的,如图7所示。
异或鉴相器的输出为:
q(n)=q(n-1)+p(n) (2)
由上可得出反馈信号周期与输入信号周期的差分方程:
to(n)=ts(n-1)+q(n-1)+ε{u(n-1)·[ts(n-1)-ts(n-2)]} (3)
式中:ε[·]是由于相位差引入的一个二阶量,当p(n)很小时,ε[·]是一个无穷小的量。在p(0)=O,q(O)==0,ε[·]=0的情况下,对式(3)进行z变换得:
其特征方程为:
解得:
z1,2=0.5±0.5i,z3=0
由于|z1,2|=0.707<1,|z3|=0
由此可知,系统稳定。接下来讨论系统对输入信号的跟踪误差:
式中:b>0,当|b|/|a|足够小时,对上式做单边z变换,利用中值定理得:
由此可见,稳态误差取决于输入信号与本地信号初始相位误差。由于系统最后稳定在120 ns内,而每个待锁定码元的宽度是2 000 ns,使用△表示锁定后的最大误差范围,可得:
可见,稳定后,偏移量△最多不超过6%。所以120 ns的稳态误差能满足需要,系统可根据DPLL输出周期为2μs的同步位时钟下降沿可靠采样,避免了亚稳态现象的发生。稳定后的Clk_DPD如图8、图9所示,滞后50ns,累计4次后,超前70ns,稳定于绝对误差120ns。Clk_DPD逐渐跟踪rx0提取出其中隐含的位时钟的过程如图10所示。
示波器扑捉到DPLL锁定输入的曼彻斯特码位时钟的波形如图11所示。
4 结 语
本文主要研究了一种基于FPGA、自顶向下、模块化、用于提取位同步时钟的全数字锁相环设计方法。应用Verilog硬件描述语言使设计更加灵活,不仅缩短了设计周期,而且可实现复杂的数字电路系统。本文测试中所用的待锁定输人数据由AM7960芯片输出的曼彻斯特码提供,通信速率为250 Kb/s,经由MAx3485转换成LVTTL电平信号,输入FPGA芯片EPlC3T10017。由于曼彻斯特码在每个码元内有一次跳变,锁定后的时钟是500 Kb/s。经仿真测试,该DPLL具有锁定相位时间短,锁定后相位稳定的特点,最大偏差不超过6%,这在理论上已加以证明,从而验证了设汁的正确性。
<-- 2010/1/24 11:17:07-->