EDA_DDS移相信号发生器

合集下载

基于DDS的数字移相信号发生器

基于DDS的数字移相信号发生器

R G 4的高 1 E 3 O位输 出作为 P A路 R M与 P O B路 A D R 0的 D E 1
图 1 基 于 D S的数 字 移 相 信 号 发 生器 的原 理 图 D
输入 , 在此 , 将该输 出称为 D, D一方面作为一个 R M 的地址 O 端, 决定读取 R M的内容 , O 也就是 F U 。D另 一方 面与输人 OT

直 接 数 字 频 率 合 成 D S ( ic it r un y D Dr tDga Fe e c e il q Snhs e)是一种采用数字化技术、通过控制相位的变化速 yt ir ez
出, 完成一个周期性的动作 , 这个周期就是 D S合成信号 的一 D 个周期。
1 D S 相 的 实现 . 2 D 移 器 件 采 用 美 国 A T R 公 司 的 F G ( yl e LE A P A C c n o E 1 6 20 6 芯 片 来 实 现 。 于 A ea yl e P C Q 4 C PC Q 4C ) 对 h r c n I 6 2 0 6 C o E 的 应 用 开发 使 用 A e h r 司 的 E A开 发 软 件 ( ur s1 .) a公 D Q au一1 0 。 t 5
图 2:
1 基 于 D S的数 字移 相信 号发生 器 D
11 基 于 D S的数 字 移 相 信 号 发 生器 的工 作 原 理 . D
该 移相 信 号 发 生 器 是 基 于 D S技 术 而 实 现 的 ,其 原 理 框 D
图如 图 l 。 图 2 基 于 D S的 数 字移 相 信 号 发 生器 的 设 计 框 图 D 系 统 由一 个 3 加 法 器 ( D E 3 )一 个 3 寄 存 器 4位 A D R4、 4位

EDA课程设计--DDS信号发生器

EDA课程设计--DDS信号发生器

电子课程设计电子课程设计------DDS信号发生器合成器信号发生器合成器学院:学院:专业班级:专业班级:专业班级:姓名:姓名:姓名:学号:学号:学号:指导老师:指导老师:指导老师:2012年12月直接数字频率合成器(直接数字频率合成器(DDS DDS DDS))一、 设计任务与要求直接数字频率综合技术,直接数字频率综合技术,即即DDS 技术,是一种新型的频率合成技术和信号产生方法。

利用EDA 技术和FPGA 实现直接数字频率合成器DDS 的设计。

的设计。

设计要求:设计要求:1、 利用QuartusII 软件实验箱实现DDS 的设计;的设计;2、 通过实验箱上的开关输入DDS 的频率和相位控制字,的频率和相位控制字,并能用示波器观并能用示波器观察加以验证;察加以验证;3、 系统具有清零和使能的功能;系统具有清零和使能的功能;4、DDS 中的波形存储器模块用Altera 公司的Cyclone 系列FPGA 芯片中的ROM 实现。

实现。

二、 总体框图N 位Mf图1 DDS 总体框图总体框图低通滤波器品累加器品频率控制字相位寄存器加法器品相位控制字品正弦查找表品数模转换器品时钟源品1、 模块的功能模块的功能(1) 频率预置和调节电路频率预置和调节电路不变量不变量K 称作相位增量,也叫频率控制字。

此模块实现频率控制量的输入。

入。

(2) 相位累加器相位累加器相位累加器是一个带有累加功能的N 位加法器,它以设定的N 位频率控制字K 作为步长进行线性累加,当其和满时,计数器清零,并进行重新运算,它使输出频率正比于时钟频率和相位增量之积。

它使输出频率正比于时钟频率和相位增量之积。

(3) 相位寄存器相位寄存器 相位寄存器是一个相位寄存器是一个N 位的寄存器,它对输入端输入的数据进行寄存,当下一个时钟到来时,输出寄存的数据。

下一个时钟到来时,输出寄存的数据。

相位相位 频率控频率控频率控f 量化量化制字K 序列序列 N 位 N 位N 位图图2 2 相位累加器相位累加器相位累加器相位累加器的组成相位累加器的组成相位累加器的组成=N =N 位加法器位加法器+N +N 位寄存器位寄存器相位累加器的作用:在时钟的作用下,进行相位累加相位累加器的作用:在时钟的作用下,进行相位累加注意:当相位累加器累加满量时就会产生一次溢出,完成一个周期当相位累加器累加满量时就会产生一次溢出,完成一个周期 的动作。

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信号发生器设计和实现

DDS信号发生器设计和实现

DDS信号发生器设计和实现一、引言DDS(Direct Digital Synthesis)是一种基于数字信号处理技术的信号发生器设计方法。

