基于DDS的任意波形发生器

实验原理DDS的原理DDS(Direct Digital Frequency Synthesizer)直接数字频率合成器,也可叫DDFS。 DDS是从相位的概念直接合成所需波形的一种频率合成技术。 不仅可以产生不同频率的正弦波,而且可以控制波形的初始相位。 DDS原理框图 整体框架及其说明 框架说明:该模块的主要功能为产生任意信号,这里的任意信号...
摘要由CSDN通过智能技术生成

实验原理

DDS的原理

DDS(Direct Digital Frequency Synthesizer)直接数字频率合成器,也可叫DDFS。

  • DDS是从相位的概念直接合成所需波形的一种频率合成技术。

不仅可以产生不同频率的正弦波,而且可以控制波形的初始相位。

DDS原理框图

整体框架及其说明

    

框架说明:该模块的主要功能为产生任意信号,这里的任意信号为:正弦波、三角波、方波、锯齿波这四种波形。整个工程主要分为五个模块:按键消抖、按键编码、DDS信号发生器(在做这个实验前一定要先把DDS的原理弄懂!!!)DAC TLC5615驱动、低通滤波器(硬件板上已经有了)。

按键消抖模块:由于需要控制波形、幅值、频率、相位三个参数,所以该模块需要三个按键,由于按键为机械按键,在按下的时候会产生抖动,为了达到控制比较稳定,在按键的输入端我们采用软件对按键进行消抖,这里采用的消抖方法为状态机消抖,具体的过程可以看教程的按键消抖那个章节。

/********************************版权声明**************************************

** 大西瓜团队

**

**----------------------------文件信息--------------------------

** 文件名称: key.v

** 创建日期:

** 功能描述:按键消抖

** 硬件平台:大西瓜第三代开发板,http://daxiguafpga.taobao.com

** 版权声明:本代码属个人知识产权,本代码仅供交流学习.

**---------------------------修改文件的相关信息----------------

** 修改人:

** 修改日期:    

** 修改内容:

*******************************************************************************/

module key(clk,key,key_out);

input clk,key;//时钟输入,按键输入

output key_out;//经消抖后的按键信号输出

 

wire clk;

wire key;

 

reg key_out;

 

parameter s0=2'b00,s1=2'b01,s2=2'b10,s3=2'b11;

reg[1:0] state;

 

always@(posedge clk)

begin

case(state)

s0:

begin

key_out<=1'b1;

     if(key==1'b0)

         state<=s1;

     else

     state<=s0;

     end

     s1:

     begin

     if(key==1'b0)

         state<=s2;

     else

     state<=s0;

     end

     s2:

     begin

     if(key==1'b0)

         state<=s3;

     else

     state<=s0;

     end

     s3:

     begin

     if(key==1'b0)

     begin

  • 4
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值