DDS信号发生器电路设计方案_第1页
DDS信号发生器电路设计方案_第2页
DDS信号发生器电路设计方案_第3页
DDS信号发生器电路设计方案_第4页
DDS信号发生器电路设计方案_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

DDS1、了解电子电路设计的一般方法、依据题目要求选择设计方案。2、依据理论计算分析,查阅相关资料和手册,选择电子元器件。器件实现电路的设计、仿真、下载。4〔对电路进展测试。5、写出符合要求的课程设计报告。一、试验设备EP2C35F672C6)、QuartusⅡ9.13、数字电路试验面包板4、示波器、万用表等二、试验任务要求计。1、技术指标2、发挥局部50Hz~10kHz;2%~98%;1Hz、10Hz、100Hz、1kHz、10kHz;④完成在数码管上数字频率显示功能;三、试验原理介绍1、DDS直接数字合成〔DirectDigitalSynthesis、DDS〕是一种的频率合成技术和信号产生的方法。直接数字频率合成器〔DDS〕具有超高速的频率转换时间,极高的频率区分率和较低的相位噪声,在频率转变与调频时,DDS能够保持相位的连续,因此很简洁实现频率、相位和幅度调制。此外,DDS信号产生技术得到了越来越广泛的应用,很多厂家已经生产出了DDS专用芯片,这种器件成为当今电子系统及设备中频率源的首选器件。2、相位累加器DDS

=f可知,只要选择恰当的clk

out

out

clk频率把握字,就可以得到所需要的输出频率f。out3、ROMROM的作用是构成正弦查找表,其部存储一个完整的正弦波的数字幅度0~360°围的一个相位点。ROM出的波形幅值。4、D/AROMD/A字量到模拟量的转换。5、低通滤波器〔LPF〕D/A出来之后的波形是梯外形的,将它通过低通滤波器后就可以看到平RCRCff0

后,其幅频特性以40dB/dec的速率下降,但在f和0fp

之间还不够快。四、实现方案简述1、设计流程将系统时钟50MHz220HzDDS累加器作DDS8ROMROMDAC2、功能模块连接图3、功能模块设计分析① 预分频模块3232fout

=fclk

可知,N32,f

=220Hz,只需求出M的值,然后对其进展累加。clk outMcout220Hz,clk,clr为系统清零信号。DDSf

out

=fclk

可知,要使输出频率可控,则DDS累加器的位数要与220Hz,那么DDS累加器的加out

DDSdataa[19..0]输入为累加步长〔由累加步长把握模块输出,fclk,clr累加步长把握模块包含步长选择和累加把握两个模块。步长选择模块置50Hz~10kHz10kHz50Hz,key10kHz加步长的清零,接清零信号,keyDDS5长把握模块输出的累加步长,由于f =M,所以DDS的输出频率就是累加后out20210百千万位提取出来做推断。将推断后的值对应的七段数码显示器值输出到5,num5clk用于驱动显示模块工作。波形存储模块由高位提取模块和ROM构成。高位提取模块作用是将DDS8ROM,之所以取高位弃低位,是由于假设包含低位,则一个周期中将会消灭的多于28〔256〕个值,就不能与ROM256ROM256clkclrROMROM多个波形输出接到波形选通器上进展选通把握。四个输入分别接正弦波、三角波、方波和锯齿波,output[7..0]DAC。D/ALF356DAC083290ns(否则锁存器的数据会出错);ILE:数据锁存允许把握信号输入线,高电平有效;CS:片选信号输入线〔选通数据锁存器,低电平有效;WR1:数据锁存器写选通输入线,负脉冲〔500ns〕有效。由ILE、CS、WR1LE1,当LE1存器状态随输入数据线变换,LE1〔脉宽应500ns〕有效;WR2XFERLE2出随存放器的输入而变化,LE2DACD/AIOUT11,DACIOUT22,IOUT1Rfb:反响信号输入线,转变Rfb精度;Vcc:电源输入端,Vcc+5V~+15V;VREF:基准电压输入线,VREF-10V~+10V;AGND:模拟信号地DGND:数字信号地LF3561&5、偏置平衡〔调零端〕2、反向输入端3、正向输入端4、接电源负6、输出7、接电源正8、空脚由于不需要用到DAC0832芯片中的输入存放器和DAC存放器,所以将1、2、18+5V20+5V310UREF8+5V。12LF3563,11LF35629LF3566DI0~DI7ROMLF35615RV1+15V。-15V,7+15VDAC0832DAC0832LF356LF356的作用就是讲电流信号转换成电压信号。ROM00000000~11111111U=+5V,由公式REF0000000011111111LF356xx反向比例放大器。在其根底上加求和运算电路就可上下平移波形。OP071&8、偏置平衡〔调零端〕2、反向输入端3、正向输入端4、接电源负5、空脚6、输出7、接电源正R1RV2OP0723+15V18RV4+15V6R22RV3+15V。使输入端〔2〕OP07uRV2oRV3〔LPF〕RC,RC,OP07318RV6+15V。4-15V,7+15V。6R622R5使输入端〔即3〕开路,用万用表对OP07滤波器,通带截止频率。R=51kΩ,C=100pF,由此可解得,高于输出频10kHz,满足设计要求。DACLPF五、试验仿真结果1、预分频模块仿真图编译好电路后建一个波形向量文件〔VectorWaveformFile要进展仿真的节点〔Nodes〕添加到仿真文件中,保存后翻开仿真工具〔SimulatorTool,选择功能仿真〔Functional,生成网表〔FunctionalSimulationNetlis告文件〔Reportfout