DDS信号发生器是通过数字的方式直接生成模拟信号,相比传统的方法,具有频率稳定、调制灵活、抗干扰能力强等优势,广泛应用于频率合成、通信系统测试、医疗设备、雷达系统等领域。

本文将介绍DDS信号发生器的设计和实现。

二、DDS信号发生器的原理1.相位累加器:负责生成一个连续增加的相位角,通常以一个固定精度的二进制数表示。

2.频率控制器:用于控制相位累加器的相位角速度,从而控制信号的频率。

3.数字到模拟转换器:将相位累加器的输出转换为模拟信号。

4.系统时钟:提供时钟信号给相位累加器和频率控制器。

三、DDS信号发生器的设计步骤1.确定要生成的信号的频率范围和精度需求。

2. 选择适合的数字信号处理器或FPGA进行设计。

常用的DSP芯片有AD9910、AD9858等,FPGA则可选择Xilinx、Altera等厂商的产品。

3.根据需求设计相位累加器和频率控制器,相位累加器的位数和频率控制器的速度决定了信号的精度。

4.确定数字到模拟转换器的采样率和分辨率,选择合适的D/A转换芯片。

5. 编写控制程序和信号生成算法,包括相位累加器和频率控制器的控制。

可以使用C语言、Verilog HDL等进行编程。

6.进行硬件的布局和连线,将各个组件按照设计要求进行连接。

7.进行电源和接地的设计,确保稳定的供电和减少噪声干扰。

8.进行数字信号处理器或FPGA的编程,烧录控制程序。

9.进行信号输出测试,调整参数和算法,确保生成的信号符合要求。

10.编写使用说明书和性能测试报告,并对信号发生器进行完整性和可靠性测试。

四、DDS信号发生器的实现案例以实现一个简单的正弦信号发生器为例,介绍DDS信号发生器的实现过程。

1.确定生成的正弦信号范围为1Hz~10kHz,精度为0.1Hz。

2. 选择Xilinx的FPGA芯片,根据需要设计12位的相位累加器和24位的频率控制器。

DDS信号发生器原理

DDS信号发生器原理

相位累加器(N比特)正弦查询表(ROM)数模转换(DAC)低通滤波器(LPF)时钟(fc )频率(f0)控制字(M)输出2 基本原理2.1 直接数字频率合成器直接数字合成(Direct Digital Synthesis,简称DDS)技术是从相位概念出发,直接对参考正弦信号进行抽样,得到不同的相位,通过数字计算技术产生对应的电压幅度,最后滤波平滑输出所需频率。

2.1.1 DDS工作原理下面,通过从相位出发的正弦函数产生描述DDS的概念。

图1表示了半径R为1的单位圆,半径R绕圆心旋转与X轴的正方向形成夹角θ(t),即相位角。

图1 单位圆表示正弦函数S= R sinθ(t)DDS的原理框图如图2所示。

图中相位累加器可在每一个时钟周期来临时将频率控制字(FTW)所决定的相位增量M累加一次,如果记数大于2N,则自动溢出,而只保留后面的N位数字于累加器中[9]。

图2 DDS原理框图DDS的数学模型可归结为:在每一个时钟周期Tc内,频率控制字M与N比特相位累加器累加一次,并同时对2N取模运算,得到的和(以N位二进制数表示)作为相位值,以二进制代码的形式去查询正弦函数表ROM,将相位信息转变成相应的数字量化正弦幅度值,ROM输出的数字正弦波序列再经数模转换器转变为阶梯模拟信号,最后通过低通滤波器平滑后得到一个纯净的正弦模拟信号。

由于ROM表的规模有限,相位累加器一般仅取高位作为寻址地址送入正弦查询表获得波形幅度值。

正弦查询表中以二进制数形式存入用系统时钟对正弦信号进行采样所得的样值点,可见只需改变查询表内容就可实现不同的波形输出。

2.1.2 DDS的结构DDS的基本结构包括相位累加器、正弦查询表(ROM)、数模转换器(DAC)和低通滤波器(LPF),其中从频率控制字到波形查询表实现由数字频率值输入生成相应频率的数字波形,其工作过程为:⑴确定频率控制字M;⑵在时钟脉冲fc的控制下,该频率控制字累加至相位累加器生成实时数字相位值;⑶将相位值寻址ROM转换成正弦表中相应的数字幅码。

DDS信号发生器制作

DDS信号发生器制作

DDS信号发生器制作DDS(Direct Digital Synthesis)信号发生器是一种数字信号发生器,它使用数字信号处理技术直接产生目标频率的信号。

相比于传统的模拟信号发生器,DDS信号发生器具有更高的频率稳定性、更好的频谱纯净度和更灵活的频率、相位和振幅调节能力。

在许多仪器测量、通信、雷达、医学诊断等领域都有着广泛的应用。

