一种FPGA实现的全数字锁相环*
2020-09-04阎昌国马登秋
阎昌国,李 青,马登秋,安 玉
(遵义师范学院 工学院,贵州 遵义563006)
随着科学技术的快速发展,锁相环技术已被广泛地应用在了通信、测量、自动控制等领域[1-3]。面对当下改善生态环境、解决能源短缺的紧迫问题,诸如太阳能、风能、核能等新能源发电成了良好的方案,其并网运行的应用便成为了潮流趋势[4-6]。其中,新能源发电系统能否实现并网运行,关键技术就在于锁相环是否能够有效并准确地保证并网逆变器输出的电流始终跟随电网电压的频率与相位。而传统的锁相环主要由模拟电路实现,因存在直流零点漂移与器件饱和现象,易受温度与电源的影响,会导致锁相环跟踪精度下降[7]。EDA(电子设计自动化)技术的发展,为克服模拟电路固有缺陷实现全数字化提供了良好的路径[8]。为此,本文以FPGA(现场可编程门阵列)为载体,提出了一种全数字锁相环的实现方案,详细分析了该方案的工作原理,通过逻辑仿真与实验结果表明该方案能有效地跟踪电网电压频率与相位,可以应用到新能源并网发电系统中。
1 工作原理分析
全数字锁相环的原理图如图1所示,它主要由鉴相器、K模可逆计数器、脉冲加减控制电路与N分频电路四个部分组成。鉴相器实际上是一个相位比较器,有两个输入端口,即输入信号fin与外部的过零检测电路[9]相连,另一端接锁相环的输出反馈信号fout;有三个输出控制信号,即超前信号qian(反馈信号相位超前于输入信号时有效)、滞后信号hou(反馈信号相位落后于输入信号时有效)、误差信号updn(反馈信号与输入信号之间有相位差时有效)。K模可逆计数器可逆计算器用于消除相位误差,在updn为有效电平时工作,若此时qian有效,则K模可逆计数器作减计数,当K等于零时,输出一个借位脉冲信号dec;若此时hou有效,则作为加计数,当K等于模值时,输出进位脉冲信号inc。脉冲加减电路与N分频电路构成数字压控振荡器,当dec为有效电平时,脉冲加减控制电路会在本地时钟上减去一个周期来调整相位;反之,当inc为有效电平时,则会加上一个周期来调整相位,如此反复工作最终实现相位同步。图1中Mf0为K模可逆计数器本地时钟,2Nf0为N分频电路的时钟,这里取M=2N,f0为预设值。
图1全数字锁相环原理图
2 设计与实现
在设计之前,还必须先确定图1中各参数。因本文所提出的方案主要是用于跟踪电网电压频率和相位,因此此时f0应取50 Hz。
假定新能源发电系统中并网逆变器的功率开关管所需的三角载波频率为60 kHz,可计算出N=1 200(一个调制周期需要的采样点数,其中调制周期为20 ms),M=2 400。而K值的大小将会影响锁相环的跟踪快慢,一般在20~217范围内取值,该方案是通过不断的测试来确定K的取值的,最终选取K=4。为此,在FPGA开发环境中,通过编写VHDL语言、利用开发环境已有数字模块,搭建出了如图2所示的全数字锁相环的FPGA硬逻辑电路图。
为了验证所设计的全数字锁相环硬逻辑电路的正确性,将上述电路模块经编译、综合、仿真后得到了如图3所示的逻辑功能仿真结果。其中,仿真时本地时钟clk取0.12 MHz。由图3可知,fout与fin的相位差随着时间的推移在逐步减小,且在仿真运行到210 ms附近时完成锁相,从而实现了输出信号fout对输入信号fin的同步跟踪。
图2 FPGA实现的全数字锁相环硬逻辑电路图
图3全数字锁相环逻辑功能仿真结果
3 实验验证
因逻辑功能仿真仅验证了该方案的逻辑功能是正确的,要验证该方案的可行性与有效性,还需进行实验验证。因此,将所搭建的硬逻辑电路编译载入FPGA中进行了实验,实验结果如图4所示。
图4实验测试波形
实验时,CH1为与电网电压同频率的标准50 Hz方波(用于模拟电网电压经过零检测电路捕获后的方波信号),CH2为经FPGA实现的全数字锁相环的输出波形。可以看出,输出信号CH2的相位随着时间的演变在逐步调整,最终与输入信号CH1同步,实现同步锁相。
4 结论
以新能源并网发电的良好趋势为背景,提出了一种用于同步跟踪电网电压频率与相位的全数字锁相环方案,分析了该方案的工作原理,提供了所需参数的设置方法,完成了该方案的FPGA设计与实现。最后通过逻辑仿真与实验结果证实了该方案的可行性与有效性。