论坛风格切换切换到宽版
  • 11520阅读
  • 56回复

AD9851实验不出正弦波,大家帮忙分析一下原因! [复制链接]

上一主题 下一主题
离线大头
发帖
86
只看该作者 20楼 发表于: 2006-01-07
有源晶体的波形
[quote=张璕]应该不至于呀,您每次输出的信号用频率计测试漂吗(如果与所写的不频率相同,是否能稳在一个频率上)?最好在看看有源晶体(用示波器看看波形)?如果有条件的话拍点波形照片上来,这样大家能更好的帮助您的![/quote]
有源晶体的波形 fluke 200mhz示波器所测。
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
离线代洪波
发帖
4809
只看该作者 21楼 发表于: 2006-01-07
看你电路图,有源晶体到dds没有用电容隔离吧?那个电容不用吗难道?
离线大头
发帖
86
只看该作者 22楼 发表于: 2006-01-07
[quote=代洪波]看你电路图,有源晶体到dds没有用电容隔离吧?那个电容不用吗难道?[/quote]
实际上我也串了电容(103的瓷片)试过的。串电容后,ad9851的refclk脚的波形与不串电容几乎无变化(峰值电压与谷值电压几乎无变化)。
离线张璕
发帖
65
只看该作者 23楼 发表于: 2006-01-07
[quote=大头]有源晶体的波形 fluke 200mhz示波器所测。[/quote]
我个人认为有源晶体问题不大,只是不知道您的dds现在合出的信号是什么样子;以下是我做的dds及测试用的最小化系统的图纸,上传上来供您参考!
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
离线bg5har
发帖
315
只看该作者 24楼 发表于: 2006-01-07
[quote=大头]实际上我也串了电容(103的瓷片)试过的。串电容后,ad9851的refclk脚的波形与不串电容几乎无变化(峰值电压与谷值电压几乎无变化)。[/quote]
只把9851的供电降到3.6~3.9v,其他的元件电源电压不变
有无改善?
离线张璕
发帖
65
只看该作者 25楼 发表于: 2006-01-07
以上用的芯片是ad9850有源晶体是125mhz 但是电路通用于ad9851,以下是它的简易测试程序(测试时用的是串行通讯,图中画的是并行),通过测试,使用ad9851时控制字与置频率字略有差异,用频率计测量输出很准,示波器观测波形很干净。
#include <at892051.h>
#include <intrins.h>

sbit dds_data = p1^0;
sbit dds_wclk = p1^1;
sbit dds_fqud = p1^2;   //dds线位地址

unsigned long freq_word = ;//频率控制字

void dds_set_freq ()
{
  unsigned char byte_temp;

      _nop_(); _nop_(); _nop_(); _nop_();
      dds_fqud = 0;
  _nop_(); _nop_(); _nop_(); _nop_();
  dds_wclk = 0;
  _nop_(); _nop_(); _nop_(); _nop_();

  for ( byte_temp = 0; byte_temp < 32; byte_temp++ )
  {
      freq_word = freq_word >> 1; dds_data = cy;
      dds_wclk = 1;
      _nop_(); _nop_(); _nop_(); _nop_(); //实际应用应在延迟
      dds_wclk = 0;      
  }
  for ( byte_temp = 0; byte_temp < 8; byte_temp++ )
  {
      dds_data = 0;
      dds_wclk = 1;
      _nop_(); _nop_(); _nop_(); _nop_();
      dds_wclk = 0;      
  }
 
  dds_fqud = 1;
  _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
  dds_fqud = 0;
}

void main( void )
{
  dds_set_freq();
      while(1);
}
离线大头
发帖
86
只看该作者 26楼 发表于: 2006-01-07
'
只把9851的供电降到3.6~3.9v,其他的元件电源电压不变
有无改善?
'
您说的意思是把ad9851的dvdd(数字电源)、avdd(模拟电源)、pvcc(6倍频器电源)降到3.6~3.9v吗?
另外,请您解说一下为什么要这样做。
我将试验一下。
谢谢!
离线大头
发帖
86
只看该作者 27楼 发表于: 2006-01-07
[quote=张璕]我个人认为有源晶体问题不大,只是不知道您的dds现在合出的信号是什么样子;以下是我做的dds及测试用的最小化系统的图纸,上传上来供您参考![/quote]
谢谢张璕!
关于我的dds现在合出的信号是什么样子,我将继续上波形图。
离线大头
发帖
86
只看该作者 28楼 发表于: 2006-01-07
[quote=张璕]以上用的芯片是ad9850有源晶体是125mhz 但是电路通用于ad9851,以下是它的简易测试程序(测试时用的是串行通讯,图中画的是并行),通过测试,使用ad9851时控制字与置频率字略有差异,用频率计测量输出很准,示波器观测波形很干净。
[/quote]
真的是谢谢张璕了。
我决不灰心,一定要出期望频率的正弦波。
离线大头
发帖
86
只看该作者 29楼 发表于: 2006-01-07
'
把9851 rst引脚接到单片机i/o口,由单片机控制芯片复位!
'
请问一下具体的时序
离线张璕
发帖
65
只看该作者 30楼 发表于: 2006-01-07
[quote=大头]真的是谢谢张璕了。
我决不灰心,一定要出期望频率的正弦波。[/quote]
别客气,希望资料能够对您有用;其实咱们玩diy的都是在做着自己的探索与尝试,都希望自己的作品能取得最好的效果,为此可能会经历多次失败,可是正当成功来临的那刻才是我们最高兴的,此后也便在成功中体会到成功的不易与探索的艰辛和失败的必要与教训,心中便有一种成就感尤然而生,这也便是diy带给我们的快乐!我忠心祝愿您早日取得成功!
顺便问一下dds芯片会不会击穿了?
离线大头
发帖
86
只看该作者 31楼 发表于: 2006-01-07
'
包括多了,主要是ad9851的焊接问题,要仔细查查....
'
焊接上感觉应该无问题,因为仔细确认过ad9851芯片的焊接,引脚都连通,无虚焊,相邻引脚无短路。换过ad9851芯片也不行。