DDS信号发生器的核心是一个数字信号处理器(DSP),其基本原理是使用一个定时器或频率计数器作为时基,通过特殊的数字频率控制字(Frequency Tuning Word)对一个数字控制振荡器(NCO)进行调节,从而产生目标频率的输出信号。

频率控制字可以通过不同的方法输入,如通过前端面板控制、通过计算机软件控制等。

通过不同的控制字输入,DDS信号发生器可以产生不同频率、相位、振幅的输出信号。

DDS信号发生器的基本结构包括频率控制模块、相位控制模块和振幅控制模块。

频率控制模块用于选择目标输出频率,并计算对应的频率控制字;相位控制模块用于选择目标输出相位,并计算对应的相位控制字;振幅控制模块用于选择目标输出振幅,并计算对应的振幅控制字。

这些控制字通过直接控制数字控制振荡器的相位累加、频率增量和振幅增益,从而实现对输出信号的调节。

DDS信号发生器在实际应用中,通常需要具备以下功能:输出频率范围广、频率分辨率高、频率稳定度好、低谐波和噪声水平、精确的相位调节、输出波形形状可变等。

为了达到这些要求,DDS信号发生器通常包括高性能的时钟源、高速数字模拟转换器、高速存储器、高速加法器以及高精度的参考时钟等核心组件。

1.硬件设计:包括选取合适的数字信号处理器和外围电路、设计时钟源和频率控制模块、选择和设计高速数字模拟转换器等。

2.软件设计:包括编写数字信号处理器的程序,实现频率、相位和振幅的控制、设置输出波形的形状和参数等功能。

3.系统调试:包括硬件的电路调试和软件的程序调试,确保整个DDS 信号发生器的运行稳定和输出信号的准确性。

FPGA基于DDS的移相调频调幅信号发生器

FPGA基于DDS的移相调频调幅信号发生器

《EDA》课程设计报告实验题目:基于DDS的数字移相信号发生器基于DDS的数字移相信号发生器一、课程设计目的1、进一步熟悉Quartus Ⅱ的软件使用方法;2、熟悉利用VHDL设计数字系统并学习LPM ROM的使用方法;3、学习FPGA硬件资源的使用和控制方法;4、掌握DDS基本原理,学习利用此原理进行信号发生器的设计。

二、设计任务1、完成8位输出数据宽度的频率可调的移相正弦信号发生器。

2、完成8位输出数据宽度的频率可调的移相三角波、方波信号发生器。

3、以上三种波形使用一个按键依次切换。

4、波形发生器实现幅度可调。

5、信号发生器的原始数据存储在外部存储器里,由FPGA进行读取,经过D/A转换输出,由示波器观察最终结果。

三、基本原理直接数字频率合成器(DDS)是通信系统中常用到的部件,利用DDS可以制成很有用的信号源。

与模拟式的频率锁相环PLL相比,它有许多优点,突出为(1)频率的切换迅速;(2)频率稳定度高。

一个直接数字频率合成器由相位累加器、波形ROM、D/A转换器和低通滤波器构成。

DDS的原理框图如下所示:图 1 直接数字频率合成器原理图其中K为频率控制字, fc为时钟频率,N为相位累加器的字长,D为ROM数据位及D/A 转换器的字长。

相位累加器在时钟 fc的控制下以步长K作为累加,输出N位二进制码作为波形ROM的地址,对波形ROM进行寻址,波形ROM输出的幅码S(n)经D/A转换器变成梯形波S(t),再经低通滤波器平滑后就可以得到合成的信号波形了。

合成的信号波形形状取决于波形ROM中存放的幅码,因此用DDS可以产生任意波形。

本设计中直接利用D/A转换器得到输出波形,省略了低通滤波器这一环节。

1、频率预置与调节电路不变量K被称为相位增量,也叫频率控制字。

DDS方程为:f0= fc K/2n,f0为输出频率,fc 为时钟频率。

当K=1时,DDS输出最低频率(也既频率分辩率)为fc /2nDDS的最大输出频率由 Nyguist 采样定理决定,即fc /2,也就是说K的最大值为2n-1.因此,只要N足够大,DDS可以得到很细的频率间隔。

EDA课程设计任务书-基于DDS的数字移相信号发生器

EDA课程设计任务书-基于DDS的数字移相信号发生器

基于DDS的数字移相信号发生器一、课程设计目的1、进一步熟悉QuartusⅡ的软件使用方法;2、熟悉利用VHDL设计数字系统并学习LPM ROM的使用方法;3、学习FPGA硬件资源的使用和控制方法;4、掌握DDS基本原理,学习利用此原理进行信号发生器的设计。

二、设计任务1、完成8位输出数据宽度的频率可调的移相正弦信号发生器。

2、完成8位输出数据宽度的频率可调的移相三角波、方波信号发生器。

