DDS信号发生器 实验报告

合集下载

实验六 DDS信号发生器设计

实验六  DDS信号发生器设计

实验五DDS信号发生器设计一.实验目的:学习利用EDA技术和FPGA实现直接数字频率综合器DDS的设计。

二.实验设备:1.电脑,quartus ii 集成开发环境2.GX_SOPC_EP3C10_EDK系统三.实验实训要求1.使用quartus ii 集成开发环境完成直接数字频率综合器DDS的设计2.利用GX_SOPC_EP3C10_EDK系统和电脑完成实验并观察波形四.实验原理:参考6.12节。

图6-72是根据图6-71的基本DDS原理框图作出的电路原理图的顶层设计,其中相位累加器的位宽是32。

图中共有六组元件模块和一些接口,说明如下:图6-72 DDS信号发生器顶层原理图(1) 32位加法器ADDER32。

由LPM_ADD_SUB宏模块构成。

设置了2级流水线结构,使其在时钟控制下有更高的运算速度和输入数据稳定性。

(2) 32位寄存器DFF32。

由LPM_FF宏模块担任。

ADDER32与DFF32构成一个32位相位累加器,其高8位A[31..24]作为波形数据ROM的地址。

(3) 正弦波形数据ROM。

正弦波形数据ROM模块sin_8X8的地址线和数据线位宽都是8位。

这就是说,其中的一个周期的正弦波数据有256个,每个数据有8位。

其输出可以接一个8位的高速DAC。

ROM中的MIF数据文件可用专用软件工具获得,这里不再深入探讨。

(4) 频率控制字输入B[20..17]由计数器CNT4B产生。

本来的频率控制字是32位的,但为了方便实验验证,把高于20和低于17的输入位预先设置成0或1。