=fclk

求出的M的值为“1000”来一个时钟信号累加一次。由于最低三位为0,无论怎么累加都不会消灭进位,所以,最低三位始终为低电平。、DDSfout

=M50Hz~10kHz,所以进位高位的进位较慢,符合设计要求。3、波形存储模块仿真图ROM4、动态仿真正弦波ⅡLogicAnalyzersofAutorunAnalysisoutputBusLineChartSignalTapⅡ这FPGA角波、锯齿波的动态仿真方法与上面全都。5、动态仿真方波6、动态仿真三角波7、动态仿真锯齿波而后与理论值作比较。8、5000Hz测量波形示波器测量值:确定误差:Δ=|5000-5000|=0相对误差:δ= =0、5001Hz示波器测量值:确定误差:Δ=|5001-5001|=0相对误差:δ= =0、5011Hz示波器测量值:确定误差:Δ=|5011-5011|=0相对误差:δ= =0、5061Hz示波器测量值:确定误差:Δ=|5061.01-5061|=0.01相对误差:δ= =0.0001976%、5161Hz示波器测量值:确定误差:Δ=|5161.02-5161|=0.02相对误差:δ= =0.0003875%、6161Hz示波器测量值:确定误差:Δ=|6161-6161|=0相对误差:δ= =0DI0~DI7器的输出端接示波器进展测量。14、示波器正弦波输出频率确定误差:Δ=|29.9995-30|=0.0005输出频率相对误差:δ= =0.001667%理论值计算:第一级静态输出:1.875V~1.682V,3.75V~7.114V。Multisim1、电路连接有问题;autoset;3、使用了示波器部增益〔;4、电路调零不到位;15、示波器方波、示波器三角波、示波器锯齿波六、问题与改进144GPIO管脚赋给它,就用它输入频率。2、频率只能加不能减。310kHz。4、在低通滤波器后加一级功率放大器,便于对信号进一步放大。5、低通滤波器通带宽度不行控,频率较大时消灭失真。波器增益的调整,从而把握通带宽度。形。改进方法:将反向求和运算电路中静态通路上的定值电阻换为电位器。七、收获与体会1、在设计数字电路时使用原理图加语言编写有时更显简便。比方用语言编写转最终的目的是一样的。事半功倍。3、做试验时不仅要知其然,最重要的还是要知其所以然。4、试验时要擅长思考,擅长总结,为以后的学习工作做积存。5、“不放弃”是试验成功的关键。参考文献:FPGA/CPLD系统设计与应用开发》主编:周淑阁电子工业《EDA技术与VHDL设计》 编著:徐志军王金明廷辉等 电子工业3《电工电子试验教程》主编:王久和副主编:春云进 电子工业附录:程序代码预分频模块1、置数:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYzhishuISPORT(M:OUTSTD_LOGIC_VECTOR(31DOWNTO0));ENDENTITY;ARCHITECTUREfuncOFzhishuISBEGINM<=“1000“;ENDARCHITECTURE;累加步长把握模块2、步长选择:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYbcxuanzeISPORT(bcxzmaichong:INSTD_LOGIC;bc:BUFFERSTD_LOGIC_VECTOR(19DOWNTO0));ENDENTITY;ARCHITECTUREfuncOFbcxuanzeISSIGNALbc1:STD_LOGIC_VECTOR(19DOWNTO0):=“001“;SIGNALbc2:STD_LOGIC_VECTOR(19DOWNTO0):=“010“;SIGNALbc3:STD_LOGIC_VECTOR(19DOWNTO0):=“010“;SIGNALbc4:STD_LOGIC_VECTOR(19DOWNTO0):=“100“;SIGNALbc5:STD_LOGIC_VECTOR(19DOWNTO0):=“000“;SIGNALtmp:STD_LOGIC_VECTOR(19DOWNTO0);BEGINPROCESS(bcxzmaichong)BEGINIFbcxzmaichong”EVENTANDbcxzmaichong=”1”THENbc<=bc1;bc1<=bc2;bc2<=bc3;bc3<=bc4;bc4<=bc5;bc5<=bc;ENDIF;ENDPROCESS;ENDARCHITECTURE;3、累加把握LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYkongzhiISPORT(key:INSTD_LOGIC;clr:INSTD_LOGIC;M:INSTD_LOGIC_VECTOR(19DOWNTO0);fout:BUFFERSTD_LOGIC_VECTOR(19DOWNTO0));ENDENTITY;ARCHITECTUREfuncOFkongzhiISBEGINPROCESS(key,clr)BEGINIFclr=”0”THENIFkey”EVENTANDkey=”1”THENIFfout>10000THENfout<=M;ELSEfout<=fout+M;ENDIF;ENDIF;ELSEfout<=“000“;ENDIF;ENDPROCESS;ENDARCHITECTURE;显示模块4、频率显示LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYxianshiISPORT(foutin:INSTD_LOGIC_VECTOR(19DOWNTO0);clk:INSTD_LOGIC;num1:OUTSTD_LOGIC_VECTOR(6DOWNTO0);num2:OUTSTD_LOGIC_VECTOR(6DOWNTO0);num3:OUTSTD_LOGIC_VECTOR(6DOWNTO0);num4:OUTSTD_LOGIC_VECTOR(6DOWNTO0);num5:OUTSTD_LOGIC_VECTOR(6DOWNTO0));ENDENTITY;ARCHITECTUREfuncOFxianshiISSIGNALdec:INTEGER;BEGINdec<=CONV_INTEGER(foutin);PROCESS(clk)BEGINIFclk”EVENTANDclk=”1”THENCASEdecREM10ISWHEN0=>num1<=“1000000“;WHEN1=>num1<=“1111001“;WHEN2=>num1<=“0100100“;WHEN3=>num1<=“0110000“;WHEN4=>num1<=“0011001“;WHEN5=>num1<=“0010010“;WHEN6=>num1<=“0000010“;WHEN7=>num1<=“1111000“;WHEN8=>num1<=“0000000“;WHEN9=>num1<=“0010000“;WHENOTHERS=>num1<=“1111111“;ENDCASE;CASE(decREM100)/10ISWHEN0=>num2<=“1000000“;WHEN1=>num2<=“1111001“;WHEN2=>num2<=“0100100“;WHEN3=>num2<=“0110000“;WHEN4=>num2<=“0011001“;WHEN5=>num2<=“0010010“;WHEN6=>num2<=“0000010“;WHEN7=>num2<=“1111000“;WHEN8=>num2<=“0000000“;WHEN9=>num2<=“0010000“;WHENOTHERS=>num1<=“1111111“;ENDCASE;CASE(decREM1000)/100ISWHEN0=>num3<=“1000000“;WHEN1=>num3<=“1111001“;WHEN2=>num3<=“0100100“;WHEN3=>num3<=“0110000“;WHEN4=>num3<=“0011001“;WHEN5=>num3<=“0010010“;WHEN6=>num3<=“0000010“;WHEN7=>num3<=“1111000“;WHEN8=>num3<=“0000000“;WHEN9=>num3<=“0010000“;WHENOTHERS=>num1<=“1111111“;ENDCASE;CASE(decREM10000)/1000ISWHEN0=>num4<=“1000000“;WHEN1=>num4<=“1111001“;WHEN2=>num4<=“0100100“;WHEN3=>num4<=“0110000“;WHEN4=>num4<=“0011001“;WHEN5=>num4<=“0010010“;WHEN6=>num4<=“0000010“;WHEN7=>num4<=“1111000“;WHEN8=>num4<=“0000000“;WHEN9=>num4<=“0010000“;WHENOTHERS=>num1<=“1111111“;ENDCASE;CASEdec/10000ISWHEN0=>num5<=“1000000“;WHEN1=>num5<=“1111001“;WHEN2=>num5<=“0100100“;WHEN3=>num5<=“0110000“;WHEN4=>num5<=“0011001“;WHEN5=>num5<=“0010010“;WHEN6=>num5<=“0000010“;WHEN7=>num5<=“1111000“;WHEN8=>num5<=“0000000“;WHEN9=>num5<=“0010000“;WHENOTHERS=>num1<=“1111111“;ENDCASE;ENDIF;ENDPROCESS;ENDARCHITECTURE;波形存储模块58LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYzhuanhuanISPORT(zh_in:INSTD_LOGIC_VECTOR(19DOWNTO0);zh_out:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDENTITY;ARCHITECTUREfuncOFzhuanhuanISBEGINPROCESS(zh_in)BEGINzh_out(7)<=zh_in(19);zh_out(6)<=zh_in(18);zh_out(5)<=zh_in(17);zh_out(4)<=zh_in(16);zh_out(3)<=zh_in(15);zh_out(2)<=zh_in(14);zh_out(1)<=zh_in(13);zh_out(0)<=zh_in(12);ENDPROCESS;ENDARCHITECTURE;6、方波生成LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYfangboISPORT(fb_in:STD_LOGIC;fbclk:INSTD_LOGIC;fb_out:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDENTITY;ARCHITECTUREf

温馨提示

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

最新文档

评论

0/150

提交评论