基于FPGA的DDS设计_第1页
基于FPGA的DDS设计_第2页
基于FPGA的DDS设计_第3页
基于FPGA的DDS设计_第4页
基于FPGA的DDS设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、一、实验名称:基于FPGA勺DDS言号源设计技术规范:1 .实验目标:设计一个直接数字频率合成(DDS,DirectDigitalSynthesis)DDS是一种新型的频率合成技术。DDS技术是一种把一系列数字形式的信号通过DAC转换成模拟信号的合成技术。DDS技术具有频率切换时间短,频率分辨率高,频率稳定度高,输出信号的频率和相位可以快速切换,输出相位可连续,并且在改变时能够保持相位的连续,很容易实现频率、相位和幅度的数字控制。它在相对带宽、频率转换时间、相位连续性、高分辨率以及集成化等一系列性能指标方面远远超过了传统频率合成技术。因此在现代电子系统及设备的频率源设计中,尤其在通信领域,直接

2、数字频率合成器的应用越来越广泛。2 .实现功能:本实验最后将设计出一个具有频率控制和相位移控制功能的DDS。3 .引脚:本实验有三个输入端口,8位的频率控制字端口,分别接8个开关按键,8 位的相位控制字端口,分别接另外的8个开关按键,系统时钟输入端口;一个8位输出端口,接D/A的输入端口。FPGA板上的时钟频率为50MHz,本实验将其10分频后得到5MHz再使用。三.总体设计方案;1 .DDS原理:实验采用目前使用最广泛的一种DDS方式是利用高速存储器作查找表,然后通过高速DAC输出已经用数字形式存储的波形。出频率图1 : DDS系统的基本原理图图1中虚方框部分是DDS的核心单元,它可以采用C

3、PLD/FPG俅实现。图中的相位累加器由N位全加器和N位累加寄存器级联而成,可对频率控制字的二进制码进行累加运算,是典型的反馈电路。频率控制字M和相位控制字分别控制DDS输出正(余)弦波的频率和相位。每来一个时钟脉冲,相位寄存器以步长M递增。相位寄存器的输出与相位控制字相加,其结果作为正(余)弦查找表的地址。正(余)弦查找表的数据存放在ROM中,内部存有一个周期的正弦波信号的数字幅度信息,每个查找表的地址对应于正弦波中0°360°范围内的一个相位点。查找表把输入的址信息映射成正(余)弦波的数字幅度信号,同时输出到数模转换器DAC的输入端,DAC输出的模拟信号经过低通滤波器(

4、LPF)可得到一个频谱纯净的正(余)弦波。DDS具体工作过程如下:每来一个时钟脉冲clk,N位全加器将频率控制数据M与累加寄存器输出的累加相位数据N相加,把相加后的结果送至累加寄存器的输入端。累加寄存器一方面将上一时钟周期作用后所产生的新的数据反馈到加法器的输入端,以使加法器在下一时钟的作用下继续与频率控制数据M相加;另一方面将这个值作为取样地址值送入幅度/相位转换电路,此电路根据取样地址输出相应的波形数据。最后经D/A转换器和低通滤波器将波形数据转换成所需要的模拟波形。DDS输出信号的频率由下式决定:q=(2M/2N)Xclk2M代表取样点数,M为频率控制字、2N代表存储器中存储数据的多少,

5、N代表累加器的位数,clk代表基准时钟频率)。调节M可以改变取样的点数,从而改变频率假定基准时钟为70MHz,累加器为16位,则clk=70MHz,Y=216=65536(N=16),设M=12WJX=212=4096,所以q=(4096/65536)X70=4.375MHz可见,通过设定相位累加器位数N、频率控制字M和基准时钟的值,就可以产生任一频率的输出。DDS的频率分辨率定义为:q=clk/2N由于基准时钟一般是固定的,因此相位累加器的位数就决定了频率的分辨率。2 .功能实现:如果利用AT29C010芯片实验接线图如下:的黑srsss胸E/OLQUTL】3想UT21/03 挈oimQ般U

6、TA0UT5/0si wpoim1"坤0UT7/08 vOUTSIO言OUT?】仅归OUT1 flCUTJI/OL2qOUT12i/oisHCUT 3/0L4OUT41/015CUT151/0L61N37OUTAHLTOOAI岫A2UO2A3DO3斛gA5UO5a«r/wA:7UO7M A3 A10 AL AIM AL3 AI4AT29C01Q5MHz 磁1N0间OUT1N2W3】阳Ai'L>N5】N市1N7图2:DDS试验连线图顶层模块图:W1cun CLUOUT图3:DDS顶层设计电路图3 .系统总体框图:图4:总体框图4 .模块描述及功能实现(这里采用的

