1、1.5 硬件电路调试及结果分析2基于DDS技术的信号发生器设计2.1 功能要求2.2 整体设计2.3 DDS技术的基本原理2.4 程序设计2.4.1 方波产生程序设计及仿真2.4.2 三角波产生程序设计及仿真2.4.3 正弦波产生程序设计及仿真2.4.4 锯齿波产生程序设计及仿真2.4.5 AM产生程序设计及仿真2.4.6 DSB产生程序设计及仿真2.4.7 DSB产生程序设计及仿真2.4.8 DSB产生程序设计及仿真2.4.9 DSB产生程序设计及仿真2.4.10 DSB产生程序设计及仿真2.4.7 顶层程序设计及仿真(1) 程序的功能(2) 结构图或实体图(3) VHDL程序及注释(4)
2、仿真波形及分析2.5 硬件测试及结果分析3设计分析与总结3.1 故障分析3.2功能分析3.3 设计总结及感想基于FPGA的DDS技术设计正弦波、三角波、方波等波形发生器 ,实现波形的D/A转换,实现改变高低电平开关电路设计。FPG最小系统实现软件的写入,外围电路实现开关电路和D/A转换。通过APS接口下载程序到FPGA。用开关控制输出高低电平。1.4.3 DAC0832电路设计DAC0832是采用CMOS/Si-Cr工艺实现的8位D/A转换器。该芯片包含8位输入寄存器、8位DAC寄存器、8位D/A转换器。DAC0832中有两级锁存器,第一级即输入寄存器,第二级即DAC寄存器,可以工作在双缓冲方
3、式下。引脚特性:D7D0:8位数据输入端ILE:输入寄存器锁存允许信号CS#:芯片选择信号WR1#:输入寄存器写信号XFER#:数据传送信号WR2#:DAC寄存器写信号VREF:基准电压,-10V+10VRfb:反馈信号输入端IOUT1:电流输出1端IOUT2:电流输出2端VCC:电源AGND:模拟地DGND:数字地 硬件焊接时,容易将焊点漏焊或则连接在一起。第一次焊好是先发没有输出波形。经过检查发现是输出插针没有与输出端口焊好。经过重新焊接后就可以输出波形了。基于FPGA的DDS技术设计正弦波、三角、方波、锯齿波发生器。1)频率预置与调节电路作用:实现频率控制量的输入;不变量K被称为相位增量
4、,也叫频率控制字。2)累加器相位累加器的组成= N位加法器+N位寄存器相位累加器的作用:在时钟的作用下,进行相位累加注意:当相位累加器累加满量时就会产生一次溢出,完成一个周期性的动作。DDS的输出频率为:f0=fCK/2NDDS输出的最低频率:K=1时,fC/2NDDS输出的最高频率:Nyquist采样定理决定,即fC/2, K的最大值为2N-1结论:只要N足够大,DDS可以得到很细的频率间隔。要改变DDS的输出频率,只要改变频率控制字K即可。通过C+做一个方波的ROM,输入是1024个(),输出为10位(),编译运行后,找出fangbo.exe后缀的文件将其转换为fangbo.mif,通过q
5、uarter将后缀fangbo.mif文件做成ROM后,会得到fangbo.vhd。编译后仿真得到如下波形。程序LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY altera_mf;USE altera_mf.all;ENTITY fangbo IS PORT ( address : IN STD_LOGIC_VECTOR (9 DOWNTO 0); clock : IN STD_LOGIC ; q : OUT STD_LOGIC_VECTOR (9 DOWNTO 0) );END fangbo;ARCHITECTURE SYN OF fangb
6、o IS SIGNAL sub_wire0 : STD_LOGIC_VECTOR (9 DOWNTO 0);COMPONENT altsyncram GENERIC ( clock_enable_input_a : STRING; clock_enable_output_a : init_file : intended_device_family : lpm_hint : lpm_type : numwords_a : NATURAL; operation_mode : outdata_aclr_a : outdata_reg_a : widthad_a : width_a : width_b
7、yteena_a : NATURAL PORT ( clock0 : address_a : q_a : END COMPONENT;BEGIN q BYPASS, clock_enable_output_a = init_file =fangbo.mif intended_device_family =Cyclone II lpm_hint =ENABLE_RUNTIME_MOD=NO lpm_type =altsyncram numwords_a = 1024, operation_mode =ROM outdata_aclr_a =NONE outdata_reg_a =UNREGIST
8、ERED widthad_a = 10, width_a = width_byteena_a = 1 ) PORT MAP ( clock0 = clock, address_a = address, q_a = sub_wire0);END SYN;通过C+做一个三角波的ROM,输入是1024个(),编译运行后,找出sanjiao.exe后缀的文件将其转换为三角.mif,通过quarter将后缀sanjiao.mif文件做成ROM后,会得到sanjiao.vhd。ENTITY sanjiaobo ISEND sanjiaobo;ARCHITECTURE SYN OF sanjiaobo IS
9、 COMPONENT altsyncramsanjiaobo.mif通过C+做一个正弦波的ROM,输入是1024个(),编译运行后,找出sin.exe后缀的文件将其转换为sin.mif,通过quarter将后缀sin.mif文件做成ROM后,会得到sin.vhd。ENTITY myrom1 ISEND myrom1;ARCHITECTURE SYN OF myrom1 ISmyrom1.mif2.4.4锯齿产生程序设计及仿真通过C+做一个锯齿波的ROM,输入是1024个(),编译运行后,找出juchi.exe后缀的文件将其转换为juchi.mif,通过quarter将后缀juchi.mif文件做成ROM后,会得到juchi.vhd。ENTITY juchibo ISEND juchibo;ARCHITECTURE SYN OF juchibo ISjuchibo.mif),编译运行后,找出AM.exe后缀的文件将其转换为AM.mif,通过quarter将后缀AM.mif文件做成ROM后,会得到AMvhd。ENTITY am ISEND am;ARCHITECTURE SYN OF am ISam.mif),编译运行后,找出DSB.exe后缀的文件将其转换为DSB.mif,通过quarter将后缀DSB.mif文件做成ROM后,会得到DSB.vhd。编译后仿真得到如
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2