3、以上三种波形使用一个按键依次切换。

4、波形发生器实现幅度可调。

5、信号发生器的原始数据存储在外部存储器里,由FPGA进行读取,经过D/A转换输出,由示波器观察最终结果。

6、完成两路相位相差90度的频率幅度可调的移相信号发生器。

结果通过嵌入式分析仪观察两路正交信号。

(包括正弦波、方波、三角波)注意:以上前5点为基本要求,第6点为提高要求。

三、基本原理直接数字频率合成器(DDS)是通信系统中常用到的部件,利用DDS可以制成很有用的信号源。

与模拟式的频率锁相环PLL相比,它有许多优点,突出为(1)频率的切换迅速;(2)频率稳定度高。

一个直接数字频率合成器由相位累加器、波形ROM、D/A转换器和低通滤波器构成。

DDS的原理框图如下所示:图1 直接数字频率合成器原理图其中K为频率控制字,f c为时钟频率,N为相位累加器的字长,D为ROM 数据位及D/A转换器的字长。

相位累加器在时钟f c的控制下以步长K作为累加,输出N位二进制码作为波形ROM的地址,对波形ROM进行寻址,波形ROM 输出的幅码S(n)经D/A转换器变成梯形波S(t),再经低通滤波器平滑后就可以得到合成的信号波形了。

合成的信号波形形状取决于波形ROM中存放的幅码,因此用DDS可以产生任意波形。

本设计中直接利用D/A转换器得到输出波形,省略了低通滤波器这一环节。

1、频率预置与调节电路不变量K被称为相位增量,也叫频率控制字。

DDS方程为:f0= f c K/2n,f0为输出频率,f c为时钟频率。

DDS系统结构原理——信号发生器基本系统

DDS系统结构原理——信号发生器基本系统

DDS系统结构原理——信号发生器基本系统DDS(Direct Digital Synthesis,直接数字合成)系统是一种通过数字方式来生成模拟信号的系统。

信号发生器(脉冲发生器)是DDS系统中的一个基本系统,用于产生脉冲信号。

下文将介绍DDS系统的结构原理以及信号发生器的基本系统。

1.数字控制部分:数字控制部分负责生成和控制DDS系统的输入信号。

它由一个时钟模块以及一系列数字控制逻辑电路组成。

时钟模块以固定的频率发出时钟信号,供其他逻辑电路使用。

数字控制逻辑电路根据用户设置的参数,生成控制相位累加器以及数模转换器的控制信号。

2.相位累加器:相位累加器是DDS系统中的核心部分,用于生成数字信号的相位信息。

相位累加器接收数字控制逻辑电路发出的控制信号,并根据控制信号对相位进行累加。

相位累加器使用一个计数器和一个累加器来实现。

计数器根据时钟信号递增,累加器将计数器的值加上一个可编程的相位增量,得到一个新的相位值。

相位累加器产生的相位信息用于表示输出信号的频率。

3. 数模转换器:数模转换器将相位累加器产生的数字信号转换为模拟信号输出。

数模转换器根据相位累加器的输出信号,查找一个存储器中存储的幅度信息,并将幅度信息转换为模拟信号输出。

数模转换器通常使用一个查找表(lookup table)来存储幅度信息。

查找表中的每个地址对应一个幅度值,数模转换器根据相位累加器的输出值作为地址,查找对应的幅度值。

信号发生器的基本系统:信号发生器是DDS系统中的一个基本系统,用于产生脉冲信号。

它由脉冲宽度控制电路、脉冲重复频率控制电路和脉冲幅度控制电路组成。

1.脉冲宽度控制电路:脉冲宽度控制电路用于控制脉冲的宽度。

它接收数字控制逻辑电路发出的控制信号,并根据控制信号生成一个可编程的脉冲宽度。

脉冲宽度控制电路通常使用一个计数器和一个比较器来实现。

计数器根据时钟信号递增,当计数值达到比较器设定的脉冲宽度值时,比较器输出一个脉冲宽度结束的控制信号。

DDS信号发生器(有图和完整代码)

DDS信号发生器(有图和完整代码)

本人做的一DDS信号发生器(有图和完整代码)本人做的一DDS信号发生器(有图和完整代码)这个DDS信号发生器是本人在学了一段时间的VHDL语言,在理解了DDS信号发生器原理的基础上做出来的一个小程序。

频率控制字是用的32位的,相位控制字是10位的,这些都是从外部输入,严格地说这并不是一个完整的DDS信号发生器,这只能说是一个核心的部份,各种参数和性能几乎全都由外围电路决定(如晶振和DA器件的性能)。

不过通过这个也能说明本人对VHDL语言和QuartusII的使用有了一定程度上的了解了。

