查看完整版本: 一种基于FPGA实现的全数字锁相环

liyf 发表于 2014-10-5 10:15:27

一种基于FPGA实现的全数字锁相环

一种基于FPGA实现的全数字锁相环

摘要:锁相环被广泛应用于电力系统的测量和控制中。介绍了一种新型的基于比例积分控制逻辑的全数字锁相环。通过对其数学模型的分析,阐述了该锁相环的各项性能指标与设计参数的关系,并由此提出了具体的设计方法,同时提供了一个基于MAX+PLUS II软件和FPGA器件完成的设计实例。仿真和实测结果表明了该锁相环设计方法的正确性和易实现性,也验证了该锁相环的良好性能。    关键词:同步采样 同步控制 锁相环 FPGA
同步技术在电力系统的测量和控制中起着非常重要的作用。基于同步采样和整周期截断的离散傅立叶算法可以提高谐波或纹波的分析准确度。有些电力系统设备需要实现同步控制,如电机同步调速、换流器的同步触发等。为了实现同步测量和控制,可以采用锁相环技术。
锁相环的基本结构是由鉴相器、环路滤波、可控振荡器和M倍倍分频器组成的一个反馈环路,如图1所示。锁相环具有三个重要的性能指标:锁相范围、锁相速度和稳定性。在已有的一些数字锁相系统中,设计参数不能实现这三个性能指标的解耦控制和分析,使性能要求相互制约,无法保护电力系统中的具体需要进行设计。这里,针对电力系统中的低频信号同步问题设计了一种新型全数字锁相环,它采用了具有比例积分特性的控制逻辑代替传统的数字环路滤波方法。由于该锁相环充分利用了鉴相脉冲所包含的相位误差信息,所以大大提高了锁相性能。理论分析表明,该锁相环的性能指标能够与其设计参数对应起来,从而简化了设计过程。本文将介绍该锁相环的原理及其在FPGA器件中的实现过程。基于MAX+PLUS II软件的仿真结果和基于EP1K100QCX208芯片的实现波形验证了该锁相环的性能。

1 实现结构
1.1 鉴相器
作为一个完整的数字锁相环系统,鉴相器的选择对锁相性能影响很大。传统的具有双触发结构的鉴相器需要依靠信号在器件和线路中的延时来工作,而且在电路中会产生毛刺脉冲,不便于在FPGA中实现。为此,本文采用图2所示的基于状态转移时序逻辑的信号鉴相器。被锁脉冲信号sig和本地重构信号spll输入该鉴相器后,首先在时钟信号clk1的控制下借助锁存器和上升沿判断逻辑分别获得上升沿判断脉冲信号e1和e2。然后e1和e2经过具有锁存反馈的鉴相状态转移逻辑产生两个相位误差信号up和down。相位误差信号up和down利用其负脉冲信号的出现反映两个输入脉冲信号sig和spll的频率高低。而且负脉冲的宽度可以反映sig和spll之间的相位差。该鉴相器易于在可编程逻辑器件中实现,避免了毛刺信号的产生。


图2

    1.2 为了提高输出信号的频率控制精度,减小锁相环输出信号的相位抖动,选择利用小数分频方法实现的数字控制振荡器。如果分频控制参数N具有k位的小数部分,则其实现结构如图3所示。
1.3 利用比例积分方法实现的锁相控制
本文中锁相环采用了比例积分控制逻辑替代传统锁相系统中的环路滤波,用以产生可控振荡器的输入控制参数N。该方法的实现原理框图如图4所示。
在利用比例积分方法实现锁相控制的原理框图中,鉴相器产生的相位误差信号up他down的负电平有效信号分别被工作时钟clk3调成为一组状计数和增计数脉冲序列。在比例控制通路中,增减脉冲首先要经过比例脉冲分频器分频(分频倍数为PG),得到比例增脉冲和比例减脉冲。然后,比例增减计数器对该脉冲信号进行增1或减1计数。比例增减计娄和器在被锁信号sig清零之前所获得的计数值将被存储到数据锁存器中,从而获得比例控制参数Np。在积分控制通路中,增减脉冲也要先经过分频倍数为IG的积分脉冲分频器分频,得到积分增减脉冲信号。然后,积分增减计数器对该脉冲计数,计数的输出结果作为积分控制参数NI。比例如积分通路各自产生的控制参数Np和N1最后被加在一起,得到锁相环的振荡器控制参数N。

2 参数设计
2.1 数学模型
如果设被锁信号sig的频率是fsig,图3中时钟信号clk2的频率为fclk2,图4中调制处理所用的时钟信号clk3的频率为felk3,则锁相环在被锁信号频率附近的局部动态数学模型的传递函数为:

Hdpll(s)是一个二阶系统的传递函数。而且,该二阶系统的自然频率ωn为:

该系统的阻尼系数ξ为:

由式(2)和式(3)可知,如果在锁相系统的设计中确定了参数K0、M、k、IG和PG则自然频率ωn将与被锁信号频率fsig成玻比,而阻尼系数ξ具有确定的数值,即ξ与被锁信号状态无关。一方面,依据自动控制理论,二阶系统的阻尼系数ξ决定了系统达到稳定的响应形式。当阻尼系数ξ固定时,自然频率决定了系统达到稳定的速度。由于本锁相系统在不同的被锁频点具有相同的阻尼系数,所以在被锁频点的局部范围内,锁相跟踪过程将以相同的形式达到稳定。另一方面,由于自然频率ωn与被锁相信号频率fsig成正比,则说明本锁相环从在被锁信号频率附近发出锁定被信号的时刻开始,到锁相趋于稳定所需要的时间与被锁信号的周期成正比。所以可以得出结论:当被锁信号的频率范围较宽时,本锁相环系统在不同的被锁频点的局部范围内部都具有一致的锁相速度和稳定性。这一特性要优于已有的数字锁相系统。


图4

    2.2 参数设计
依据具体的应用需要,可以按照如下步骤设计该锁相环:
(1)确定被锁信号的频率范围(fmin,fmax)和锁相同步的分频倍数M,且fmax<100·fmin;
(2)图2、图3和图4中的时钟信号clk1、clk2和clk3可以取同一时钟源clk且有K0=1,该时钟频率fclk还应至少比M×fmax高一个数量级;
(3)选择小数分频位数k,一般k应该满足:2k<M;
(4)阻尼系数ξ取值为0.7~0.8,在这种情况下,二阶响应局部收敛的时间约为4.5/ωn;
(5)确定锁相跟踪达到稳定的局部收敛时为N(10≤N≤100)个被锁信号周期,则由(2)式可得:

由(4)式计算出积分分频的倍数IG,并取整数值;
(6)由(3)式计算出比例分频的倍数PG,并取整数值;
(7)取积分增减计数的上限阈值Nimax为略大于的正整数,取积分增减计数的下限阈值Nimin为略小于的正整数;比例增减计数的上限阈值Npmax取小于Nimin的正整数,而其下限阈值Npmin可以等于-Npmax。
3 设计实例
基于上述的锁相环结构和设计方法,本文采用MAX+PLUS II软件设计了一个锁相环实例。具体的参数设计如下:被锁相信号的输入频率范围为850Hz~12kHz;锁相环中的分频倍数M=40;鉴相控制时钟clk1、数字控制振荡器的时钟clk2和比例积分控制中的工作时钟clk3采用频率为8MHz的同一时钟信号;数字控制振荡器的二进制小数分频控制位数k=4;积分分频的倍数IG=25,比例分频的倍数PG=5,即阻尼系数ξ=0.79,自然频率ωn=0.316fsig,理论估计的局部稳定时间约为14个被锁相号周期;积分增减计数的上限阈值取Nimax=3840,下限阈值取Mimin=256;比例增减计数的上限阈值取Ppmax=255,下限阈值取Npmin=255。


图5

    基于MAX+PLUS II软件对上述锁相环逻辑电路的仿真波形如图5所示。在图5中,clk1是时钟信号,sig的输入的被锁信号,spll是本地重构信号,N是可控振荡器的控制参数,其数据为16进制。当图5中被锁信号频率突然由高变低时,锁相环在20个被锁信号周期内基本可以跟踪上输入信号。
本文基于型号为EP1K100QC208的FPGA设计了实验电路,该电路的时钟频率8MHz。在所设计的锁相环逻辑电路中,为了便于鉴视锁相环的工作状况,增加了一个锁相监视的判断信号LOCK。当锁相控制中的比例控制参数NP超过了设定阈值时,则LOCK信号有效。采用惠普54620A逻辑分析仪,将LOCK信号作为触发源,所录制的被锁信号sig和本地重构信号spll波形如图6所示。在图6所示,被锁相信号sig的频率由3kHz阶路到6kHz,锁相跟踪过程在20个被锁信号周期后达到了锁相同步。

    本文基于FPGA实现了一种新型的全数字锁相环。在性能方面,该锁相环具有很宽的锁相范围、快速的响应能力和良好的稳定性。在应用方面,该锁相环具有易于实现的逻辑结构,并且能够依据锁相速度和稳定性要求选取设计参数。本文给出了具体的参数设计步骤,并具体介绍了一个设计实例。通过MAX+PLUS II软件的仿真和基于FPGA的实际测量,证明了本文提供的设计方法的正确性和该锁相环的良好性能。该锁相环可以应用于基于CPLD或FPGA的电力系统控制装置中,并为同步控制提供快速可靠的基准信号。

李小路 发表于 2021-6-23 14:55:58

谢谢分享!:D
页: [1]
查看完整版本: 一种基于FPGA实现的全数字锁相环