频率控制字B[31..0]与由DAC[7..0]驱动的DAC 的正弦信号频率的关系,可以由公式CLK out f B f 322]0..31[ 算出。

其中f out 为DAC 输出的正弦波信号频率,f clk 是CLK 的时钟频率,直接输入是50MHz ,接入锁相环后可达到更高频率。

频率上限要看DAC 的速度。

如果接高速DAC ,如10位的5651,输出速度可达180MHz 。

基于DDS技术的交流信号发生器设计报告

基于DDS技术的交流信号发生器设计报告

基于DDS技术的的信号产生器设计报告目录摘要 (2)第一章、背景 (3)1.1题目要求 (3)1.2选题背景 (3)第二章、基本原理及元件 (4)2.1设计环境 (4)2.2 DDS原理 (4)2.3 AD9851芯片功能原理 (4)2.4 系统结构设计 (5)第三章、系统设计 (7)3.1单片机与AD9851的连接 (7)3.2 信号处理模块电路设计 (9)第四章、实验总结与心得体会 (15)附录:单片机代码 (16)摘要:本设计是根据直接数字频率合成(DDS) 原理,由AD9851为核心的DDS模块和单片机ADUC7026为核心的按键LCD显示控制模块、滤波模块等构成的DDS函数信号发生器,该系统可输出正弦波、方波、三角波和锯齿波,主要思路是由单片机控制芯片AD9851产生固定频率的正弦波,然后通过外部电路进行滤波和整波,分别得到相应频率的方波、三角波和锯齿波。

设计过程主要通过软件Multisim 11.0 设计与仿真。

关键词:信号发生器;直接数字频率合成;AD9851 芯片;ADUC7026 单片机第一章、背景一、题目及要求:1.计并实现一个由AD9850或AD9851为核心的DDS模块和单片机为核心的按键LCD显示控制模块、滤波模块等构成的DDS函数信号发生器。

基本功能: a、产生波形:正弦波、方波、三角波、锯齿波b、频率范围:正弦波为1Hz~10MHz,其它波形为1Hz~1MHzc、频率分辨率0.1Hzd、幅度范围:20mVp-p~10Vp-p;e、可测试外部输入信号的频率。

频率测量范围:1 Hz~100 MHz;输入信号幅度:100mVp-p~10Vp-p扩展功能: a、方波可实现波形占空比可调b、可实现其它更多波形;用户自定义波形的输入与产生c、可实现波形的定频、扫频、2PSK、ASK和FSK等d、提高所设计实现的波形发生器与频率计的量程与精度e、其他功能与性能。

2.用C51语言对设计进行描述,并下载到实验板上调试成功。

DDS信号发生器实验报告

DDS信号发生器实验报告

DDS信号发生器一、实验目的:学习利用EDA技术和FPGA实现直接数字频率综合器DDS的设计。

二、实验原理实验原理参考教材6.4节和6.11节相关内容。

三、实验内容1、实验原理参考教材6.4节相关内容。

根据6.4.2节和例6-10,在Quartus II上完成简易正弦信号发生器设计,进行编辑、编译、综合、适配、仿真;2、使用SignalTap II测试;3、硬件测试:进行引脚锁定及硬件测试。

信号输出的D/A使用DAC0832,注意其转换速率是1μs。

下载到实验系统上,接上D/A模块,用示波器测试输出波形;4、按照教材图6-72完成DDS信号发生器设计,进行编辑、编译、综合、适配、仿真,引脚锁定及硬件测试。

5、建立.mif格式文件。

四、实验步骤1、建立.mif文件:(1)设定全局参数:(2)设定波形:(3)文件保存:2、新建工程:3、LPM—ROM定制:(1)(2)(3)(4)(5)(6)(7)sinrom源程序:module SIN_CNT(RST,CLK,EN,Q,AR); output [7:0] Q;input [6:0] AR;input EN,CLK,RST;wire [6:0] TMP;reg[6:0] Q1;reg[7:0] F;reg C;always @(posedge CLK)if(F<AR) F<=F+1;elsebeginF=8'b00;C=~C;endalways @(posedge CLK or negedge RST)if(!RST) Q1<=7'b0000000;else if(EN) Q1<=Q1+1;else Q1<=Q1;assign TMP=Q1;sinrom IC1(.address(TMP),.clock(CLK),.q(Q)); endmodule4、锁相环:5、顶层文件:6、SignalTap II的使用7、锁定引脚8、下载。

DDS信号发生器实验报告含原理图PCB和代码

DDS信号发生器实验报告含原理图PCB和代码

电子信息技术综合实训报告格式竞赛题名称:《DDS信号发生器的设计》队员名称:评阅人签名:2012年9月15日1、设计思路描述:本设计是一个以AT89C51单片机为核心基于DAC0832芯片的DDS信号发生器。

信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出正弦波和三角波,波形的转换可通过软件控制。

本设计通过按键选择波形,经过AT89C51单片机将数据输出到DAC0832,由数字信号转变为模拟信号,再通过运放器稳定地输出到示波器上。

原理框图如下:2、硬件电路图:DAC0832是采样频率为八位的D/A转换器件,芯片内有两级输入寄存器,使DAC0832具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。

D/A转换结果采用电流形式输出。

要是需要相应的模拟信号,可通过一个高输入阻抗的线性运算放大器实现这个供功能。

运放的反馈电阻可通过RFB端引用片内固有电阻,还可以外接。

该片逻辑输入满足TTL电压电平范围,可直接与TTL电路或微机电路相接。

下面是DAC0832引脚图和内部结构电路图DAC0832引脚功能说明:DI0~DI7:数据输入线,TLL电平。

ILE:数据锁存允许控制信号输入线,高电平有效。

CS:片选信号输入线,低电平有效。

WR1:为输入寄存器的写选通信号。

XFER:数据传送控制信号输入线,低电平有效。

WR2:为DAC寄存器写选通输入线。

Iout1:电流输出线。

当输入全为1时Iout1最大。

Iout2: 电流输出线。

其值与Iout1之和为一常数。

Rfb:反馈信号输入线,芯片内部有反馈电阻。

Vcc:电源输入线 (+5v~+15v)Vref:基准电压输入线 (-10v~+10v)AGND:模拟地,摸拟信号和基准电源的参考地。

DGND:数字地,两种地线在基准电源处共地比较好。

主控电路及数模转换电路分别如下:主控电路数模转换电路3软件流程图:4测试方法描述:运用proteus软件设计好电路图,将程序代码编译好以后载入proteus中的AT89C51芯片进行仿真。

基于DDS的信号发生器的实验报告

基于DDS的信号发生器的实验报告

基于DDS的信号发生器
吴小川刘源源孔梅梅
2010年8月
摘要:本系统基于DDS信号源的原理,以单片机89C51为控制核心,采用DDFS (直接频率数字频率合成)技术,利用FPGA芯片EP1C6Q240合成大部分的电路,通过LCD的显示来实现波形、频率、幅度的控制输入,利用双口RAM进行数据的存储,双D/A的方法来实现频率的稳幅输出,再通过低通滤波器实现频率由1Hz~500KHz,幅度由0~5V的稳定输出的信号源。

关键字:DDS,单片机,FPGA,双口RAM,双D/A。

目录
总体框图
幅度控制、双D/A设计
双D/A转换是实现幅度可调和任意波形输出的关键,第一级D/A的输出作为第二级D/A转换的参考电压,以此来控制信号发生器的输出电压。

D/A转换器的电流建立时间将直接影响到输出最高频率。

本系统采用的是DAC800,电流建立时间为100ns,在最高频率点,一个周期输出32点,因此极限频率大概是。

DDS信号发生器报告

DDS信号发生器报告

目录第1节引言 (2)1.1 信号发生器概述 (2)1.2 本设计任务和主要内容 (2)第2节系统主要硬件电路设计 (3)2.1 总体设计方案与比较 (3)2.2 单片机控制系统原理 (4)2.3 单片机主机系统电路 (5)2.3.1电源模块 (5)2.3.2按键模块 .................................................................. 错误!未定义书签。

2.3.3 D/A转换模块 (7)2.4 LCD液晶显示电路 (8)2.4.1 ST7920 LCD组成原理 (9)2.4.2 ST7920的应用 (10)2.5 DDS信号发生电路 (12)2.5.1 DDS的性能特点 (12)2.5.2 DDS的应用 (13)2.6 模拟乘法器MC1595 (16)第3节系统的软件设计 (19)3.1 软件设计概况 (19)3.2 主程序流程图 (19)3.2 事务处理任务流程图 (20)3.3 数据处理原理 (20)3.4 系统主程序设计 (21)3.4.1 LCD发送及接收部分 .............................................. 错误!未定义书签。

3.4.2 AD9850发送部分 .................................................... 错误!未定义书签。

3.4.3 D/A5615发送部分 .................................................. 错误!未定义书签。

第4节结束语 .. (26)参考文献 (27)基于DDS技术的信号发生器第1节引言信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。

本设计分五个模块:单片机控制及显示模块、数模(D/A)转换模块、波形产生模块、输出显示模块、电源模块。

DDS波形发生器设计实验报告1

DDS波形发生器设计实验报告1

DDS 信号发生器设计一、设计要求利用FPGA+DAC,设计一个DDS 信号发生器。

1) 分辨率优于1Hz ;2) ROM 表长度8位、位宽10位;3) 输出频率优于100kHz (每周期大于50个点); 4) 显示信号频率/频率控制字(可切换); 5) 直接输入频率控制字或输出频率。