-这是顶层文件:library ieee;use ieee.std_logic_1164.all;entity dds isport(Frequency_contol: in std_logic_vector(31 downto 0);Xia_Contorl : in std_logic_vector(9 downto 0);clk:in std_logic;sin_out:out std_logic_vector(7 downto 0));end dds;architecture behav of dds is --32位的加法器用来产生地址component adder32bport(in_data_a,in_data_b:in std_logic_vector(31 downto 0);sum:out std_logic_vector(31 downto 0));end component ;component adder10b --相位加法器也叫相们市制器port(in_data_a,in_data_b:in std_logic_vector(9 downto 0);sum:out std_logic_vector(9 downto 0));end component ;component reg32b --32位的寄存器用来输入频控制字也可以用来做设频用port(load: in std_logic;in_data:in std_logic_vector(31 downto 0);out_data: out std_logic_vector(31 downto 0));end component ;component out_32REG --一个32位寄存有一个口用来反馈一个用来输出port(data_in : in std_logic_vector(31 downto 0);load: in std_logic;data_feedbake: out std_logic_vector(31 downto 0);data_out: out std_logic_vector(9 downto 0));end component ;component sin_son --正弦查找表PORT(address : IN STD_LOGIC_VECTOR (9 DOWNTO 0);clock : IN STD_LOGIC ;q : OUT STD_LOGIC_VECTOR (7 DOWNTO 0));end component;component REG10b --10位寄存器模块用来存相位控制字port(load: in std_logic;in_data:in std_logic_vector(9 downto 0);out_data: out std_logic_vector(9 downto 0));end component ;signal Frequency_Con :std_logic_vector(31 downto 0);signal Fre_feedback :std_logic_vector(31 downto 0);--这是那个反馈回去的信号signal sum_data :std_logic_vector(31 downto 0);--这是丛32位加法器里出来的和信号signal Xian_Con :std_logic_vector(9 downto 0);--用来传递相位控制字--signal data_high_10B :std_logic_vector(9 downto 0); --用来传递累加器出的高10位signal adderss_10b :std_logic_vector(9 downto 0);beginu1: reg32b port map(load=>clk,in_data=>Frequency_contol,out_data=>Frequency_Con);u2: adder32b port map(in_data_a=>Frequency_Con,in_data_b=>Fre_feedback,sum=>sum_data);--u3: out_32REG port map(load=>clk,data_in=>sum_data,data_feedbake=>Fre_feedback,data_out=>data_high_10B);u3: reg32b port map(load=>clk,in_data=>sum_data,out_data=>Fre_feedback);u4: reg10b port map(load=>clk,in_data=>Xia_Contorl,out_data=>Xian_Con);u5: adder10b port map(in_data_a=>Fre_feedback(31 downto 22),in_data_b=>Xian_Con,sum=>adderss_10b);u6: sin_son port map(clock=>clk,address=>adderss_10b,q=>sin_out);end;--////////////////////////////////////////////////////////////////////////////////////////////////////////////--/////////////////////////////////////////////////////////////////////////////////////////////////////////////--这个是10位的加法器也可以说是相位调制器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity adder10b is --32位的加法器port(in_data_a,in_data_b:in std_logic_vector(9 downto 0);sum:out std_logic_vector(9 downto 0));end adder10b;architecture behav of adder10b isbeginsum<=in_data_a+in_data_b;end behav;--////////////////////////////////////////////////////////////////////////////////////////////////////////////--/////////////////////////////////////////////////////////////////////////////////////////////////////////////--这里是个32位的加法器用来把输出和32的频率控制字累加library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity adder32b is --32位的加法器port(in_data_a,in_data_b:in std_logic_vector(31 downto 0);sum:out std_logic_vector(31 downto 0));end adder32b;architecture behav of adder32b isbeginsum<=in_data_a+in_data_b;end behav;--////////////////////////////////////////////////////////////////////////////////////////////////////////////--/////////////////////////////////////////////////////////////////////////////////////////////////////////////--32位的寄存器library ieee;use ieee.std_logic_1164.all;entity out_32REG is --这是那个用来寄存反馈和输入相位调制的模块port(data_in : in std_logic_vector(31 downto 0);load: in std_logic;data_feedbake: out std_logic_vector(31 downto 0);data_out: out std_logic_vector(9 downto 0));end out_32REG;architecture behav of out_32REG isbeginprocess(load)beginif load'event and load='1' then data_feedbake<=data_in ; data_out<=data_in(31 downto 22); end if;end process;end behav;--////////////////////////////////////////////////////////////////////////////////////////////////////////////--/////////////////////////////////////////////////////////////////////////////////////////////////////////////--10位寄存器模块用来存相位控制字library ieee;use ieee.std_logic_1164.all;entity REG10b is --10位寄存器模块用来存相位控制字port(load: in std_logic;in_data:in std_logic_vector(9 downto 0);out_data: out std_logic_vector(9 downto 0));end reg10b;architecture behav of reg10b isbeginprocess(load)beginif load'event and load='1' then out_data <= in_data;end if;end process;end behav;--////////////////////////////////////////////////////////////////////////////////////////////////////////////--/////////////////////////////////////////////////////////////////////////////////////////////////////////////--最后再就是一个利用MegaWixard plug-in Manager定制的一个1024位的正弦ROM这里就不贴出来了。

