您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 直接数字频率合成(DDS)的FPGA实现
第1页共26页直接数字频率合成(DDS)的FPGA实现引言直接数字频率合成(DDS)技术是60年代末出现的第三代频率合成技术,以Nyquist时域采样定理为基础,在时域中进行频率合成。DDS具有相对带宽很宽,频率转换时间极短(可小于20ns),频率分辨率可以做到很高(典型值为0.001Hz)等优点;另外,全数字化结构便于集成,输出相位连续,频率、相位、幅度都可以实现程控,通过更换波形数据可以轻易实现任意波形功能。总的来说,新一代的直接数字频率合成器采用全数字的方式实现频率合成,与传统的频率合成技术相比,具有以下特点:(1)频率转换快。(2)频率分辨率高、频点数多。(3)相位连续。(4)相位噪声小。(5)控制容易、稳定可靠。在高可靠应用领域,如果设计得当,将不会存在类似于MCU的复位不可靠和PC可能跑飞等问题。CPLD/FPGA的高可靠性还表现在,几乎可将整个系统下载于同一芯片中,实现所谓片上系统,从而大大缩小了体积,易于管理和屏蔽。所以,采用FPGA来实现DDS有明显的好处。1设计任务设计一基于FPGA的直接数字频率合成实验系统。设计目标为,可以实现稳定的正弦波输出,输出频率范围:100Hz~10KHz,且频率可调(步进100Hz),幅度可调(步进0.1V)。2设计思路及原理DDS的工作原理是以数控振荡器的方式产生频率、相位可控制的正弦波。电路一般包括基准时钟、频率累加器、相位累加器、幅度/相位转换电路、D/A转换器和低通滤波器(LPF)。频率累加器对输入信号进行累加运算,产生频率控制数据X(frequencydata或相位步进量)。相位累加器由N位全加器和N位累加寄存器级联而成,对代表频率的2进制码进行累加运算,是典型的反馈电路,产生累加结果Y。幅度/相位转换电路实质上是一个波形寄存器,以供查表使用。读出的数据送入D/A转换器和低通滤波器。------------------------------装----------------订-----------------线----------------------------------第2页共26页第1章DDS工作原理1.1DDS工作原理框图图1-1所示是一个DDS电路的基本工作原理框图。图1-1DDS电路的基本工作原理框图1.2具体工作过程每来一个时钟脉冲Fclk,N位加法器将频率控制数据X与累加寄存器输出的累加相位数据相加,把相加后的结果Y送至累加寄存器的输入端。累加寄存器一方面将在上一时钟周期作用后所产生的新的相位数据反馈到加法器的输入端,以使加法器在下一时钟的作用下继续与频率控制数据X相加;另一方面将这个值作为取样地址值送入幅度/相位转换电路(即图1-1中的波形存储器),幅度/相位转换电路根据这个地址输出相应的波形数据。最后经D/A转换器和低通滤波器将波形数据转换成所需要的模拟波形。相位累加器在基准时钟的作用下,进行线性相位累加,当相位累加器加满量时就会产生一次溢出,这样就完成了一个周期,这个周期也就是DDS信号的一频率周期。DDS输出信号的频率由下式给定:Fout=(X/Y)×Fclk。假定基准时钟为70MHz,累加器为16位,则Y=162=65536,Fclk=70MHz。再假定X=4096,则Fout=(4096/65536)×70=4.375MHz。可见,通过设定相位累加器位数、频率控制字X和基准时钟的值,就可以产生任一频率的输出。DDS的频率分辨率定义为:Fout=Fclk/Y(2)由于基准时钟一般固定,因此相位累加器的位数就决定了频率分辨率。如上面的例子,------------------------------装----------------订-----------------线----------------------------------第3页共26页相位累加器为16位,那么频率分辨率就可以认为是16位。位数越多,分频率越高。第4页共26页第2章系统电路的设计及原理2.1系统框图根据要求,经过仔细分析,充分考虑各种因素,制定了整体的设计方案;以FPGA为核心,处理8位拨码开关送来的频率控制字将存在EAB的波形数据相应输出给DAC0832完成数模转换,再由另一块DAC0832的内部的电阻分压网络结合外部8位拨码开关的输入值实现幅度控制,继而经过低通滤波器进行滤波,从而得到正弦波。系统总框图如图2-1所示。频率数据输出频率控制幅度控制输出图2-1系统整体框图2.2各模块具体实现原理分析和说明2.2.1频率控制模块这一模块是由FPGA实现的,FPGA完成相位累加器的功能,而频率控制字X是由外部拨码开关给出的。相位累加器(见图2-2-1)是实现DDS的核心,它由一个N位字长的二进制加法器FPGAFLEX10K108位拨码开关数模转换DAC0832幅度控制DAC0832低通滤波8位拨码开关------------------------------装----------------订-----------------线----------------------------------------------------------------装----------------订-----------------线----------------------------------第5页共26页和一个固定时钟脉冲取样的N位相位寄存器组成。相位寄存器的输出与加法器的一个输入端在fc频率控制字X输出序列图2-2-1相位累加器结构内部相连,加法器的另一个输入端是外部输入的频率控制字X。这样,在每个时钟到达时,相位寄存器采样上个时钟周期内相位寄存器的值与频率控制字X之和,并作为相位累加器在这一时钟周期的输出。频率控制字X决定了相应的相位增量,相位累加器则不断地对该相位增量进行线性累加,当相位累加器积满两时就会产生一次溢出,从而完成一个周期性的动作,这个动作周期即是DDS合成信号的一个频率周期。于是,输出信号波形的频率表示式为NcoKff2/由该式可知,输出信号频率主要取决于频率控制字X,当X增大时,of可以不断的增高,由抽样定理,最高输出频率不得大于cf/2,而根据实验所得,实际工作频率小于cf/3时较为合适。由于受到FPGA芯片资源限制,所能达到的频率不是很高,范围也不是很广。根据设计目标,决定取cf=51200Hz,选取4.096MHz有源晶振,经过80分频,得到基准频率为51200Hz。N为9位。这样,频率分辨率为N位加法器N位相位寄存器第6页共26页HzffNc1002/512002/9min可以达到的最高最佳频率为51200/3≈17KHz。2.2.2ROM查找表设计FPGA的结构是由基于半定制门陈列的设计思想而得到的。从本质上讲,FPGA是一种比半定制还方便的ASIC设计技术。FPGA的结构主要分为三部分:可编程逻辑块、可编程IˆO模块、可编程内部连线。查找表型FPGA的可编程逻辑单元是由功能为查找表的SRAM构成逻辑函数发生器,实现与其它功能块的可编程连接。在此,选用FLEX10K系列FPGA作为目标芯片,它的集成度达到了10万门,而且在FPGA中首次集成了嵌入式存储器块的芯片。它是查找表型FPGA,由输入-输出控制模块(IOC)、嵌入式阵列块(EAB)、逻辑阵列块(LAB)和快速通道(FASTTRACK)构成。其中EAB是一种输入输出端带有寄存器的非常灵活的RAM,它既可以用来作为存储器使用,也可以用来实现逻辑功能。2.2.3数模转换及幅度控制模块(1)数模转换。使用转换速度为1us带宽为1MHz的DAC0832,这样最高频率就不是很高。DAC0832为电流输出型D/A转换器,需要外接运算放大器进行电流电压变换才能得到模拟电压输出。输出方式为单极性输出方式的时候,输出级接一低电压温漂运放op07作为电压电流转换器,在运算放大器的输出端就可以得到单极性模拟电压OUTV:fbOUTOUTRIV若参考电压为+5V,则当数字量从00H~FFH变化时,对应的模拟电压OUTV输出范围是0V~-5V。(2)幅度控制。使用DAC0832实现。利用DAC0832内部的电阻分压网络,将经前一个DAC0832产生的波形作为基准电压源输入,其输出波形幅度将为V=(N/256)*Vin,其中N由外部8位拨码开关控制,从而实现步进0.1V峰-峰值的幅度调整,其接法如图2-2-4所示。第7页共26页数据作为基准电压输入输出图2-2-4幅度控制实现2.2.4滤波输出电路模块D/A输出后,通过滤波电路,使信号平滑。滤波器在通带内的平坦程度对我们而言,比其衰减更为重要,而且,巴特沃斯滤波器的元件值也较合乎实际情况,不像绝大多数其他类型滤波器对元件值要求那么苛刻。在截止频率附近,频率响应钝化可能使这些滤波器在要求锐截止的地方不合要求。二阶巴特沃斯有源低通滤波器设计(图2-2-5):正弦波的输出频率小于10KHz,为保证10KHz频带内输出幅度平坦,又要尽可能抑制谐波和高频噪声,综合考虑取R1=1KΩ,R2=1KΩ,C1=100pF,C=100pF图2-2-5有源低通滤波器设计2.2.5FPGA程序下载电路模块FLEX10K器件可以通过在线配置的手段来调整电路结构、延时信息等,这给设计人员调试电路带来了极大的方便。而并口下载电缆ByteBlaster正是将PC机DAC0832LF356DAC0832LF3565V基准电压源8位拨码开关------------------------------装----------------订-----------------线----------------------------------第8页共26页中的配置信息传到PCB板FLEX器件中必不可少的器件。(1)配置模式的选择。ByteBlaster有两种配置模式:被动串行模式(PS)--常用来配置重构FLEX10K、FLEX8000和FLEX6000系列器件;边界扫描模式(JTAG)--具有边界扫描电路的配置重构或在线编程。对CPLD的器件配置分为两类:主动配置方式和被动配置方式。主动配置由CPLD器件引导配置操作过程,它控制着外部存储器和初始化过程。而被动配置由计算机或控制器控制配置过程。在本设计中由于须由上位机来控制配置过程,故采用了被动串行模式(PS)。(2)被动串行配置模式(PS)。在被动串行配置(PS)方式中,由上位机产生一个由低到高的跳变,通过ByteBlaster并口下载电缆送到nCONFIG引脚,然后将配置数据送到DATA0引脚,该数据锁存至CONF-DONE变成高电平,它是先将每字节的最低位LSB送到FLEX10K器件。CONF-DONE变成高电平后,DCLK必须用多余的10个周期来初始化该器件,器件的初始化是由下载电缆执行的。在PS方式中没有握手信号,所以,配置时钟的工作频率要低于10MHz。①ByteBlaster25针插头ByteBlaster与PC机并口相连的是一个25针的插头,其连接线名称与插头各引脚名称如表2-2所示。表2-2ByteBlaster的25针连接线名称引脚引脚名称引脚引脚名称2DCLK13nSTATUS3nCONFIG15GND8DATA018~25GND11CONF-DONE②ByteBlaster10针插头ByteBlaster的10针插头是与PCB板上的10针插座相连的,表2-3列出了ByteBlaster插头在PS模式下的各引脚的名称。其中NC表示管脚是悬空的,下载电缆的电源Vcc和信号------------------------------装----------------订-----------------线----------------------------------第9页共26页地GND由PCB板提供,PCB板所提供的电源Vcc为5V。表2-3ByteBlaster插头引脚名称引脚信号名描述1DCLK时钟2GND信号地3CONF-DONE配置控制4Vcc电源5nCONFIG配置控制6—
本文标题:直接数字频率合成(DDS)的FPGA实现
链接地址:https://www.777doc.com/doc-6300668 .html