二、DDS 设计原理相位累加器DDS 基本结构框图DDS 系统的核心是相位累加器,它由一个加法器和一个相位寄存器组成;每来一个时钟,相位寄存器以步长增加,相位寄存器的输出与频率控制字(M )相加,然后输入到正弦查询表地址上。

正弦查询表包含一个周期正弦波的数字幅度信息,每个地址对应正弦波中00~360范围的一个相位点。

查询表把输入的地址相位信息映射成正弦波幅度的数字量信号,驱动DAC ,输出模拟量。

三、DDS 参数计算相位寄存器每经过N2/M 个C f 时钟后回到初始状态,相应地正弦查询表经过一个循环回到初始位置,整个DDS 系统输出一个正弦波。

1)输出正弦波周期02NC T T M= (1)2)输出正弦波频率2cout Nf f M =∙(2) 3)M 与输出out f 和C f 之间的关系(2)N out c M f f =⨯ 021N M <≤- (3)4)DDS 的最小分辨率通常用频率增量来表示频率合成器的分辨率2c out N f f M =∙m i n m i n 2cNf f f ∆==(4)根据以上公式,给定输入时钟频率10MHz ,相位累加器位宽24位时,计算得到输入频率控制字位宽为20位时可满足设计要求,最小分辨率为0.6Hz 。

