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

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

上一主题 下一主题
离线大头
 
发帖
86
只看楼主 倒序阅读 0楼 发表于: 2006-01-05
ad9851实验不出正弦波,大家帮忙分析一下原因吧。谢谢!
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
离线hoguowi
发帖
55
只看该作者 1楼 发表于: 2006-01-06
这个程序是我自己写的,已经实验成功通过了.有源晶振是8m.单片机at89s52,单片机晶振是11.0592m
#include<reg52.h>
#include<stdio.h>
sbit out=p1^0; //out为ad9851的d7脚
sbit w_clk=p1^1;
sbit fq_ud=p1^2;
void input(unsigned char in_data);
void dalay_ms(unsigned char k );
void over();
void setup_ad9851();
main()
{


setup_ad9851();//设置串行模式,初始化


dalay_ms(3);//时间延时我随意写的,不是准确的3ms
/*我要的频率控制字为0x00104b80,先送低位再送高位,最后送相位控制,倍频控制为0x01*/
input(0x80); //w0控制字的低位
input(0x4b); //w1
input(0x10); //w2
input(0x00); //w3控制字的高位
input(0x01); //w4相位控制,倍频率开
over();
while(1);



}
void setup_ad9851()
{
w_clk=0;
fq_ud=0;
dalay_ms(3);

w_clk=1;
dalay_ms(3);
w_clk=0;
dalay_ms(3);

fq_ud=1;
dalay_ms(3);
fq_ud=0;

}

void input(unsigned char in_data)
{

unsigned char count;
unsigned char swap,swap_and;

swap=in_data;
count=8;
do{      
  swap_and=swap&0x01;
if (swap_and==0x01) {
                                   w_clk=0;
                                   dalay_ms(3);
                out=1;
                                   dalay_ms(3);
                                   w_clk=1;
                                   dalay_ms(3);
                     }
if (swap_and==0x00) {
                                   w_clk=0;
                                   dalay_ms(3);
                out=0;
                                   dalay_ms(3);
                                   w_clk=1;
                                   dalay_ms(3);
                                     }

swap=swap>>1;
count=count-1;
}while(count!=0);
 
 
}
void dalay_ms(unsigned char k )
{ unsigned char i,j;
for(i=0;i<k;i++){      for(j=0;j<200;j++);}

}

void over()
{

fq_ud=1;
dalay_ms(3);
}
离线大头
发帖
86
只看该作者 2楼 发表于: 2006-01-06
就是出不了正弦波!
1. 确认了ad9851芯片的焊接,引脚都连通,无虚焊,相邻引脚无短路;
2. 换了块ad9851芯片;
3. 换了有源晶振;
4. 整流5v电源换为电池5v电源;
5. 电源加了退偶电容(电解与瓷片并连);
6. 51程序是依据ad9851的datasheet的串行时序写的;

就是出不了正弦波!
要不就0v输出,要不就0.5v满输出。
实验中发现,将整流电源开开关关,有时偶然会使ad9851输出正弦波,但不是所期望的频率。
离线大头
发帖
86
只看该作者 3楼 发表于: 2006-01-06
好的,今天按照您的程序再实验一下,谢谢!
'
这个程序是我自己写的,已经实验成功通过了.有源晶振是8m.
'
好的,今天按照您的程序再实验一下,谢谢!
离线BD7RC
发帖
3283
只看该作者 4楼 发表于: 2006-01-06
呵呵,你这家伙跑到这里来了,不错。

30m的晶振你直接到我这里来拿吧。


[quote=hoguowi]这个程序是我自己写的,已经实验成功通过了.有源晶振是8m.单片机at89s52,单片机晶振是11.0592m
#include<reg52.h>
#include<stdio.h>
.......quote]
离线hoguowi
发帖
55
只看该作者 5楼 发表于: 2006-01-06
'
呵呵,你这家伙跑到这里来了,不错。
30m的晶振你直接到我这里来拿吧。
[quote=hoguowi]这个程序是我自己写的,已经实验成功通过了.有源晶振是8m.单片机at89s52,单片机晶振是11.0592m
#include<reg52.h>
#include<stdio.h>
.......quote]
'
好的谢谢老师了, 今天早上刚去过您实验室哦,这几天老师是不是都在实验室带03级的做课程设计呀!
离线BD7RC
发帖
3283
只看该作者 6楼 发表于: 2006-01-06
这段时间都在学校泡03级的课程设计,已经泡了几个通宵了。今早我去监考。

