1、基于 FPGA 的高阶全数字锁相环的设计与实现1 引言 锁相环在通信、雷达、测量和自动化控制等领域应用极为广泛,已经成为各种电子设备中必不可少的基本部件。随着电子技术向数字化方向发展,需要采用数字方式实现信号的锁相处理。因此,对全数字锁相环的研究和应用得到了越来越多的关注。传统的数字锁相环系统是希望通过采用具有低通特性的环路滤波器,获得稳定的振荡控制数据。对于高阶全数字锁相环,其数字滤波器常常采用基于 DSP 的运算电路。这种结构的锁相环,当环路带宽很窄时,环路滤波器的实现将需要很大的电路量,这给专用集成电路的应用和片上系统 SOC(system on chip)的设计带来一定困难。另一种类型
2、的全数字锁相环是采用脉冲序列低通滤波计数电路作为环路滤波器,如随机徘徊序列滤波器、先 N 后 M 序列滤波器等。这些电路通过对鉴相模块产生的相位误差脉冲进行计数运算,获得可控振荡器模块的振荡控制参数。由于脉冲序列低通滤波计数方法是一个比较复杂的非线性处理过程,难以进行线性近似,因此,无法采用系统传递函数的分析方法确定锁相环的设计参数。不能实现对高阶数字锁相环性能指标的解藕控制和分析,无法满足较高的应用需求。本文提出了一种基于比例积分(PI)控制算法的高阶全数字锁相环。给出了该锁相系统的具体结构,建立了系统数学模型,并对其系统性能进行了理论分析。采用 MATLAB 软件对系统进行了仿真实验。应用
3、 EDA 技术设计了该锁相系统,并用 FPGA 予以实现。2 全数字锁相环的结构及工作原理基于比例积分控制算法的三阶全数字锁相环的系统结构如图 1 所示。该系统由数字鉴相器(DPD)、数字环路滤波器(DLF)和数控振荡器(DCO)三个部件组成。图 1 三阶全数字锁相环系统结构图本锁相系统中由于数控振荡器采用累加器的结构,因此,累加器输出的并行码就是数控振荡器的输出相位码 B,它反映了输入信号和输出信号之间的瞬时相位差。鉴相器中的寄存器是由一组 D 触发器构成。 DCO 的输出相位码 B 并行送到 D 触发器的 D 端,在输入信号的正向过零点对 D 触发器采样,D 触发器组的输出 E 就表示该采
4、样时刻的瞬时相位差,从而完成了数字鉴相功能。数字环路滤波器的主要作用是抑制噪声及高频分量,并且控制着环路相位校正的速度与精度。为了提高锁相系统的性能,设计了基于 PI 控制算法的二阶数字滤波器。其工作原理是对鉴相器输出的相位误差信号经一阶积分环节、二阶积分环节和比例环节调节后,分别产生积分控制参数 NP1 和 NP2,以及比例控制参数 NI,然后取这三个控制参数之和作为数控振荡器的控制参数。为使 DLF 输出的控制码组在同一瞬间并行送入 DCO,在这两个环路部件之间接入一缓冲寄存器。数控振荡器是由全加器和寄存器构成的累加器组成。若累加器位长为 N,则低位输入端 NL 接 DLF 的控制码组 G
5、,高位 NH 接 DCO 自由振荡频率 0 f 的控制码组 C(该参数可由设计者设定)。当控制码组 G 均为0 时,DCO 输出端最高位 AN 的输出信号的频率便是 DCO 的自由振荡频率 f0 。在环路锁定过程中,控制码组 G 不是全为零,此时累加器的累加结果将进位而改变累加器的分频系数,从而改变 DCO 输出信号的频率,实现比例积分控制参数对本地估算信号的控制作用,最终达到锁相的目的。3 数字锁相环系统性能的理论分析3.1 锁相环的系统结构若采样周期很短,并且把数字鉴相器、数字环路滤波器和数控振荡器的增益系数归并到环路总增益一起考虑,可画出锁相环在 Z 域的系统结构如图 2 所示。图 2
6、中 i(Z)为锁相环的输入信号;o(Z)? 为锁相环的输出信号; K 为环路总增益; Ka 为比例环节系数; Kb 为一阶积分环节系数; Kc 为二阶积分环节系数。由图 2 可以分别写出该锁相环开环、闭环和误差 Z 域传递函数:3.2 锁相环系统的稳态分析3.2.1 系统的稳定性由离散系统的奈奎斯特判据可知,环路系统稳定的充分必要条件是闭环传递函数的特征根必须全部位于 Z 平面的单位圆内,只要有一个在单位圆外,系统就不稳定。由式(2)可得环路的特征方程为:利用朱例(Jury)稳定判据,可以根据系统闭环特性方程的系数来判别特征根是否位于Z 平面的单位圆内,从而判别系统是否稳定。经分析推导可得,该
7、三阶数字锁相环系统稳定的所有条件为:3.2.2 系统跟踪误差由系统误差传递函数可以计算环路在各种不同输入信号作用下的稳态跟踪误差,即:i(Z) 为输入信号, He(Z) 为锁相系统误差传递函数。由式(6)所求得的本系统对应于各种典型相位输入信号的稳态跟踪误差列于表 1。由表 1 可知,本锁相系统对于相位阶跃、频率阶跃和频率斜升输入信号的稳态跟踪误差为零。4 锁相系统的设计实现与仿真依据图 1 锁相环系统的结构,利用 Xilinx 公司的 ISE 设计软件,采用自顶向下的模块化设计方法,用 VHDL 对全数字锁相环的各个部件分别进行编程设计,然后对该系统做综合设计和仿真。最后,采用 Xilinx
8、 公司的 sparn系列的 FPGA 器件实现了锁相系统的硬件功能。本锁相系统的设计参数如下:鉴相器中 D 触发器的位长为 16;DLF 内二个积分环节中累加器的位长均为 16;DCO 中累加器的位长为 24,累加器的时钟频率 fclk 为 8MHz,比例积分控制码组的字长 G=14,自由振荡频率 f0 控制码组的字长 C=10。选择不同的比例系数 Ka 和积分系数 Kb 、Kc ,可以改变 K1 、K2 、K3 的参数值,进而可根据本锁相系统的稳定条件式(5),判断系统是否稳定。表 2 列出了几种典型参数所对应的锁相系统稳定性分析结果。表 2 中设根据本系统在 Z 域的传递函数和表 2 中的
9、设计参数 K1 、K2 、K3 ,应用 MATLAB 软件进行分析,得到三阶全数字锁相环在单位阶跃信号作用下的系统仿真曲线如图 3 所示。从图 3 中系统仿真曲线可以看出,仿真实验与理论分析的结果是一致的。调节比例和积分系数不仅能够控制锁相系统的稳定性,还可以控制系统的锁相速度。显然,在保持系统稳定的条件下,图 3(d)设计参数所对应的系统锁相速度较快。根据本系统在 Z 域的误差传递函数和实际设计参数,可以分别得到系统在相位阶跃、频率阶跃和频率斜升信号作用下的响应曲线如图 4 所示。从图 4 中可以看到,系统对于上述信号的稳态跟踪误差均为零。这与理论分析所得出的结论也是一致的。综合考虑锁相系统
10、的稳定性、稳态相差和锁相速度等性能指标, 最终选择设计参数 K1 = 2-3 , K2 = 2-6, K3 = 2-11。图 5 给出了采用 EDA 技术设计的三阶全数字锁相环的系统仿真波形,图中 clkin 为系统时钟信号,clr 为系统复位信号, ui 为输入信号, uo 为输出信号, uo1 为二倍频输出信号, uo2 为四倍频输出信号。从图 5 中可见,本锁相系统可以同时得到倍频输出信号。图 6 给出了用 FPGA 实现的三阶全数字锁相环的硬件电路测试波形。系统仿真与硬件测试结果都表明,该系统能够实现锁相功能。4 结论本文提出了一种基于 PI 控制算法的三阶全数字锁相环,采用 EDA
11、技术进行系统设计,并用可编程逻辑器件予以实现。该锁相环具有电路结构简单、控制灵活、跟踪精度高、环路性能好、易于集成的特点。在锁相速度和稳定性方面优于已有的采用脉冲序列低通滤波计数方法实现的数字锁相系统。理论分析和仿真实验表明,改变比例积分控制参数,可以很方便地调节锁相系统的锁相速度和稳定性,因而简化了设计过程。硬件测试结果证实,应用 EDA 技术设计的高阶全数字锁相环能够实现其锁相功能。该锁相环可作为功能模块嵌入 SoC 内,为各种控制系统提供快速、稳定和高精度的同步信号。宽频带数字锁相环的设计及基于 FPGA 的实现日期:2007-3-2 来源:电子产品世界 作者:西安工程大学 李晓东 字体
12、:大 中 小 摘要: 本文简要介绍了在 FPGA 中实现全数字锁相环(DPLL)的原理与方法,以解决在同步串行数据通信时的同步时钟不稳定时的快速恢复问题; 并重点介绍了采用可控模数分频器实现的数字锁相环中宽频带捕获的方法与实现过程。关键词: DPLL;FPGA;数字环路滤波器;时钟恢复;宽频带引言数字锁相环(DPLL) 技术在数字通信、无线电电子学等众多领域得到了极为广泛的应用。与传统的模拟电路实现的 PLL 相比,DPLL 具有精度高、不受温度和电压影响、环路带宽和中心频率编程可调、易于构建高阶锁相环等优点。随着集成电路技术的发展,不仅能够制成频率较高的单片集成锁相环路,而且可以把整个系统集
13、成到一个芯片上去。在基于 FPGA 的通信电路中,可以把全数字锁相环路作为一个功能模块嵌入 FPGA 中,构成片内锁相环。一般同步串行口通信方式的同步串行口之间的数据传输除了数据线外还必须有专门的同步时钟线,这种连接方式不但需要增加一条线路,同步性能受环境的影响还较大。利用数字锁相环可以从串行位流数据中恢复出接收位同步时钟。这样,串行口之间只用一根数据线就可以接收同步串行数据,简化了串行口的接口关系。本文介绍基于 FPGA 数字锁相环恢复串行数据位同步时钟的设计与实现及提高数字锁相环性能的措施。 DPLL 结构及工作原理全数字锁相环路(DPLL) 的基本结构如图 1 所示。主要由鉴相器 DPD
14、、数字环路滤波器DLF、脉冲加减电路(数控振荡器 DCO)和分频器(可控变模 N)四部分构成。脉冲加减电路的时钟分别为 2Nfc,fc 为环路中心频率。 DPLL 是一种相位反馈控制系统。它根据输入信号fin 与本地恢复时钟 fout 之间的相位误差(超前还是滞后) 信号送入数字环路滤波器 DLF 中对相位误差信号进行平滑滤波,并生成控制 DCO 动作的控制信号 DCS,DCO 根据控制信号给出的指令,调节内部高速振荡器的震荡频率,通过连续不断的反馈调节,使其输出时钟 fout 的相位跟踪输入数据 fin 的相位。图 1 全数字锁相环基本结构环路模块具体功能及其电路实现数字鉴相器的设计常用的鉴
15、相器有两种,异或门(XOR)鉴相器和边沿控制鉴相器(ECPD)。与一般 DPLL的 DPD 设计不同,位同步 DPLL 的 DPD 需要排除位流数据输入连续几位码值保持不变的不利影响。本文采用改进型异或门鉴相器,它输出一个表示本地恢复时钟超前或滞后于输入信号的相位误差。如果本地恢复时钟超前于输入信号,则超前/滞后脉冲 UD 输出为高电平,反之 UD 输出为低电平,如图 2 所示。图 2 改进型异或门鉴相器的原理图及工作波形图可见,在输出信号 Fout 为超前、滞后和同步于 Fin 时,PE 脉冲的前沿距离 Fin 的上升沿相位是不等的。数字环路滤波器的设计数字环路滤波器(DLF)作用是消除鉴相
16、器输出的相位差信号 PE 中的高频成分,保证环路的性能稳定,实际上可用一变模可逆计数器(设模数为 K)来实现。K 变模可逆计数器根据相差信号 PE 来进行加减运算。当 PE 为高电平时,计数器进行加运算,如果相加的结果达到预设的模值,则输出一个进位脉冲信号 DP 给脉冲加减电路;当 PE 为低电平时,计数器进行减运算,如果结果为零,则输出一个借位脉冲信号 DP 给脉冲加减电路。当 Fout同步于 Fin 或只有随机干扰脉冲时,计数器加减的数目基本相等,计数结果在初始值处上下徘徊,不会产生进位和借位脉冲,滤除因随机噪声引起的相位抖动。计数器根据输出结果生成控制 DCO 动作的控制指令。K 变模可
17、逆计数器模值 K 对 DPLL 的性能指标有着很大的影响。计数器模值 K 的取值可根据输入信号的相位抖动而定,加大模值 K,有利于提高 DPLL 的抗噪能力,但是会导致较大的捕捉时间和较窄的捕捉带宽。减小模值 K 可以缩短捕捉时间,扩展捕捉带宽,但是降低了 DPLL 的抗噪能力。本设计中选择 K=4。在初始时刻,计数器被置初值为 K/2=2,这样可以 DPLL 捕捉速度很快。数控振荡器的设计 数控振荡器( DCO)在数字锁相环路中所处的地位相当于模拟锁相环路中的电压控制振荡器。在本数字锁相环设计中使用数控振荡器是可变模式分频器。它的输出是调整可变分频器的模值 N。该值的大小会随着每个 Fin
18、周期内(Fin=1 时)鉴相输出 PE 进行调整。当 UD 为高电平时,将可变分频模值 N 增大,以调整分频输出使之相位滞后;当 UD 输出为低电平时,将可变分频模值 N 减小,已调整分频输出使之输出相位提前。如果数字环路滤波器既没有控制脉冲信号 DP 输出,那么,分频模值 N 将保持不变,经除 N 分频后的输出本地恢复信号相位和输入信号相位处于同步状态。本地高速时钟信号 CLK 由片外高速振荡器提供。时钟信号周期大小决定了 DPLL 在锁定状态下相位跟踪的精度,同时,它还影响 DPLL 的捕捉时间和捕捉带宽。为提高相位跟踪的精度以降低数据接收的误码率,时钟信号 CLK 的取值应尽量高。本设计
19、中取高速时钟信号 CLK 的振荡频率为 64MHz。数控振荡器可由一个可逆计数器实现。N 分频器的设计N 分频器则是一个简单的除 N 计数器。N 分频器对脉冲加减电路的输出脉冲再进行 N分频,得到整个环路的输出信号 Fout。同时,因为 Fout=CLK/2N=fc,因此通过改变分频值 N 可以得到不同的环路中心频率 fc。另外,模值 N 的大小决定了 DPLL 的鉴相灵敏度为/N。环路实现 本设计在 Altera 公司 QUARTUSII5.0 开发软件平台上,利用 VHDL 语言运用自顶向下的系统设计方法, 在 Altera 最新 CPLD 芯片 MAXII240 上设计全数字锁相环。将锁
20、相环路设计完毕后,并通过 QUARTUSII5.0 集成环境进行仿真、综合、验证,DPLL 设计结果如图 3。图 3 改进型异或门鉴相器 DPLL 原理图其中,可逆计数器 counter2 为环路滤波器 DLF,预设初值为 12,加法进位模值为 4,减法进位模值为 12。可逆计数器 lmp_counter2 为数控振荡器,其预置值为 time3.0,其输出即为锁相环路分频器的模值 N,输出值大小随着控制脉冲信号 DP 的数目有关。在本设计中,fclk=64MHz,fin=2Mb/s,则 time3.0=0100b=8。加法计数器 lmp_counter2 为模值 N 受控的锁相环路分频器。值得注意的是锁相环路分频器 lmp_counter2 的进位输出Cout 不可直接作为分频输出,因为在仿真过程中发现随着 fclk 频率的升高,Cout 容易产生冒险毛刺,影响锁相环的稳定性。因此外加一 4 输入或非门作为分频器输出判决。