WJRAN2993 发表于 2012-12-12 20:39:41

基于DDS的信号发生器

本帖最后由 WJRAN2993 于 2012-12-12 20:45 编辑

DDS是从相位的概念直接合成所需波形的一种频率合成技术。
该模块的主要功能为产生任意信号,这里的任意信号为:正弦波、三角波、方波、锯齿波这四种波形。整个工程主要分为五个模块:按键消抖、按键编码、DDS信号发生器、DACTLC5615驱动、低通滤波器。
采用DDS来产生四种波形:正弦波、三角波、方波、锯齿波,采用的位数为10位,因为我们的DAC芯片是10位分辨率的。这四种波形通过一个按键进行控制,同时我们需要调用4个ROM来存放这四个波形。而这四ROM里面的数据通过寻址来调用,这里需要一个加法器和一个累加器来产生ROM 的地址。同过不断让地址累加,从而不断地从ROM中读取波形数据,然后将数据送往DACTLC5615的驱动模块中,这样最终便输出模拟的波形。
下面嗮下结果:



共享下整个工程,希望大家学习交流提点意见:

banye2010 发表于 2012-12-12 20:51:49

楼主知道为什么你的信号输出有毛刺吗??

RUANJI 发表于 2012-12-12 21:20:23

我想知道楼主的这个能到达多大的频率?

还有就是频率的分辨率最低是多少啊?
我也想做一个DDS。

aworker 发表于 2012-12-12 21:41:50

做的挺好的!

WJRAN2993 发表于 2012-12-13 10:01:48

banye2010 发表于 2012-12-12 20:51 static/image/common/back.gif
楼主知道为什么你的信号输出有毛刺吗??

DAC的输出端的滤波滤的不干净

WJRAN2993 发表于 2012-12-13 10:02:43

aworker 发表于 2012-12-12 21:41 static/image/common/back.gif
做的挺好的!

多谢!大家交流学习

WJRAN2993 发表于 2012-12-13 10:12:07

RUANJI 发表于 2012-12-12 21:20 static/image/common/back.gif
我想知道楼主的这个能到达多大的频率?

还有就是频率的分辨率最低是多少啊?


最大频率2M没有什么问题,不过太大会失真。
频率的分辨率按照DDS的产生原理,主要是由相位累加器的位宽决定,这里我采用的是32位位宽,理论上能够达到0.05Hz,不过这个用示波器看不出来,但0.5Hz是没有什么问题的。

luluxiu 发表于 2012-12-13 11:18:45

用的哪家的开发板

WJRAN2993 发表于 2012-12-13 12:36:29

luluxiu 发表于 2012-12-13 11:18 static/image/common/back.gif
用的哪家的开发板

自己做的开发板
大西瓜FPGA开发板

WJRAN2993 发表于 2012-12-15 20:18:59

WJRAN2993 发表于 2012-12-13 12:36 static/image/common/back.gif
自己做的开发板
大西瓜FPGA开发板

大西瓜FPGA近期将发布资料,感谢大家支持

hdchenwenhao 发表于 2012-12-18 00:08:37

楼主可否赐教高频率部分的做法。最近也在做DDS,可频率高于600kHZ时三角波和方波开始明显失真。邮箱hdchenwenhao@163.com   QQ 674715406   挺急的。

WJRAN2993 发表于 2012-12-18 09:18:33

hdchenwenhao 发表于 2012-12-18 00:08 static/image/common/back.gif
楼主可否赐教高频率部分的做法。最近也在做DDS,可频率高于600kHZ时三角波和方波开始明显失真。邮箱   QQ ...

你采用的DAC的转换频率多高?

hdchenwenhao 发表于 2012-12-18 22:21:47

WJRAN2993 发表于 2012-12-18 09:18 static/image/common/back.gif
你采用的DAC的转换频率多高?

刚开始用的是DAC900,用100M。效果很差。后来就自己直接做了个R-2R电阻网络。

dhbighead 发表于 2012-12-18 22:24:14

{:lol:}
没有高速DA可以试试R-2R网络

pangfen 发表于 2012-12-18 23:05:14

收藏。               

wjfblack 发表于 2012-12-19 09:10:41

都是标准波形。
目前的输出毛刺跟滤波没关系吧,是每周期LUT出来的点会不一样。相位累加器...

wuyuehang 发表于 2012-12-30 18:04:02

下下来看看

inovar 发表于 2013-3-6 17:19:36

FPGA 产生DDS 顶下

守望者2012 发表于 2013-3-8 17:48:26

置顶!!

天上会飞的猪 发表于 2013-3-8 19:06:05

下来看看

守望者2012 发表于 2013-3-19 13:13:17

banye2010 发表于 2012-12-12 20:51 static/image/common/back.gif
楼主知道为什么你的信号输出有毛刺吗??

好像是滤波器的问题

tjjack 发表于 2013-8-30 00:42:16

楼主您好,我想产生如下波形,频率约200K可以吗?

东海傲虾 发表于 2013-8-30 12:40:03

DDS要想做的很好真的是不容易。

kongethan 发表于 2013-8-30 13:38:55

学习中~~

fangchangqing 发表于 2013-8-30 13:43:43

来看了看

lusolzyy 发表于 2013-8-30 14:30:00

哈哈,我也是前两天刚用FPGA做了个DDS,但感觉想把频率提上去有点困难

lusolzyy 发表于 2013-8-30 14:31:32

哦?莫非楼主是大西瓜团队的?之前在PUDN上看了你们的一些代码,学习了很多。

zjczm 发表于 2013-9-6 09:41:25

不错吗, 看看

lyl520719 发表于 2013-9-13 03:15:09

正准备做DDS,想想做好真的不容易。

qlasamour 发表于 2013-9-14 01:02:45

正准备做DDS,下来看看

盼汾 发表于 2013-10-12 17:13:01

这个dds怎么样啊

mokang0421 发表于 2013-10-18 11:28:21

我是菜鸟    请问楼主 FPGA中那四个rom 的初始地址是多少啊?我想用四选一来选择rom 不知道该怎么操作

skylinyk 发表于 2013-10-24 12:54:06

mrak,学习。。。

lanting1025 发表于 2014-5-6 08:28:15

lz我看了一下代码,250M的clk是单独的外部时钟吗?

u123321 发表于 2014-5-6 08:31:08

下载学习一下,谢谢了。

郭俊文 发表于 2014-5-6 10:05:32

不错,就是毛刺问题有待解决!

yirenonege 发表于 2014-5-6 11:11:27

那么高的毛刺竟然是滤波不好,呵呵

Sunny_em 发表于 2014-6-12 11:03:17

mark,学习学习

cnzhoujin 发表于 2015-8-8 09:23:31

做的不错,有参考价值
页: [1]
查看完整版本: 基于DDS的信号发生器