FPGA基于DDS的移相调频调幅信号发生器..

FPGA基于DDS的移相调频调幅信号发生器..

《EDA》课程设计报告实验题目:基于DDS的数字移相信号发生器基于DDS的数字移相信号发生器一、课程设计目的1、进一步熟悉Quartus Ⅱ的软件使用方法;2、熟悉利用VHDL设计数字系统并学习LPM ROM的使用方法;3、学习FPGA硬件资源的使用和控制方法;4、掌握DDS基本原理,学习利用此原理进行信号发生器的设计。

二、设计任务1、完成8位输出数据宽度的频率可调的移相正弦信号发生器。

2、完成8位输出数据宽度的频率可调的移相三角波、方波信号发生器。

3、以上三种波形使用一个按键依次切换。

4、波形发生器实现幅度可调。

5、信号发生器的原始数据存储在外部存储器里,由FPGA进行读取,经过D/A转换输出,由示波器观察最终结果。

三、基本原理直接数字频率合成器(DDS)是通信系统中常用到的部件,利用DDS可以制成很有用的信号源。

与模拟式的频率锁相环PLL相比,它有许多优点,突出为(1)频率的切换迅速;(2)频率稳定度高。

一个直接数字频率合成器由相位累加器、波形ROM、D/A转换器和低通滤波器构成。

DDS的原理框图如下所示:图 1 直接数字频率合成器原理图其中K为频率控制字, fc为时钟频率,N为相位累加器的字长,D为ROM数据位及D/A 转换器的字长。

相位累加器在时钟 fc的控制下以步长K作为累加,输出N位二进制码作为波形ROM的地址,对波形ROM进行寻址,波形ROM输出的幅码S(n)经D/A转换器变成梯形波S(t),再经低通滤波器平滑后就可以得到合成的信号波形了。

合成的信号波形形状取决于波形ROM中存放的幅码,因此用DDS可以产生任意波形。

本设计中直接利用D/A转换器得到输出波形,省略了低通滤波器这一环节。

1、频率预置与调节电路不变量K被称为相位增量,也叫频率控制字。

DDS方程为:f0= fc K/2n,f0为输出频率,fc 为时钟频率。

当K=1时,DDS输出最低频率(也既频率分辩率)为fc /2nDDS的最大输出频率由 Nyguist 采样定理决定,即fc /2,也就是说K的最大值为2n-1.因此,只要N足够大,DDS可以得到很细的频率间隔。

EDA基于DDS信号发生器

EDA基于DDS信号发生器

信息工程学院题目:基于FPGA的DDS基本信号发生器的设计姓名:杨天绘学号:201000800442班级:10级通信1班小组成员:杨天绘吴中一指导老师:郑亚民、董晓舟目录1设计要求 (3)2DDS的基本原理 (3)3基于FPGA的DDS设计 (3)4各模块的设计 (4)4.1累加器控制模块 (4)4.2波形选择及存储 (4)4.3幅度控制模块 (5)4.4DAC及LPF (5)4.5整个设计的顶层结构 (6)5结果及仿真 (6)6结语 (8)摘要:本设计基于DDS原理和FPGA技术按照顺序存储方式,将对正弦波、方波、三角波、三种波形的取样数据存储在三片ROM波形表里,通过键盘控制所需波形信号的频率,幅值,最终将波形频率通过数码管显示。

1设计要求设计一个信号发生器,实现:1)幅度可调;2)频率可调;3)输出波形(正弦波、方波、三角波等)可变。

利用Quartus II完成方案软件设计工作,并在EDA实验板上进行硬件测试。

2DDS的基本原理DDS信号发生器是由:频率控制字、相位累加器、ROM表、D/A转换器以及模拟低通滤波器LPF组成.原理框图如图1所示。

首先对波形的一个周期进行连续采样,通过计算得到每一点对应的幅度值,然后以二进制格式存放在数据文件中。

在时钟脉冲fclk驱动下,每个时钟周期内频率控制字与相位累加器累加一次,产生ROM查找表的地址值,随后通过查表变换,地址值被转化为信号波形的数字幅度序列,即可得到幅度上离散的波形,再由数模变换器(D/A)将表示波形幅度的数字序列转化为模拟量。

最后经由LPF将D/A输出的阶梯状波形平滑为所需的连续波形。

理论上,采样点数越多,生成波形精确度越高。

