APP下载

基于FPGA的DDS实验装置设计

2018-05-14刘文乐尚明健

科技风 2018年1期

刘文乐 尚明健

摘 要:本文论述的一种基于FPGA的DDS实验装置设计思路,装置硬件结构设计和FPGA片内数字电路设计,该装置由电源板、DAC信号发生器、FPGA最小系统组成,波形数据则由CORDIC算法模块的数据经过变换后得到,在使用时通过设置所需波形的频率,相位的信息即可得到相应的方波或正弦波。

关键词:FPGA;DDS;CORDIC算法

直接数字式频率合成器DDS(Direct Digital Synthesizer)與采用模拟技术的频率合成器相比,DDS具有成本低、分辨率高、功耗低、转换快速等优点,可以产生方波或正弦波或任意波形应用广泛[1,2]。目前DDS信号发生器多采用MCU或FPGA外加DAC的方式进行设计,近年来由于FPGA的发展,采用FPGA设计DDS的案例也逐渐增多[3,4]。本实验装置在设计时参考了国内一些成功的设计,采用FPGA加8位高速DAC的方式实现,具备两个通道,主要由FPGA最小系统板、DAC信号发生器、电源板组成,组合方便。

1 系统整体结构和工作原理

如图1所示系统整体结构由电源板,DAC信号发生器,FPGA最小系统构成。电源板用于给FPGA最小系统和DAC信号发生器供电,为简化实验流程,保证实验的安全性,电源板采用单路5V输入,这样使用普通的5V电源适配器或USB电源即可给系统供电;DAC信号发生器采用8位高速DAC完成数模转换,经过模拟重构滤波器滤除信号中的高频成分,再经过运放调理电路,得到所需幅值的信号;FPGA最小系统用于接收并解析用户的指令,经过FPGA内部的算法运算得到需要发送至DAC的值。

1.1装置硬件结构设计

1.1.1电源板设计

电源板用于为整套实验装置供电,其中FPGA需要3.3V的BANK电压与1.2V的CORE电压,DAC信号发生器中使用的DAC芯片需要3.3V供电,但是运放在工作时需要+/-5V供电,所以电源板在进行设计时,需要同时提供3.3V、1.2V、-5V以及+5V这4种电平,为保证实验装置使用的便利性使用单路5V供电,采用的如图2所示的电源树设计。其中一阶电源滤波器对5V适配器的

输入进行滤波,一阶电源滤波器的输出即可直接使用,3.3V和1.2V分别由BL1117-3.3和BL1117-1.2提供,BL1117是一款双极型低压差的线性稳压器,具有过流保护和过热保护功能,在系统中使用LDO供电是因为LDO的电源纹波小,外围电路简单,易于减小装置体积,但是由于要找到一款可以将+5V 电源输入转换为-5V 输出的LDO非常困难,所以采用LM2662提供-5V,LM2662为电荷泵,工作频率可调,在电路板布局恰当的情况下输出即为稳定的-5V。

1.1.2 DAC信号发生器设计

如图3所示,DAC信号发生器由高速DAC,模拟滤波器,调理电路组成,其中模拟滤波器采用低通设计,并不可省去否则由于高速ADC内部的零阶保持器的作用,输出信号会呈现阶梯状,调理电路中运放的选择为AD8047高速电压反馈运算放大器,DAC为AD9708高速DAC,AD9708 为ADI公司生产的高性能电流输出DAC,依照ADI公司的介绍该DAC芯片采用分段电流源架构与专有开关技术相结合,可减小杂散分量,其阻抗大于100 kΩ,支持最高125 MSPS的更新速率。

在实际使用中以一定的采样率使用DAC芯片会得到重构的模拟信号,但是此时直接使用示波器进行测量,会发现输出波形有一些小的台阶,这是DAC芯片的零阶保持造成的,要解决这一问题一般采用的方法是在DAC的输出增加一个模拟重构滤波器或一阶保持电路,在本装置中使用的是模拟重构滤波器的方式,但是由于系统配置DAC芯片的更新速率为102.778MSPS(为了使分频准确,理想的更新速率应该为102.4MSPS,但是由于FPGA内部的PLL只能以特定的整数值对输入时钟进行倍频或分频,所以只可得到102.778MSPS的时钟),而输出信号则在50Hz-8MHz可调,此时使用有源滤波器有较大的设计难度,所以装置采用无源巴特沃斯滤波器作为模拟重构滤波器使用。

1.2.3 FPGA最小系统设计

FPGA最小系统的主要作用是产生波形数据,所以其设计应当小巧,方便与DAC信号发生器连接,但是又要具备完整的功能,能够与用户交互,且便于读取系统的工作状态。FPGA最小系统结构如图4所示,M25P16用于固化FPGA 的程序,扩展IO用于连接高速DAC,USB转串口用于连接PC机,接收控制指令,FPGA在接收到控制指令后依据相应的指令设定输出波形的种类,频率,此时系统的工作状态由LED显示,FPGA 的外部时钟由50M有源晶振提供。FPGA采用Xilinx公司设计的Spartan-6低功耗FPGA,该型号的FPGA采用45nm技术,成本较低,适合用于设计中小规模的数字逻辑系统。

1.2 FPGA片内数字电路设计

FPGA片内数字电路结构如图5所示,为了让参与者在实验过程中能够更好地理解数字信号处理方面的知识,实验装置没有采用常见的查表法产生波形数据,而是采用了如下方法:首先通过CORDIC模块产生频率与初始相位一定的正弦信号,通过位宽变换使得到的数据满足DAC的8位数据位宽,由于此时的数据还是采用补码方式表示,所以在输出前要进行换算,经过变换得到的数据即为所需的正弦波数据;方波的产生则是先利用零点检测器对CORDIC模块输出的正弦波进行过零点检测,如此便可确定输出信号的频率,进一步变换得到所需的方波。

2 实验结果分析

利用设计的DDS实验装置,通过串口向FPGA发送参数设置的控制指令,以实现波形的输出功能,其中,波形频率范围为50Hz-8MHz。以100Hz为例的实验结果如图6所示,从图中可以看出:经过配置后通道一输出正弦波,通道二输出方波,且输出波形稳定。该实验说明了该实验装置的各个硬件模块工作正常,且FPGA产生了正确的波形数据。

3 结论

从实验效果上看,所设计的DDS实验装置工作良好,两个通道经过配置,便可以自由输出一定频率的正弦波和方波。由于CORDIC算法在产生正弦波形数据过程中不过多消耗FPGA片内存储资源,只需要进行移位和加减运算,降低了FPGA的片上资源消耗;使用比较法产生方波,也不需要额外存储方波的数据,简化了系统结构。本实验装置在减小装置体积的前提下,保证了功能的完整,可作为低成本的信号源使用。

参考文献:

[1]胡力坚.基于DDS的任意波形发生器设计与实现[D].西安电子科技大学,2009.

[2]陈科,叶建芳,马三涵,等.基于DDS+PLL技术频率合成器的设计与实现[J].国外电子测量技术,2010,29(4):43-47.

[3]黄燕.基于FPGA的DDS信号发生器的研究[D].南京林业大学,2012.

[4]邓耀华,吴黎明,张力锴,等.基于FPGA的双DDS任意波发生器设计与杂散噪声抑制方法[J].仪器仪表学报,2009,30(11):2255-2261.

作者简介:刘文乐(1963-),本科,高级工程师,研究方向为水泥工艺设备电气自动化设计与控制。

*通讯作者:尚明健。