7、是自己编的rom,没有用falsh芯片):顶层模块:顶层模块主要用于分频,定义系统的输入和输出端口。由于实验箱采用系统时钟位50MHz,本实验才有时钟频率为5MHz,所以本模块主要负责将时钟进行10分频。模块将调用相位累加模块和rom模块。模块端口有:系统时钟输入端口(接系统时钟),8位频率控制字输入端口和8位相位控制输入端口(接16个开关按键),8位数据输出端口(接D/A的8位输入端口),复位输入端(接一个按键),分频后的时钟输出(接D/A的时钟输入)。名称方向电平ms功能clkinput3.3V1系统时钟信号,(50MHZFinput3.3V8频率控制字resetinput3.3V1复位信

8、号Pinput3.3V8相位控制字sin_outoutput3.3V8正弦波数据clk_5MHzoutput3.3v1分频后的时钟相位累加模块:相位累加主要是利用频率控制字和相位控制字来累加出寻址地址,N=N+M;address=N+P其中N位累加寄存器,初期为0;M位频率控制字;address为寻址地址。模块端口有:时钟输入端口(接顶层模块5MHz时钟),复位输入端口(接顶层模块复位端),8位频率控制字输入端口和8位相位控制输入端口(分别接顶层模块的8位频率控制字输入端口和8位相位控制输入端口),地址输出端口(将地址通过顶层模块传送给rom模块,8位)。名称方向电平ms功能clk_5MHIn

9、put3.3Vi分频后时钟(5MHZMInput3.3V8频率控制字resetInput3.3V1复位信号data_PMInput3.3V8相位控制字data_outOutput3.3V13rom的地址rom模块:首先利用MATLAB生成一个.HEX文件,.HEX文件存储的是一个深度为8192,宽度为8的正弦波形数字信号(数据不能超过255)。代码为:depth=8192;widths=8;%存储单元数;%数据宽度为8位;N=0:1:8192;s=sin(pi*N/125);%计算0pi/2的Sin值;fidc=fopen('dds.hex','wt');%以&

10、quot;亚仁的形式打开,n为换行%写入sinrom.hex%fprintf(fidc,'depth=%d;n',depth);fprintf(fidc,'width=%d;n',widths);fprintf(fidc,'address_radix=uns;n');fprintf(fidc,'data_radix=uns;n');fprintf(fidc,'ContentBeginn');for(x=1:depth)fprintf(fidc,'%dn',round(125*sin(pi*(x-1)

11、/4096)+125);endfprintf(fidc,'end;');fclose(fidc);然后在quartus下利用MATLAB生成的数据编写一个单口rom,并且生成对应的.V文件,即rom模块。本模块的功能是通过传送过来的地址,查找地址所对应的数据,并将数据输出。生成的模块端口:地址输入端口(接相位累加模块传送过来的地址,13位),时钟输入端口(接分频后的5MHz时钟),数据输出端口(8位)。名称方向电平ms功能clkinput3.3V1分频后时钟(5MHZaddressinput3.3V13寻址地址qoutput3.3V8sin波形数据实验结果及分析:板子下载:将数

12、字输出接到DA转换芯片的8个输入脚,用示波器检测DA的模拟输出信号。改变频率控制字和相位控制字(由于滤波器原因,改变相位控制字没有实际效果),观察波形的改变。TekJLmPo$:o.ooossave/recActionSave ImageFileFormatJPEGAboutSavingImagesSelectFolderSaveTEK叩幅JPGCH1500mVM50.0ju$CH1Z-Currentdisplays3vedtoA:TEK0008(JPG频率控制字为oTekJLestopMPos:0.000sSAVE/RECActionSave ImageFileFormatJPEGAbout

13、SavingImagesSelectFolderSaveTEK0007.JPG715川3。-Jun-1009:43TekJLstopmpg0,0005save/recSave ImageSelect FolderSaveTEK0006.JPG叩 j t 1M IOOjus: H -3 c j,30-Jun-10 03:移频率控制字为64FileFormatAbout Saving ImagesActionTek StopM Pos: 0.0005SAVE/REC理论彳1:q=(64/16384)X500k=1.953kHz频率控制字为32理论彳1: q=(32/16384) X 500k=0.

14、977kHzActionSaveImageFileFormat1-fTJPEGAboutSavingImagesSelectFolderSaveTEK0005.JPQCH1 500mVM 250jj5CH1 Z-315jjV3口-Jun-1 0 03:42336.530HzTek JL stopM Pos: 0.000s SAVE/RECSAVE/RECActionSave ImageFiteFormatJPEGTek Jk 受叩 m Po5Lo.ooosAboutSavingImagesSelectFolderSaveTEKOOOIJPGCH1500mVM500jusCH1Z-915juV3

15、0-Jun-1003:42频率控制字为16理论彳1: q=(16/16384) X 500k=0.488kHzTek Jk stopM PO5: 0,0005 SAVE/RECActionFile FcirmatAbout Saving ImagesCH1 500m VM 1.00msSave TEK0003.JPGSave Image30-Jun-10 09:41CH1 Z -315liV211,488HzCH1 500mVM 2.50ms30-Jun-10 03:41频率控制字为4ActionSave ImageFileFormatJPEGAboutSavingImagesSelectFo

16、lderSaveTEK0002.JPGCH1 Z -315jV90.6646Hz理论彳1:q=(4/16384)X500k=0.122kHzTekJLstopmpos:o.ooossave/recActionSave ImageFileFormatJPEGAboutSavingImagesSelectFolderSaveTEK0000JPGCrl15iirrM100ns:17-315uVCurrentFolderisA:频率控制字为i理论彳1: q=(1/16384) X 500k=0.0305kHz总结:效果还不是很好,有点失真。实际数据与理论有点偏差而且频率大偏差也有所增加,但是频率越高波形效果越好。由于没有滤波器,毛刺问题没有得到很好的解决。五.综合布局布线顶层模块"DD6:地址累

温馨提示

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

评论

0/150

提交评论