3基于FPGA的DDS设计本设计在Altera的EP1C3T100C8芯片的基础上,在QuartusⅡ开发环境下,。

开发语言用VHDL。

设计框图(RTL仿真图)如图3所示本设计中:1)输出频率fout=(2^N/2^M)*fclk,(M为相位累加器的位数,N为频率控制字的位数)本设计中,fclk是对clk12分频后的的信号。

eda课程设计dds发生器设计

eda课程设计dds发生器设计

eda课程设计dds发生器设计一、课程目标知识目标:1. 学生能够理解DDS(Direct Digital Synthesis)发生器的工作原理,掌握其基本组成和功能。

2. 学生能够运用EDA工具进行DDS发生器的电路设计与仿真,并了解其在实际应用中的限制和改进方法。

3. 学生能够掌握DDS发生器中相位累加器、正弦查找表等关键部分的原理和设计要点。

技能目标:1. 学生能够运用所学知识,独立完成DDS发生器的电路设计和仿真,提高解决实际工程问题的能力。

2. 学生能够通过小组合作,进行EDA工具的操作和电路调试,培养团队协作和沟通技巧。

情感态度价值观目标:1. 学生在学习过程中,培养对电子设计自动化(EDA)技术的兴趣,激发探索精神和创新意识。

2. 学生通过DDS发生器设计实践,认识到电子技术在社会发展中的重要作用,增强社会责任感和使命感。

3. 学生在团队合作中,学会尊重他人,提高自我管理和组织协调能力。

课程性质:本课程为电子技术实践课程,以DDS发生器设计为主题,结合EDA工具进行电路设计与仿真。

学生特点:学生具备一定的电子技术基础知识,对EDA工具有一定了解,具有较强的动手能力和学习兴趣。

教学要求:教师需注重理论与实践相结合,引导学生通过实际操作,掌握DDS 发生器的设计方法,培养解决实际问题的能力。

同时,关注学生的情感态度价值观培养,提高综合素质。

通过分解课程目标为具体学习成果,为后续教学设计和评估提供依据。

二、教学内容1. DDS发生器原理介绍:包括DDS发生器的基本工作原理、组成结构及其在信号发生领域的应用优势。

- 相关教材章节:第三章“数字信号发生器”第1节“DDS发生器概述”2. EDA工具使用:以Cadence、Protel等EDA软件为例,介绍DDS发生器设计的基本操作和仿真方法。

- 相关教材章节:第四章“电子设计自动化工具”第2节“电路设计与仿真”3. DDS发生器关键部分设计:- 相位累加器设计原理与实现- 正弦查找表设计与优化- DAC转换器与模拟滤波器设计- 相关教材章节:第三章“数字信号发生器”第2节“DDS发生器的关键部分设计”4. 实践操作与电路调试:指导学生进行DDS发生器电路设计、仿真及硬件测试。

EDA(FPGA)DDS信号发生器课程设计实验报告

EDA(FPGA)DDS信号发生器课程设计实验报告

《电子系统实验报告》课程设计总结报告题目:DDS信号发生器设计人员:学号:同组人员:班级:指导老师:日期:2010.06.12DDS信号发生器一主要功能要求:本课程系统DDS信号发生器设计我们组利用FPGA生成DDS函数信号发生器内核和利用89S52单片机最小系统实现频率字输出和波形选择。

DDS模块与单片机的通信采用SPI串口协议。

系统的16位频率字输出采用单片机的SPI串口协议输出,在DDS模块内部采用16位移位寄存器和16位锁存器进行串行数据到并行数据的转换。

从而实现单片机到DDS模块的通信。

DDS模块由频率累加器、相位累加器、波形查找表、D/A模块组成。

且系统时钟频率工作于75MHZ。

频率和相位累加器采用32位累加器。

波形查找表由三个ROM表组成,分别存储正弦波、方波、三角波的量化数据。

再用一个三选一选择器作为波形输出的控制器件,控制信号由单片机输出。

二进制振幅键控的数字基带信号由VHDL语言生成M序列的二进制信号。

正弦波信号由正弦波表输出。

二者再进过一个乘法器,再到D/A模块。

由此完成2ASK模块的设计。

二进制振幅键控的数字基带信号由VHDL语言生成M序列的二进制信号。

进过二选一模块选择移位全零或者全一,查ROM表,选择移位180度或者0度,再到D/A。

由此完成2PSK模块设计。

(注:正弦波进行1024次量化采用公式512+511*sin(6.18/1024*k)------k值为1到1024对方波进行1024次量化采用前512位量化数值全为1023 后512位量化数值全为0三角波进行1024次量化采用1.3.5.7…..1023.1021.1019………7.5.3.1的方式进行量化)二整体设计框图及整机概述三系统实现的功能(1)可显示信号发生器输出波形与频率。