我现在怀疑是否电源与地的干扰的原因,dvdd与dgnd(数字电源与数字地)、avdd与agnd(模拟电源与模拟地)、pvcc与pgnd(6倍频器电源与其地)是否要分开接而不能直接并接?

“实验中发现,将整流电源开开关关,有时偶然会使ad9851输出漂亮的正弦波,但严重不是所期望的频率”,这又是为什么?
离线bg5har
发帖
315
只看该作者 32楼 发表于: 2006-01-07
[quote=大头]焊接上感觉应该无问题,因为仔细确认过ad9851芯片的焊接,引脚都连通,无虚焊,相邻引脚无短路。换过ad9851芯片也不行。

我现在怀疑是否电源与地的干扰的原因,dvdd与dgnd(数字电源与数字地)、avdd与agnd(模拟电源与模拟地)、pvcc与pgnd(6倍频器电源与其地)是否要分开接而不能直接并接?

“实验中发现,将整流电源开开关关,有时偶然会使ad9851输出漂亮的正弦波,但严重不是所期望的频率”这又是为什么?[/quote]
这个就是为什么说试一下把电压降低看看,您在关电源的时候,就是把电源电压降低了,但没有保持在那个范围,而是直接到零了,开的时候也是一样,电压有个升高的过程,如果您一定问为什么,对不起我也不知道,我是用dds测试软件控制dds的,发现在正常电压下dds不能正常工作,只有把电压降低才可以,但是不是全段输出都正常。
离线bg2gn
发帖
983
只看该作者 33楼 发表于: 2006-01-08
这才是真正讨论的帖子,我喜欢看。祝早日成功!!最好到时有心得给大家学习,73!!
离线张璕
发帖
65
只看该作者 34楼 发表于: 2006-01-08
您如果怀疑电源有干扰,可以把示波器探极挂到电源上看看是否有噪声波纹。
离线张璕
发帖
65
只看该作者 35楼 发表于: 2006-01-08
您用的是什么型号的mcu,我突然想起我diy的那块最小化测试板当初也是置频出现问题,结果在dds芯片与mcu通讯端口之间加入了10k的上拉电阻问题才得以解决(串行通讯需要,并行通讯直接连接即可),只是当时当成了一个小插曲,没有深究,今天提出来供大家研究、参考。
我用的mcu是at89c2051端口是p1.0、p1.1、p1.2。
离线BA5DA
发帖
8437
只看该作者 36楼 发表于: 2006-01-08
在mcu和ad9851的三根数据传输口上对地并1000p电容试试看.我先前做的和你的问题是一样的.并上电容就好了.我的mcu是16f628.
离线bg5cvc
发帖
1106
只看该作者 37楼 发表于: 2006-01-08
[quote=张璕]您用的是什么型号的mcu,我突然想起我diy的那块最小化测试板当初也是置频出现问题,结果在dds芯片与mcu通讯端口之间加入了10k的上拉电阻问题才得以解决(串行通讯需要,并行通讯直接连接即可),只是当时当成了一个小插曲,没有深究,今天提出来供大家研究、参考。
我用的mcu是at89c2051端口是p1.0、p1.1、p1.2。[/quote]
at89c2051端口p1.0、p1.1内部是没有上拉电阻的,所以必须外加。
离线BG6AGB
发帖
915
只看该作者 38楼 发表于: 2006-01-08
'
at89c2051端口p1.0、p1.1内部是没有上拉电阻的,所以必须外加。
'

没错,不然里面的运放就白设了。。。
离线大头
发帖
86
只看该作者 39楼 发表于: 2006-01-08
[quote=张璕]您用的是什么型号的mcu,我突然想起我diy的那块最小化测试板当初也是置频出现问题,结果在dds芯片与mcu通讯端口之间加入了10k的上拉电阻问题才得以解决(串行通讯需要,并行通讯直接连接即可),只是当时当成了一个小插曲,没有深究,今天提出来供大家研究、参考。
我用的mcu是at89c2051端口是p1.0、p1.1、p1.2。[/quote]
我用的mcu是at89c52,端口是p1.0、p1.1、p1.2。
at89c52的p1端口全部都有内部上拉电阻,都可以输出高电平,应该不用外接上拉电阻吧。