多来这里转转,这里的朋友和环境不错。

有空搞下ad9851/ad9951的频率控制字,如果能给大家共享一下最好。



'
[quote=bd7rc]呵呵,你这家伙跑到这里来了,不错。
30m的晶振你直接到我这里来拿吧。
[表情] 好的谢谢老师了, [表情] 今天早上刚去过您实验室哦,这几天老师是不是都在实验室带03级的做课程设计呀!
'
离线大头
发帖
86
只看该作者 7楼 发表于: 2006-01-06
[quote=大头]好的,今天按照您的程序再实验一下,谢谢![/quote]
我按照您的程序仍然不出正弦波。
离线hoguowi
发帖
55
只看该作者 8楼 发表于: 2006-01-06
[quote=大头]我按照您的程序仍然不出正弦波。[/quote]
我这个是有源8m晶振,输出大概12k的正弦波!
要不你就看看硬件电路有什么问题!程序是没有什么错的呀!我调了好多次输出实际频率都和程序要的频率预期的一样的!
离线bg5in
发帖
6644
只看该作者 9楼 发表于: 2006-01-06
你用什么看的波形?????
离线菠萝蜜
发帖
4728
只看该作者 10楼 发表于: 2006-01-06
即使频率不对,这芯片也只能输出正弦波吧?
离线大头
发帖
86
只看该作者 11楼 发表于: 2006-01-06
'
你用什么看的波形?????
'
fluke 200mhz 数字示波器
离线bg6qbt
发帖
7265
只看该作者 12楼 发表于: 2006-01-06
是不是硬件有问题啊
包括多了,主要是ad9851的焊接问题,要仔细查查....
离线bd7rf
发帖
10148
只看该作者 13楼 发表于: 2006-01-06
楼主的图解不错,哪里出的?学习学习
离线BG7TBL
发帖
2965
只看该作者 14楼 发表于: 2006-01-06
把9851 rst引脚接到单片机i/o口,由单片机控制芯片复位!
离线张璕
发帖
65
只看该作者 15楼 发表于: 2006-01-06
应该不至于呀,您每次输出的信号用频率计测试漂吗(如果与所写的不频率相同,是否能稳在一个频率上)?最好在看看有源晶体(用示波器看看波形)?如果有条件的话拍点波形照片上来,这样大家能更好的帮助您的!
离线BD5UYW
发帖
4657
只看该作者 16楼 发表于: 2006-01-06
'
楼主的图解不错,哪里出的?学习学习
'

对对,同样感兴趣
离线大头
发帖
86
只看该作者 17楼 发表于: 2006-01-06
'
楼主的图解不错,哪里出的?学习学习
'
电路原理图是dxp画的
控制字图是excel画的
时序图是截的datasheet的
51程序图是excel画的
控制字计算图是截的adi网站上的
layout图是excel画的

都是在工厂受鬼子的熏陶而成------尽量多用图、少用字,来表达意思,让人一目了然。
与鬼子的相比还差很远呢。
离线大头
发帖
86
只看该作者 18楼 发表于: 2006-01-06
[quote=张璕]应该不至于呀,您每次输出的信号用频率计测试漂吗(如果与所写的不频率相同,是否能稳在一个频率上)?最好在看看有源晶体(用示波器看看波形)?如果有条件的话拍点波形照片上来,这样大家能更好的帮助您的![/quote]
好的,明天上波形图。谢谢您!
离线bd7rf
发帖
10148
只看该作者 19楼 发表于: 2006-01-07
[quote=大头]电路原理图是dxp画的
控制字图是excel画的
时序图是截的datasheet的
51程序图是excel画的
控制字计算图是截的adi网站上的
layout图是excel画的

都是在工厂受鬼子的熏陶而成------尽量多用图、少用字,来表达意思,让人一目了然。
与鬼子的相比还差很远呢。[/quote]
你简直是天才
你的程序比较长,但比较易懂。成都的代洪波先生给我的程序用移位的方法把数据发出去。