DDS信号发生器

一、目的

        使用 FPGA 开发板和外部挂载的高速 AD/DA 板卡,设计并实现一个简易 DDS 信号发
生器,可通过按键控制实现正弦波、方波、三角波和锯齿波的波形输出,频率相位可调。
二、原理介绍
         

         主要部分由加法器和累加寄存器(在频率控制字K变化时不会干扰相位累加器工作)组成。简单来说:首先,K值输入,加上相位累加器原先寄存的值(位宽为N),再传到累加寄存器中生成相位码;然后,相位累加器和相位调制器生成的值(地址即横轴)传入ROM表,ROM表会事先存储我们要显示一个完整周期的正弦波信号,相应的地址(横轴)对应所存储的数据(纵轴)

  那么ROM表中的数据是怎么来的呢?

       利用matlab产生mif文件,在quartus里设置ROM IP核时调用mif文件即可。在matlab中沿横轴等间隔采样2^N=4096次,每次采集的信号幅度用1字节(8bit)数据表示(0~255),然后将采样结果(mif文件)按顺序写入ROM存储单元中。生成的mif文件部分内容如下图所示,冒号左侧为横轴地址,右侧为纵轴存储数据,可与上图中的正弦波横纵轴对应。

  

 简单来说就是查找表,地址(频率字K)自己设,就可得到对应得存储数据。

        输出信号 CLK_OUT 的频率Fout = K * Fclk/ 2^N,相位字输入P= θ/2pai/2^M。

   

        时序图就是将图一得流程设计描述出来就可以

 

 

 

 

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值