四、VHDL 程序变量说明:clk ,输入时钟,10MHz ;count ,控制输入频率控制字; rset ,系统复位;en ,频率控制字输入;sselect ,频率控制字/频率切换显示; ctwo ,数码管双行显示; 顶层设计实体图一 DDS 信号发生器顶层设计原理图控制频率控制字外部输入VHDLlibrary ieee;use ieee.std_logic_1164.all; entity M_creat isport(count,rset,en:in std_logic;M_out:out std_logic_vector(19 downto 0); M_F:out std_logic_vector(7 downto 0)); end entity M_creat;architecture behv of M_creat is component counter5 is port(count:in std_logic;dout:out std_logic_vector(4 downto 0)); end component; component counter4 isport(rst,en,count:in std_logic;qout:out std_logic_vector(3 downto 0));end component;signal ccount:std_logic_vector(4 downto 0);beginM_F<="00111011";u1:counter5 port map(count,ccount);u2:counter4 port map(rset,ccount(0),en,M_out(3 downto 0));u3:counter4 port map(rset,ccount(1),en,M_out(7 downto 4));u4:counter4 port map(rset,ccount(2),en,M_out(11 downto 8));u5:counter4 port map(rset,ccount(3),en,M_out(15 downto 12));u6:counter4 port map(rset,ccount(4),en,M_out(19 downto 16)); end architecture behv;相位累加器VHDLlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity add isport(clk,rset:in std_logic;fcontrol:in std_logic_vector(19 downto 0);addressout:out std_logic_vector(7 downto 0));end entity add;architecture behav of add issignal a:std_logic_vector(23 downto 0);beginprocess(fcontrol,a,clk,rset)beginif(rset='1')then a<=(others=>'0');elsif(clk'event and clk='1')then a<=a+fcontrol;else null;end if;addressout<=a(23 downto 16);end process;end architecture behav;输出显示VHDLlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity disply isport(clk,sselect,ctwo:in std_logic;MIN:in std_logic_vector(19 downto 0);MIN1:in std_logic_vector(27 downto 0);disout:out std_logic_vector(19 downto 0));end entity disply;architecture behv of disply issignal temp2:std_logic_vector(39 downto 0);begins0:process(clk,MIN,sselect)beginif(clk'event and clk='1')thenif(sselect='1')thentemp2(39 downto 0)<="111000000000"&MIN1;---E00elsetemp2(39 downto 0)<="10110000000000000000"&MIN;end if;end if;end process s0;s2:process(clk,temp2,ctwo)beginif(clk'event and clk='1')thenif(ctwo='0')thendisout<=temp2(39 downto 20);--disply first arowelsif(ctwo='1')thendisout<=temp2(19 downto 0);--disply seconde arowelse null;end if;end if;end process s2;end architecture behv;还要用到的ROM表和乘法器采用Quartus 的宏模块来设计,VHDL程序代码这里就不写出来了。

基于DDS技术的信号发生器.

基于DDS技术的信号发生器.

现代电子学实验报告实验题目:基于DDS技术的信号发生器姓名:陈思年级: 2010级电子信息科学与技术指导教师:马莉完成日期: 2013.10.10原创性声明本人声明本实验报告涉及的电路图、程序代码均为自己设计,没有抄袭他人的成果。

特此声明!声明人:摘要 (1)1. 实验目的 (2)2. 实验原理及内容 (2)2.1 实验的总体结构 (2)2.2 实验的理论基础和原理 (3)3. 实验内容 (4)4. 实验设计与测试 (5)4.1 频率控制模块 (5)4.2 按键选择模块 (7)4.3 正弦波信号产生模块 (8)4.4 总体测试 (13)5. 实验结论与测试 ...........................................................................................................14参考文献 ............................................................................................................................15摘要函数信号发生器简介在频率合成(Fs,Frequency Synthesis)领域中,直接数字合成(Direct Digital Synthesis—DDS)是近年来新的FS技术。

单片集成的DDS产品是一种可代替锁相环的快速频率合成器件。

因其精度高、变换频率快、输出波形失真小成为优先选用技术。

具体体现在频带宽、频率转换时间短、频率分辨率高、输出相位连续、可产生宽带正交信号及其他多种调制信号、可编程和全数字化、控制灵活方便等方面,并具有极高的性价比。

DDS以稳定度高的参考时钟为参考源,通过精密的相位累加器和数字信号处理,通过高速D/A变换器产生所需的数字波形(通常是正弦波形),这个数字波形经过一个模拟滤波器后,得到最终的模拟信号波形。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

H a r b i n I n s t i t u t e o f T e c h n o l o g y
EDA技术高级应用
实验报告
姓名:禾小鬼
同组人:
学号:16S
班级:信息2班
指导教师:xxx
院系:电信学院
实验一函数信号发生器
一、实验内容
实验内容包括下面两个方面
1.熟悉quartus ii开发环境
第一次接触quartus ii开发环境,首先可以通过新建一个工程熟悉quartus ii的各种基本操作。

需要学习的包括以下几个方面:选器件,采用原理图方法画一个电路图实现某种功能,并对这个功能进行行为仿真以验证功能上的正确性。

2.设计一个函数信号发生器
在开始之前,首先要明确设计目的,我们的想要用电路图方法实现设计一个“函数信号发生器”。

然后,可以先根据自己的思路想好一个电路图的设计方案,再开始实验。

二实验结果
1.第一步:建立一个新的工程
新建工程的过程中,最重要的是设置器件,不同的器件的设计之间并不兼容。

会有一个综合的信息框,注明了我所做的设置,看看没问题就可以了。

然后新建一个原理图文件schematic,作为顶层文件,将顶层文件命名为DDS在上面进行画图。

2.第二步:画电路图
本次实验采用软件自带的器件库MegaWizard Plug-in Manager中的器件。

自定义3个ROM,并将ROM表中存储事先准备好的三种波形的数据文件,波形数据文件由matlab产生,ROM中存储8bit-32words的数据,包括一个时钟输入,一个5位地址输入和一个7位输出;还需要一个5位计数器,用以输出读取ROM 的地址;一个时钟控制整个电路工作;
我画的电路图,如图1所示。

其原理为:三个ROM表存储三种波形数据,整个电路通过时钟控制,时钟每翻转一次,计数器加一,产生一个地址,输入到
ROM,读取ROM表中的数据,直到将ROM表中的数据读取完,计数器清零,继续从头读取ROM表中的数据,这样输出的结果就是一个周期的波形信号。

三个波形的产生原理相同,唯一不同就是ROM中存储的数据,根据波形的不同而不同。

图1 电路图设计方案
3.行为仿真验证
在电路图链接无误后,开始行为仿真,新建仿真文件,由于我使用的是quartus ii 9.1,软件自带仿真功能,不用利用第三方软件按。

首先将引脚引入,然后设置各个输入引脚的输入状态时钟,包括时钟和复位,最后设置仿真长度。

我设置时钟1M,仿真长度100us。

仿真结果如图2所示。

计数器每计32个数清零,三个ROM表中的数据被周期性正确读取。

图2 功能仿真结果
4.行为仿真结果分析
如图2所示仿真结果,可以看出,每一次的时钟上升沿到来,产生一个地址,随后ROM表输入,设置ROM中仅仅存32words是为了方便观察行为仿真结果,从图中看到,结果数据呈周期性,输出的数据就是ROM存储的数据,并按照地址顺序输出的。

行为结果正确,仿真完毕。

三实验结果讨论分析
在第二部分,在展示结果的同时,也对实现过程中详细的细节和需要注意的地方进行了说明,同时对结果进行了详细的分析,下面对结果进行总结,如下:本实验正确的完成了三个信号发生器的功能,仿真结果正确。

实验原理很简单,只要会使用计数器和会读取ROM表即可。

最后,通过本次试验,我学会了quartus ii的使用,以及利用该软件实现了对简单逻辑进行电路设计和仿真验证。

指导教师签字:。

相关文档
最新文档