基于ADF4351和FPGA的合成频率源的设计

作者:王 晗,程 诚,施嘉儒;2017年电子技术应用第10期

摘 要: 以数字锁相环ADF4351和Xilinx公司的Spartan-6系FPGA为主要元件设计了一个合成频率源。重点讨论了ADF4351的工作原理、两者之间的SPI通信过程、电路板的设计过程,并给出了关键的控制代码和性能测试结果。该频率源具有结构简单、成本低廉、代码占用资源少、易于维护和升级等特点,在100~700 MHz的宽频范围内可输出SFDR为40 dB左右的稳定波形。

0 引言

合成频率源的研究始于上世纪70年代初,它具有频率稳定度高、频谱纯、相位噪声低等优点[1],但由于技术难度高导致造价较为昂贵[2]。随着集成VCO式的锁相环芯片的出现,小型合成频率源的设计成为可能。本文旨在以ADF4351和XC6SLX9为主要部件,以ADISimPLL和Xilinx ISE为辅助,设计一个简便、低成本的合成频率源。

1 锁相环简介

锁相环(Phase-locked Loops,PLL)是以鉴相器(Phase Frequency Detector, PFD)和压控振荡器(Voltage-controlled Oscillator,VCO)为核心、对输入信号进行变频的一种负反馈系统。最常见的结构如图1[3]。

图中各信号之间的频率关系为式(1):

其中N为整数分频器的数值,P为预分频器的数值,R为参考分频器的数值。

ADF4351是ADI公司制造的新款锁相环,内置压控振荡器,频率输出频率范围为35~4 400 MHz,功率分为+5 dBm、+2 dBm、-1 dBm、-4 dBm四档。

该锁相环的N计数器由3部分构成:16位的整数分频比INT、12位的小数模数MOD,以及12位的小数分频的分子FRAC,如图2所示。因此输出信号频率与输入信号频率的关系为式(2):

式中的divider是输出分频器的值,可配置为1、2、4、8、16、32、64。

当FRAC被设置为0时,为整数分频模式,输出信号的分辨率是参考信号频率fref的整数倍。当FRAC不为0时,则工作于小数分频模式。

在通信方面,ADF4351的片内寄存器由三线式串行外设接口(Serial Peripheral Interface,SPI)进行控制,无奇偶校验。时序图如图3。

信号LE用于控制SPI通信的通断。DATA为待写入数据。CLK为时钟信号,芯片在时钟上升沿将DATA中的数值按最高有效位(Most Significant Bit,MSB)优先的方式逐位写入移位寄存器,寄存器的地址由DATA的最后3位决定。

ADF4351总共包含6个32位的寄存器,可以对各分频器数值、输出信号与输入信号的相位差以及输出信号功率等各项参数进行配置。

2 HDL代码的设计

为使锁相环输出所需信号,必须保证SPI通信正常进行。ADF4351的时序图中提供了7个关键的时间参数t1~t7,经过整理如图4。

图中的6个信号均由FPFA产生。设计参数如表1。

HDL代码使用Verilog语言编写,由两个模块构成,一个用于生成SPI通讯所用的信号,另一个用于执行时序逻辑。其中关键信号代码如下:

编写test fixture文件对HDL代码执行映射后仿真,得到的时序波形如图5。

其中rst为复位引脚,clk_clocked为时钟锁相指示引脚。图中的关键信号sclk、LE、data_out已满足表1所给出的时序约束。

该代码所占用的资源如图6。

其中用于衡量FPGA性能指标的触发器(Flip Flop,FF)和查找表(Look-Up Table,LUT)均只使用了1%,为代码的维护和后续升级留下了足够的余量。

3 电路设计

实验中使用的FPGA开发板是搭载了Xilinx Spartan-6系列芯片XC6SLX9的QF-DualAdcUsb-B,提供40个空闲引脚,可用于与其他设备进行通信。采用ADI公司提供的ADIsimPLL进行辅助设计,鉴相频率设置为0.5 MHz,环路滤波器(7号引脚和20号引脚之间)采用无源三阶滤波器以减小引入的噪声,相角裕度设置为45°[4]。参考信号输入端做成BNC接头(29号引脚),SPI通信接口(1、2、3号引脚)引出后连接到6×2的接头上,可通过排线与FPGA开发板相连。主信号输出引脚RFOUTA+和RFOUTA-经过巴伦合并为单端输出,辅助信号输出引脚RFOUTB+和RFOUTB-未使用。最终的电路图如图7。

电路的输入阻抗与输出阻抗均设计为50 Ω,便于与示波器等仪器进行匹配。

4 系统功能验证

Datasheet中对ADF4351输入信号的要求是压摆率大于21 V/μs,正弦波或方波均可。本实验中采用17.5 MHz、峰-峰值为3 V的正弦信号作为激励源。

根据输出信号频率的计算公式,锁相环的5个重要参数分别为INT、FRAC、MOD、R和divider。以500 MHz的输出为例,根据输入信号频率与所设计的鉴相频率可计算出R分频器的值为17.5 MHz/0.5 MHz=35,对应的二进制数为0b 100 011。该数值储存在寄存器2的第23~14位,有效范围为1~1 023,因此需将这10位的值配置为0b0 000 100 011。

在单频应用中,输出频率的分辨率不需要设置为鉴相频率的小数倍,故可以采用整数N分频模式,令FRAC=0。取divider=8,则:

INT的数值储存在寄存器0的第30~15位,有效范围为23~65 535。将此16位设为8 000所对应的二进制数0b1 111 101 000 000。

同理可推出其他寄存器的数值,经整理如表2。

上电后将固件下载到FPGA中,启动SPI通信,用万用表检测和示波器表笔对PCB板上的测试点进行检查以确认ADF4351是否处于正常工作状态。

实际测得6个供电引脚的电压均为+3.3 V。此外,已在寄存器2中将ADF4351的MUXOUT引脚的输出设置为R分频器的输出,当锁相环正常工作时,此引脚会输出与鉴相频率相同的窄脉冲信号。实际测得的波形如图8。

该脉冲信号的频率约为501.88 kHz,与鉴相频率基本一致。

由此可知FPGA与ADF4351之间的SPI通信已成功建立。进一步观察锁相环输出引脚的信号,测得频率为500 MHz的正弦波波形。其SFDR为:

参考输入信号为 17.5 MHz,N=8 000,FRAC=0,MOD=2,divider=8时,锁相环的输出信号如图9所示。

保持其他参数不变,通过修改N和divider的数值,分别得到了频率为400 MHz如图10(a)、600 MHz如图10(b)、536 MHz如图10(c)和700 MHz如图10(d)的输出信号,结果如图10。

最终测得在所设计的环路滤波器参数下,当该频率综合器工作于100 MHz~700 MHz时,可获得较为稳定的输出波形。

5 结语

本文介绍了一种基于锁相环和FPGA的合成频率源的设计方案,给出了时序分析、开发代码、以及设计电路的基本思路。实验测得该频率源在100 MHz~700 MHz的范围内可输出SFDR约为40 dB的波形。该频率源具有成本低、占用资源少、易于维护的特点,可通过扩展HDL代码和添加后续模块来执行数字信号处理。另一方面,由于SPI通信中没有校验机制,即该通信模式本身易受干扰,且FPGA输出的时钟信号噪声较大,当工作于电磁干扰较强的场合时需做好电磁屏蔽工作,并且需要对时钟信号进行整形处理。

文章来源:电子技术应用