基于FPGA的DDS+DPLL跳频信号源设计
扫描二维码
随时随地手机看文章
摘要:针对跳频通信系统有固有噪声的特点,结合DDS+DPLL高分辨率、高频率捷变速度的优点,并采用Altera公司的Quartus-Ⅱ_10.1软件进行设计综合,提出了一种新型的跳频信号源。结果表明,该设计中DPLL时钟可达到120 MHz,性能较高,而仅使用了30个LUT和18个触发器,占用资源很少。
关键词:数字鉴相器;滤波器;数控振荡器;DPLL
0 引言
军事通信中,常采用跳频技术来实现通信信息的保密和抗干扰,尤其是应用在通信系统中抗跟踪式干扰方面,它是电子对抗中非常重要的一个研究课题。
最初的频率综合器全由模拟电路实现,由于模拟电路存在温度漂移、电网电压等缺点,给系统的同步带来困难。随着大规模、超大规模数字集成电路的发展,在部分应用领域,数字频率综合器逐渐取代了模拟频率综合器。近年来随着FPGA和CPLD技术的迅猛发展,数字频率综合器的实现方式和工作速度都到了本质的改进和提高,可以说数字频率综合器是随着FPGA的发展而发展起来的。
1 各个功能模块的组成原理与实现
1.1 数字鉴相器
在数字鉴相器(异或门鉴相器)中,首先将输入信号与本地估算信号进行比较(其中,输入clock_in基准频率与clk2反馈回来的频率相同,只存在相位差),从而得到一个表明相位误差的脉冲输出,实际上就是一个异或门。系统框图如图1所示,仿真结果如图2所示。
从仿真波形中可以看出:当系统对频率进行锁定的过程中,使可变模计数器产生增脉冲(carry)和减脉冲(borrow)信号,鉴相器输出(xor _out)的是一个逐渐趋于占空比为50%的方波,从而使输入基准频率与反馈频率锁定在一个固定的相位上。
1.2 徘徊滤波器
徘徊滤波器的作用是平滑鉴相器带来的相位抖动,选用双向计数器来实现该功能,其RTL系统构架如图3所示。在PLL工作过程中,环路锁定时,异或门鉴相器的输出XOR_OUT是一个占空比为50%的方波。因为在DPLL的基本结构中,K变模可逆计数器始终起作用。因此当环路锁定后,如果模数K取值较小,K变模可逆计数器会频繁地周期性输出进位脉冲信号CARRY和借位脉冲信号BORROW,从而在脉冲加减电路中产生周期性的脉冲加入和扣除动作,这样就在脉冲加减电路的输出信号XOR_OUT中产生了周期性的误差,称为“纹波”;如果模数K取值足够大(对于异或门鉴相器,K应大于M/4),则这种“纹波”误差通过除N计数器后,可以减少到N个周期出现一次。也就是说K变模可逆计数器的进位脉冲信号CARRY和借位脉冲信号BORROW的周期是N个参考时钟周期。只有当本地枯算信号与输入信号的相位误差在同一极性持续增加时,计数器会朝一个方向计数,直到有进位或借位脉冲输出。该脉冲即是数控振荡器的控制信号,用以控制数控振荡器输出的本地估算脉冲的频率与相位。由此可见,由于徘徊滤波器的作用,使得锁相环只有在本地估算信号与输入数字的相位有一定的误差时,才进行调整,以达到平滑噪声干扰带来的相位抖动的目的。
若系统失锁,如图4所示,则异或门鉴相器(xor_out)输出的不是一个占空比固定的周期信号。从而使反馈的信号(clock_back)无法跟踪输入的基准信号(clock_in),即无法形成一个固定的相位差。
1.3 数控振荡器DCO
脉冲加减电路完成环路的频率和相位调整,可以称之为数控振荡器(相位控制器),其RTL构架如图5所示。当没有进位/借位脉冲信号时,它把外部参考时钟进行2分频;当有进位脉冲信号CARRY时,则在输出的2分频信号中插入半个脉冲,以提高输出信号的频率;当有借位脉冲信号BORROW时,则在输出的2分频信号中减去半个脉冲,以降低输出信号的频率。这样就达到了调整本地时钟的相位,并使其跟踪锁定在输入信号相位上的目的。
当carry=0和borrow=O时,输出为系统时钟的2分频(clk2为输出;clock_sys位系统时钟),如图6所示。
当carry=1且borrow=0时,输出为在系统2分频的基础上加上一个系统周期(clk2为输出;clock_sys位系统时钟),如图7所示。
1.4 N分频器
分频数N为锁相环的一个重要参数,它与锁相环的最大相位误差θ及同步建立时间t满足如下关系:
θ=2π/N,t=TN
式中:T为输入信号的周期。
可见,为了取得较小的相位误差,N的取值变大,相对的锁相环的建立时间也就变长。所以对于这两个指标而言,N的取值是矛盾的,为了达到较好锁相效果,需对N取一个中间值。在该设计中N取值为32,由仿真图可知,此时同步建立时间大概为18 μs,而相位误差为π/16。另外,徘徊滤波器中,双向计数器的计数峰值Q也对同步建立时间有直接影响。当计数频率和相差不变时,Q越大,则计数器达到满值所需时间越长,同步建立时间也就越长;反之亦然。可见Q与建立时间t成反比,在该设计中Q取18。
clk2,carry,borrow,oxr_out为测试端口;dIv_elk_out为分频值小于divider_n的一个分频器;从而输出一个高于基准输入频率的信号,并对输入的基准频率进行倍频,如图8所示。
2 DPLL的FPGA实现
下面给出详细描述DPLL的工作过程:
(1)当环路失锁时,异或门鉴相器比较输入信号(clock_in)和反馈信号(clock_back)之间的相位差异,产生K变模可逆计数器的计数方向控制信号(xor_out)。
(2)K变模可逆计数器根据计数方向控制信号(xor_out)调整计数值。xor_out为高进行加计数,并当计数值到达预设的K值时,输出进位脉冲信号(carry);为低进行加计数,并当计数值达到0时,输出借位脉冲信号(borrow)。
(3)脉冲加减电路则根据进位脉冲信号(carry)和借位脉冲信号(borrow)在电路输出信号(clk2)中进行脉冲的增加和扣除操作,来调整clk2信号的频率,以实现clock_back信号对clock_in信号的相位跟踪。
(4)重复上面的调整过程,当环路进入锁定状态时,异或门鉴相器的输出xor_out为一占空比50%的方波,而K变模可逆计数器则周期性地产生进位脉冲输出CARRY和借位脉冲输出BORROW,导致脉冲加减电路的输出IDOUT周期性地加入和扣除半个脉冲。
失锁状态如图9所示。当输入的基准频偏离PLL系统的中心频率合适时,系统将实现相位的锁定,如图10所示,且锁定之后可形成固定的相位差。
利用ALTERA自带的SignalTapⅡ进行在线调试如图11所示,调试后照片如图12所示。其中参数为:PLL系统的环路中心频率为24 414 Hz;单片机产生输入鉴相频率为24 348 Hz;分频器N值为1 024;可变模计数器K值为600;系统输出频率为:24 408~24 418Hz(数码管显示)。
在PLL的基础上加入频率检测模块,如图13所示。图中:Clk_ref_in为输入鉴相频率;Clk_sys为系统工作频率;Reset为系统复位信号(低电平有效);Seg[7:0]为数码管段选输出;Dig[7:0]为数码管位选输出;Clock_out为系统输出信号(此系统中没有实现倍频)。
从图中可以看出:鉴相器输出了一个占空比固定的周期信号,并且实现了较为精确的相位锁定。
设计中反馈分频器和环路滤波器是系统能否成功锁相的关键。输入的鉴相频率应该尽可能的满足:
clk_in=clk_sys/(2N)
式中:N为系统反馈环路的分频值。环路滤波器和可变模计数器应该满足关系式:
K>N/4
即滤波宽度至少大于相位锁定之后异或门输出近似50%方波的高电平宽度,如图14所示。
3 结论
本文主要研究了一种基于FPAG、自顶向下、模块化、用于频率综合器的全数字锁相环设计方法。应用Verilog硬件描述语言使设计更加灵活,不仅缩短了设计周期,而且可实现复杂的数字电路系统。该设计中的一阶DPLL使用Quartus-Ⅱ_10.1软件进行设计综合,采用Quartus的Cyclone-Ⅱ系列的EP2C8Q208C8 FPGA器件实现,并使用ModelSim 6.6C软件进行仿真。经仿真测试,该PLL具有锁定相位时间短,锁定后相位稳定的特点,最大偏差不超过10%,已给出测试图片,从而验证了设计的正确性。