基于FPGA芯片的直接数字频率合成器(DDS)的设计.doc_第1页
基于FPGA芯片的直接数字频率合成器(DDS)的设计.doc_第2页
基于FPGA芯片的直接数字频率合成器(DDS)的设计.doc_第3页
基于FPGA芯片的直接数字频率合成器(DDS)的设计.doc_第4页
基于FPGA芯片的直接数字频率合成器(DDS)的设计.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字移相信号发生器设计摘要:本文介绍了基于FPGA芯片的直接数字频率合成器(DDS)的设计方法,并讨论了基于DDS技术的数字移相信号发生器的VHDL设计。本次设计采用相位累加器构成DDS控制电路,利用ROM存储正弦信号数据,再经过DA转换成波形输出。这种电路系统具有较高的频率分辨率,可以实现快速的频率切换,并且在改变时能够保持相位的连续,很容易实现频率、相位和幅度的数控调制。这里用一个加法器作为相位调制器对ROM地址产生偏移量,用一个乘法器作为幅度调制器对ROM数据的变化。对于频率字、相位字、幅度字的输入采用一个数据分配器控制;同时对输出显示采用一个数据选择器控制。因为DDS的实现依赖于高速、高性能的数字器件,使用现场可编程器件FPGA,利用其高速、高性能及可重构性的特性,就能根据需要方便地实现各种不同频率的信号输出。一、设计方案讨论频率合成主要有三种方法:直接模拟合成法、锁相环合成法和直接数字合成法(DirectDigitalFrequencySynthesis,一般简称DDS)。直接模拟合成法利用倍频、分频、混频及滤波,从单一或几个参考频率中产生多个所需的频率。该方法频率转换时间短,但是体积大、功耗大,目前已基本不被采用。锁相环合成法通过锁相环完成频率的加、减、乘、除运算。该方法结构简化、便于集成,且频谱纯度高,目前使用比较广泛,但存在高分辨率和快转换速度之间的矛盾,一般只能用于大步进频率合成技术中。DDS是近年来迅速发展起来的一种新的频率合成方法。该方法与前两种方法相比,这种方法简单可靠、控制方便,且具有很高的频率分辨率和转换速度,可以实现可编程和全数字化,控制灵活方便,并具有极高的性价比。DDS的原理框图如图1,控制电路按照一定的地址关系从存储器中读取数据,进行数摸转换,就可以得到一定频率的输出波形,再通过滤波器对输出波形进行平滑处理。图1DDS原理框图基于FPGA的DDS控制电路的实现有采用相位累加和比例乘法器两种方案,下面将分别介绍。(1)、电路如图2所示,相位累加器由位加法器与位相位寄存器级联构成,类似于一个简单的加法器。每来一个时钟脉冲fclk,加法器就将频率控制字M与相位寄存器输出的累加相位数据相加,然后把相加后的结果送至相位寄存器输入端。相位寄存器在下一个时钟的作用下就将加法器在上一个时钟作用后产生的新相位数据反馈到加法器的输入端,以使加法器继续将相位数据与频率控制字M相加。频率控制字M由累加器累加以得到相应的这个相位数据将作为取样地址值送入的波形存储器,波形存储器根据这个地址输出相应的波形数据。最后经D/A转换器和低通滤波器将波形数据转换成所需要的模拟波形。图2相位累加器当相位累加器累加满量时,就会产生一次溢出,完成一个周期性的动作,这个周期就是合成信号的一个周期,累加器的溢出频率也就是DDS的合成信号频率。(2)、根据硬件比例乘法器(CC14527)的原理,我们对其进行VHDL设计实现。其完成的功能为:ST为片选信号,当ST有效时,在CLK每十个脉冲中输出端Q将输出DATA3.0(09)个脉冲,同时在CLK满10个脉冲时,C端产生一个脉冲控制信号。当data为4,在clk十个脉冲中,q输出4个脉冲,在CLK满10个脉冲时,C端产生一个脉冲控制信号,完全实现了比例乘法器功能。在两个比例乘法器级联时,令高位输入数据q0,低位输入数据q1,在每10个脉冲中高位输出q0个脉冲,同时高位C端禁止低位CLK进入,当高位满10个脉冲后高位C端允许低位CLK进入1个脉冲,这样在100个脉冲中整体上将输出10q0q1个脉冲。于是在n级级联后,若输入频率为f,则输出脉冲频率为10n-1q0+10n-2q1+10q(n-2)+q(n-1)f10n。如下图3为采用6级MUL级联产生的DDS控制电路。图3MUL级联构成的DDS控制电路以上两种控制方案,只要累加器位数和比例乘法器级联足够多,就可以实现频率的步进小,产生的频率信号准确,稳定性好,频率的分辨率高,频率转换快,容易控制。本次课程设计中采取第一种方案,相位累加器的位数为32位。二、设计原理DDS简介直接数字频率合成DDS(DirectDigitalFrequencySynthesizer)是一种采用数字化技术、通过控制相位的变化速度、直接产生各种不同频率信号的新型频率合成技术。随着IC设计与制造技术的发展,目前已有多种DDS芯片问世,在科研与生产中发挥了广泛的作用。DDS芯片具有较高的频率分辨率,可实现快速的频率切换且在频率改变时能够保持相位的连续,很容易实现频率、相位和幅度的数控调制,因此直接数字频率合成器的应用越来越广泛,尤其在通讯领域中,DDS已大量取代了VCO(模拟的压控振荡器)而被广泛应用。但许多专用的DDS芯片,虽然它们功能较齐全,但其控制方式却是固定的,因此有时不一定是工作所需要的,且芯片价格相对也昂贵。而利用现代CPLD/FPGA芯片的高速、高性能及可重构性,也能实现各种较复杂的频率合成功能。2DDS的设计结构及工作原理如下图4为一个基本的DDS结构图,它主要由同步寄存器、相位累加器、相位调制器、正弦ROM查找表、幅度调制器、D/A转换器(略)、和低通滤波器(略)组成。图4DDS结构原理图如上图所示的DDS基本原理组成框图结构特点为:1系统时钟clk由一个稳定的晶体振荡器产生,用来同步整个合成器的各组成部分。同步寄存器的使用是为了当输入的频率字改变时不会干扰相位累加器的正常工作。图5相位累加器位宽和采样点关系2相位累加器是整个DDS的核心,它由N位加法器和N位相位寄存器级联构成,类似一个简单的加法器,完成上面推导中的相位累加功能。每来一个时钟脉冲,加法器就将输入的N位频率字与相位寄存器输出的累加相位数据相加,然后将相加后的结果送至相位累加器的输入端,相位寄存器就将在上一个时钟作用后产生的新相位数据反馈到加法器的输入端,以使同步寄存器频率字输入寄存器同步寄存器相位字输入正弦ROM查找表正弦信号输出clk系统时钟相位累加器相位调制器NNNMM数据线位宽幅度字输入同步寄存器幅度调制器加法器在下一个时钟的作用下继续将相位数据与输入的频率字相加。当相位累加器累加满量程时,就会产生一次溢出,完成一个周期性的动作,这个周期就是合成信号的一个周期,累加器的溢出频率就是DDS的合成信号频率。3相位调制器接收相位累加器的相位输出,并与一个相位偏移值相加,主要用于信号的相位调制,如PSK(相移键控)等。在不使用时可去掉该部分,或加一个固定的相位字输入。注意相位字输入也要用同步寄存器保持同步,但相位字输入的宽度M与频率字输入N往往是不相等的。4幅度调制器接收经ROM输出数据值,并与一个幅度增量相乘,主要用于信号的幅度调制,在不加该部分时,输出信号的幅度值以ROM中的数据为基准,5正弦ROM查找表的作用是完成地址的查表转换,或理解为相位到幅度的转换。将相位累加器或相位调制器输出的相位数据作为取样地址,来寻找正弦ROM表进行相位到幅度的变换,输出不同的幅度编码。在许多需要幅度的场合,可在正弦ROM查找表后,D/A转换前放置一个采用乘法器实现的幅度控制模块。再经D/A转换器得到相应的阶梯波,最后经过低通滤波器对阶梯波进行平滑处理,得到由输入的频率字决定的连续变化的输出正弦波。6由前面的公式推导可得出基本DDS结构的常用参数计算如下:DDS的输出频率:fsin=M(fclk/2n),M为频率输入字,其数据位宽度为N。DDS的频率分辨率:1/2n。3DDS特点1DDS的频率分辨率在相位累加器的位数N足够大时,理论上可以获得相应的分辨精度,这是传统方法难以实现的。2DDS是一个全数字结构的开环系统,无反馈环节,因此其速度极快,一般在纳秒量级。3DDS的相位误差主要依赖于时钟的相位特性,相位误差小。另外,DDS的相位是连续变化的,形成的信号具有良好的频谱,这是传统的直接频率合成方法无法实现的。三、设计实现图6DDS信号流程图上图6为本次设计任务基本要求的信号流程图。从图中可以看到,频率字的输入为12位,相位字的输入为8位,以及后来的发挥部分中幅度字的输入也为8位,输出的两路正弦信号为10位数据位宽,分别接入两片高速DAC,最后由示波器显示波形。1输入设计由于受到按键限制,输入部分采用数据分配器,由3位键控制数据的输入,s作为输入片选信号,clk作为输入采样时钟,fword、pword、aword作为频率字、相位字、幅度字输出;fxian、pxian、axian作为频率预置值、相位预置值、幅度预置值输出到数码管显示。当s=0时,输入数据以频率有效,当s=1时,输入数据以相位和幅度有效。由设计任务可知:频率范围为1Hz4000Hz=212,所以fxian、fword分别为16位和12位有效字,数值大小相同,不同的是fxian为10进制、fword为16进制。相位差范围为0359,步进为1.4,由359/1.4=256可以设置pxian、pword分别为8位和8位有效字,数值相等都为16进制。输出幅度峰峰值0.13.0V,步距0.1V,由30=1Fh,同样设置axian、aword分别为8位和8位有效字,数值大小相同,不同的是axian为10进制、aword为16进制。具体控制如下表:s=0s=1key控制说明频率1512幅度74计数满复位11830Key(0)加法计数,产生进位74相位74Key(1)加法计数,不产生进位3030Key(2)加法计数,不产生进位图7输出显示与按键关系注:有效字是实际有效的位数,但实际输出位数由后面的调制器决定。clkkey2.0sfxian15.0fword31.0pxian7.0pword9.0axian7.0aword9.0demuxinst2输出设计1由于只有四个数码管显示数据,因此采用一个数据选择器对输出作调整如图,输入部分有三个数据,x1表示频率(十进制)、x2表示相位(16进制)、x3表示幅度(十进制);数据位数已在输入部分分析过,这里不再重复,d作为输出片选信号,当d=0时,输出数据为x1(频率),当d=1时,输出数据为x2(相位)和x3(幅度)并置。2对于两路正弦信号分别采用两片位超高速DAC(转换速率最高150MHz),两个电位器可分别调协两个D/A输出的幅度(输出幅度峰峰值不可大于5V,否则波形失真);J1和J2分别是模拟信号输出的PA、PB口,也可在挂钩处输出,分别是两个10位DA5651输出口。本次设计调幅最大为3V,以30显示,步进为1,则最大值为210*27=217,以10显示表示1V,1023,所以取乘法器结果的167中间10位,此时基准幅度略微小于0.1V,最大为3.0V。Pin140(PIO35)Pin139(PIO34)Pin137(PIO32)Pin138(PIO33)Pin136(PIO31)Pin135(PIO30)Pin134(PIO29)Pin133(PIO28)Pin132(PIO27)Pin128(PIO26)Pin166(PIO45)Pin165(PIO44)Pin164(PIO43)Pin163(PIO42)Pin162(PIO41)Pin161(PIO40)Pin160(PIO39)Pin159(PIO38)Pin158(PIO37)Pin141(PIO36)5510/5540Pin144Pin167(PIO46)DACLK模拟信号输出超高速

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论