(2)正弦波、方波、三角波输出频率范围为35HZ ~ 1.17MHZ。

(3)具有频率设置功能。

(4)输出信号频率稳定度优于0.1。

根据DDS的数字移相信号发生器

根据DDS的数字移相信号发生器

EDA课程设计课题名称_ 基于DDS的数字移相信号发生器专业_ 电子信息工程____ _ _ 班级_____ _________ __ __ 学号_姓名_ __ __ 成绩_____ ____________ _指导教师___ _ ___ ___2014年5 月7日一、课程设计目的 (3)二、设计任务 (3)三、工作原理及模块分析 (3)1、频率预置与调节电路 (4)2、累加器 (4)3、波形存储器 (5)4、D/A转换器 (5)四、相关程序 (5)1、加法器 (5)(1)ADD10 (5)(2)ADD32 (7)2、寄存器 (9)(1)REG10B (9)(2)REG32B (11)3、ROM (13)4、主程序 (16)五、仿真结果: (20)六、引脚配置和下载 (20)七、实验心得 (22)一、课程设计目的1、进一步熟悉Quartus Ⅱ的软件使用方法;2、熟悉利用VHDL设计数字系统并学习LPM_ADD_SUB、LPM ROM、LPM_FF 的使用方法;3、学习FPGA硬件资源的使用和控制方法;4、掌握DDS基本原理,学习利用此原理进行信号发生器的设计二、设计任务完成10位输出数据宽度的频率可调的移相正弦信号发生器,通过按键调节频率和初始相位,实现相位和频率可调的正弦信号发生器三、工作原理及模块分析直接数字频率合成器(DDS)是通信系统中常用到的部件,利用DDS可以制成很有用的信号源。

与模拟式的频率锁相环PLL相比,它有许多优点,突出为(1)频率的切换迅速;(2)频率稳定度高。

一个直接数字频率合成器由相位累加器、波形ROM、D/A转换器和低通滤波器构成。

DDS的原理框图如下所示:fc图1直接数字频率合成器原理图其中K为频率控制字,fc为时钟频率,N为相位累加器的字长,D为ROM 数据位及D/A转换器的字长。

相位累加器在时钟fc的控制下以步长K作为累加,输出N位二进制码作为波形ROM的地址,对波形ROM进行寻址,波形ROM输出的幅码S(n)经D/A转换器变成梯形波S(t),再经低通滤波器平滑后就可以得到合成的信号波形了。

DDS信号发生器

DDS信号发生器

DDS 信号发生器一、设计要求利用FPGA+DAC ,设计一个DDS 信号发生器,分辨率优于1Hz ,ROM 表长度8位、位宽10位,输出频率优于100kHz (每周期大于50个点),显示信号频率/频率控制字(可切换),直接输入频率控制字或输出频率。

二、设计分析DDS 信号发生器原理图如下:参数选择:DDS 的最小分辨率 优于1Hz DDS 的输出频率优于100KHz(1)输出频率优于100kHz (即每个周期T 大于50个点)fc/100k>50即fc>5M ,则应选取fc=10M,即基准时钟选择10MHz 。

(2)假设M 选择18位的,那么Foutmax=2^18*10M/2^24=10^7/64=156250Hz >100kHz ,那么频率控制字M 选择18位的。

(3)根据要求最小分辨率应优于1Hz ,Δf min= fc/2^n=10*10^6/2^n<1计 算得n=24,即相位累加器选择24位的,这时Δfmin=0.593<1Hz 。

M 2t cou N =f f Ncf f 2min=∆三、电路实现原理:通过频率控制字控制相位累加,直至溢出,取其高8位作为查询sin表的地址,从而控制输出的波形。

1、调用QuartusII中的宏模块加法器与宏模块寄存器构成相位累加器模块。

(1)宏模块加法器(2)宏模块寄存器(3)相位累加器模块2、调用QuartusII中的宏模块ROM存储正弦波sin表。

3、DDS信号发生器总体电路B[17..0]为18位的频率控制字,相位累加器为24位,输出10位数据给DAC。

四、仿真结果五、实际测试数据通过实验箱上的按键,改变频率控制字的大小,用示波器测出实际输出频率并与LED上显示的理论数据相比较。

示波器显示数值频率控制字M 频率显示数值理论频率数值(十进制)38201 02174d.00000C 137.0372 K 137.0243 K18201 00e61C.000339 58.9086 K 58.8993 K04e01 002e74.000eef 11.8927 K 11.9024 K00145 0000c1.000114 193.716 Hz 193.725 Hz000c2 00007C.000337 124.0863 Hz 115.631 Hz00062 00003d.000aa3 61.027 Hz 58.4123 Hz 由电路测试数据可知,测试结果与理论数据几乎相等,则实验设计正确。

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