论坛风格切换切换到宽版
  • 3671阅读
  • 21回复

AD9851没反应 [复制链接]

上一主题 下一主题
离线永远的FM
 
发帖
12113
只看楼主 倒序阅读 0楼 发表于: 2009-03-09
刚刚做好个ad9851试验板,由于手头没有30mhz晶振,就暂时用moto拆机的16.8mhz有源晶振代替。现在通电,没有给程序,结果整机电流只有10ma,芯片除了电源和时钟端,其他脚电压都是0v,这样正常吗?????
离线代洪波
发帖
4809
只看该作者 1楼 发表于: 2009-03-09
没有送控制字是不会有输出的!另外你是用串行控制吗?
离线永远的FM
发帖
12113
只看该作者 2楼 发表于: 2009-03-10
昨天来不及回了。
使用串行控制,送数顺序和mb1504那类芯片相反的。后来写了个送固定频率程序给她送数,还是没反应。
是否晶振一定要用30mhz?
离线BG4UVR
发帖
11289
只看该作者 3楼 发表于: 2009-03-10
晶振当然不是必须使用30mhz了,仔细检查硬件的连接和程序的代码吧。
离线BG4EBC
发帖
17902
只看该作者 4楼 发表于: 2009-03-10
[quote=永远的fm]昨天来不及回了。
使用串行控制,送数顺序和mb1504那类芯片相反的。后来写了个送固定频率程序给她送数,还是没反应。
是否晶振一定要用30mhz?[/quote]

怀疑室2某个管脚虚焊什么的。。。
离线BG4EBC
发帖
17902
只看该作者 5楼 发表于: 2009-03-10
复位之后,即使代码送错,应该也会输出一个不可变动的频率吧?

我曾经有一个,10k复位电阻,老是必须交流关机之后才有50%机会开机成功;直流关机成功率更加低。后来把复位电阻由10k并联一个4。7k之后,问题基本解决了。
离线永远的FM
发帖
12113
只看该作者 6楼 发表于: 2009-03-10
!!!!我的复位端是直接接地的!
这个图是在diy板块的精华区里找到的。复位端是否要进行什么处理?
离线fujiachun
发帖
148
只看该作者 7楼 发表于: 2009-03-10
直接先用pc并口连上试试,然后在接单片机,这样比较容易判断
离线BG4EBC
发帖
17902
只看该作者 8楼 发表于: 2009-03-10
我在本坛找到的vu3cns dds2.0,复位电阻是3.9k,好像不是直接接地的。复位有一个积分延时过程的吧?

但是10ma的电流,应该是什么都没有工作。

还可以看一下datasheet,看推荐的电路如何的。
离线永远的FM
发帖
12113
只看该作者 9楼 发表于: 2009-03-10
复位电阻就是12脚外接那个电阻?
我的芯片reset端子是接地的,参考印度神油dds板子电路。现在芯片已经焊在板子上了,只能使用串行送数方式控制。。。。datasheet给的图纸留给我太多猜想,用不了。。
离线代洪波
发帖
4809
只看该作者 10楼 发表于: 2009-03-10
楼主搞好了吗?qq聊
离线永远的FM
发帖
12113
只看该作者 11楼 发表于: 2009-03-10
经过一轮调试后,dds总算有输出了。虽然现在只能输出个固定频率,不过暂时也够了。。
不过有个问题:芯片很难启动,通电后电流几乎0,送数要反复送几次,芯片才开始工作,现在时钟用12mhz,6倍频,输出频率15mhz,工作电流大概80ma。
离线bg8am
发帖
1444
只看该作者 12楼 发表于: 2009-03-10
12脚的电阻只影响输出的电流 iout,不是复位用的,22脚因为直接接地,对复位没有影响,问题在于我们开机的时候,要保证程序初始化后,要等一段时间,等dds初始化完毕后再送控制字进去,我的软件用下面的延时程序,delay(300)才能正常工作,delay(100)都不行,至于你说的不带程序要求其输出一个固定的频率,那估计就只能靠运气了,所以最好还是软件写好了再说。

void delay(uchar n)
{
uchar i,j;

for (i=0;i<n;i++)
{
  for (j=0;j<120;j++)
  {
  }
}
}
离线永远的FM
发帖
12113
只看该作者 13楼 发表于: 2009-03-10
'
12脚的电阻只影响输出的电流 iout,不是复位用的,22脚因为直接接地,对复位没有影响,问题在于我们开机的时候,要保证程序初始化后,要等一段时间,等dds初始化完毕后再送控制字进去,我的软件用下面的延时程序,delay(300)才能正常工作,delay(100)都不行,至于你说的不带程序要求其输出一个固定的频率,那估计就只能靠运气了,所以最好还是软件写好了再说。
'

我的dds现在是这样的:先给dds芯片通电,等一分钟后在给控制mcu上电,结果也是要很多次操作才有输出。
另外想问下,你说的dds初始化是指什么?从送数顺序看,是先送频率控制字(32位)再送8位设置控制字,那初始化是上电之后dds自己内部的调整吗?
离线bg8am
发帖
1444
只看该作者 14楼 发表于: 2009-03-10
[quote=永远的fm]我的dds现在是这样的:先给dds芯片通电,等一分钟后在给控制mcu上电,结果也是要很多次操作才有输出。
另外想问下,你说的dds初始化是指什么?从送数顺序看,是先送频率控制字(32位)再送8位设置控制字,那初始化是上电之后dds自己内部的调整吗?[/quote]
初始化只对数据脚,时钟脚,锁存脚的复位,如下代码

w_clk = 0;
fq_ud = 0;
w_clk = 1;
w_clk = 0;
fq_ud = 1;
fq_ud = 0;

这段代码后,还要等上我说的delay(300)才行
离线永远的FM
发帖
12113
只看该作者 15楼 发表于: 2009-03-10
搞定了!!!!果然就是这个问题!!!!!
谢谢bg8am !!!!
离线永远的FM
发帖
12113
只看该作者 16楼 发表于: 2009-08-27
这几天按照原来电路从新做了一块板,也是ad9851,程序用以前成功调试的一直在用的。但现在dds无法工作了。单给dds上电,电流有时30ma有时11ma;当启动程序后,电流保持33ma。如果用手按住dds数据端的接线部分,再启动单片机,电流能升到50~80ma之间(每次都不一样),有时有输出,但用频率计测不到稳定频率,调试很久找不出问题原因,现在人快崩溃了,请各路英雄们支招救小弟一把。。。。还有几天就比赛了,在这节骨眼上居然还要出问题。
离线BH7KQK
发帖
3425
只看该作者 17楼 发表于: 2009-08-27
只有三个可能
一:硬件问题。
二:软件问题。
三:以上两个都有问题。
离线BG7YDO
发帖
3654
只看该作者 18楼 发表于: 2009-08-27
用那一种接线模式,并行还是串行?我见别人用串行的时候,才三条线。
离线永远的FM
发帖
12113
只看该作者 19楼 发表于: 2009-08-27
已经解决问题!!!!一是加大送数延迟,二是复位端这样处理:
void dds_init(void)
{
clk_l;
le_l;
dell(200);
clk_h;
dell(200);
clk_l;
dell(200);
le_h;
dell(200);
le_l;
dell(200);
dds_disp();
clk_h;
dell(200);
clk_l;
dell(200);
le_h;
dell(200);
le_l;
}
在进行一次复位之后要送数一次,再复位就能工作,不需要硬件复位