版主: 51FPGA

分享到:
共24条 2/3 « 1 2 3 »   

RE: ip core 中dds 怎么用?

只为吸引你
我是GG
高级会员

最后登陆时间:2011-10-09 20:36:15

11# 发表于 2011-05-09 22:00:54
dreamjsc的原帖

这样就清楚多了!首先你应该是单通道输出,所以A的低4位一直为零!你只是想输出一个频率,则相位偏置寄存器也可以不管!所以A的最高位可以一直为零,即一直指向相位增量寄存器!至于DATA在什么时候送数,取决于你什么时候频率需要改变!当频率需要改变时,算出来的DATA值也要改变,就需要更新相位寄存器的值!这时送数就行了!送数的控制信号可以用WE!


,大牛啊,你没明白我的意思哈,你看到我上边写的那个程序了吗?我是想问啊,那个data怎么给它送数?
就是我知道了它是多少,也知道什么时候要改变输出频率,但是我的“data<=10737418;”这句话,应该写在什么地方呢?
顶端那个模块中也没有data<=10737418”这句话啊。难道在其他的什么模块中吗?
ps:感谢你这么不厌其烦的给我解答。3q哈。
另外你的12.0的版本是从什么地方下的啊,给个地址呗,还有注册的key哈,我的这个不知道是不是太老了还是怎么的了,在生成滤波器时(fir compiler)总是出现“0x60010440指令引用的0x00000000内存,该内存不能为read”这句话,然后我点了确定后,ip core的生成过程就中断了。

改变自己。

RE: ip core 中dds 怎么用?

dreamjsc
我是GG
高级会员

最后登陆时间:2012-06-04 16:42:28

12# 发表于 2011-05-10 13:04:26

你现在生成的只是一个DDS模块,当然需要写一个控制DDS输出的模块!在控制模块中把WE与DATA的时序写好!

你程序中dds1模块是没有任何意义的,因为它完全等同于mydds模块,所以你可以把控制模块写在dds1中!


大山里的娃儿。

RE: ip core 中dds 怎么用?

dreamjsc
我是GG
高级会员

最后登陆时间:2012-06-04 16:42:28

13# 发表于 2011-05-10 13:06:11

大山里的娃儿。

RE: ip core 中dds 怎么用?

只为吸引你
我是GG
高级会员

最后登陆时间:2011-10-09 20:36:15

14# 发表于 2011-05-10 19:51:16
dreamjsc的原帖

你现在生成的只是一个DDS模块,当然需要写一个控制DDS输出的模块!在控制模块中把WE与DATA的时序写好!

你程序中dds1模块是没有任何意义的,因为它完全等同于mydds模块,所以你可以把控制模块写在dds1中!


呵呵,终于明白了,这么大的事,书上竟然只字未提,真是气人。
另外在问句,如果用dds做固定频率的载波发生器的话(就是没用data),是不是也就不用加那个控制模块了啊?

改变自己。

RE: ip core 中dds 怎么用?

dreamjsc
我是GG
高级会员

最后登陆时间:2012-06-04 16:42:28

15# 发表于 2011-05-11 08:57:25

固定频率有两种:第一种是生成IP时,频率就固定,即频率是不可重配置的,这样的话可以不要控制模块;第二种是频率是可编程的,即上电只配置一次频率,之后保持不变,这样的话仍需要控制模块!


大山里的娃儿。

RE: ip core 中dds 怎么用?

只为吸引你
我是GG
高级会员

最后登陆时间:2011-10-09 20:36:15

16# 发表于 2011-05-20 21:13:21
dreamjsc的原帖

固定频率有两种:第一种是生成IP时,频率就固定,即频率是不可重配置的,这样的话可以不要控制模块;第二种是频率是可编程的,即上电只配置一次频率,之后保持不变,这样的话仍需要控制模块!


恩,谢谢。隔了一周啦,有些事情耽误了,没看到。
我想问问是不是第一种频率固定啦,是不是等于那个ip core的输入频率啊?不然那个频率控制字都没有啊,呵呵。还有我怎么忘了,频率的控制字k是怎么算的了,?真晕,那个2的n次幂,中的n是不是就是输出cosine或者sine中的【n-1,·····,0】的n个啊?
书上说假如,工作时钟为100m,输出个分辨率为0.1hz的,4mhz的波形!怎么算来算去,k=10737418呢?我怎么算也不是啊!输出的sine是10位的!

改变自己。

此贴由只为吸引你于2011-05-20 21:14:45最后编辑

RE: ip core 中dds 怎么用?

dreamjsc
我是GG
高级会员

最后登陆时间:2012-06-04 16:42:28

17# 发表于 2011-05-21 10:05:50

第一种频率固定,在生成IP时就需要选择输出频率,根据输出频率和时钟频率,软件会自动算出频率控制字!

2的n次方中的n是指相位累加器的宽度!输出sine的位宽是幅度上的量化,与相位(频率)无关!


大山里的娃儿。

RE: ip core 中dds 怎么用?

只为吸引你
我是GG
高级会员

最后登陆时间:2011-10-09 20:36:15

18# 发表于 2011-05-21 22:04:08
dreamjsc的原帖

第一种频率固定,在生成IP时就需要选择输出频率,根据输出频率和时钟频率,软件会自动算出频率控制字!

2的n次方中的n是指相位累加器的宽度!输出sine的位宽是幅度上的量化,与相位(频率)无关!


恩,知道啦。但是我不是那样算的。
你看啊,频率分辨率是0.1HZ,那么系统工作fclk/2n=0.1hz吧。我把0.1hz直接带入到fout=fclk×k/2n中,k=40×106啊。这是为什么啊,·····唉?

改变自己。

RE: ip core 中dds 怎么用?

dreamjsc
我是GG
高级会员

最后登陆时间:2012-06-04 16:42:28

19# 发表于 2011-05-22 17:39:30

能把你的运算过程描述得再清楚点不?


大山里的娃儿。

RE: ip core 中dds 怎么用?

只为吸引你
我是GG
高级会员

最后登陆时间:2011-10-09 20:36:15

20# 发表于 2011-05-22 19:59:50
dreamjsc的原帖

能把你的运算过程描述得再清楚点不?


恩,
频率分辨率为0.1HZ吧,要求输出的fout=4MHZ。fclk=100MHZ。
根据公式频率分辨率f=fclk/2n。知道2n=100MHZ/0.1HZ=1000×106.
然后在根据公式:4M=fclk×K/2n。算出K=40×106.这么算错在什么地方了啊?呵呵

改变自己。

共24条 2/3 « 1 2 3 »   
快速回复主题
  • 匿名不能发帖!请先 [ 登陆 注册 ]