AD9852电路图,请大家看看接法是否行得通!
毕业设计是拿AD9852做个信号发生器但是板子做回来总是驱不动!有个问题我用STM32来做控制器如果先插STM32开发板的电源然后再开DDS板子的电源,DDS芯片就烫的厉害,供电电源从3.3V降到1.7V,很是奇怪!我把DDS电路图发上来,请好心的网友帮忙看看有啥问题!小弟不胜感激!http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_550827.png
(原文件名:截图1272681146.png) 照着datasheet原理图接好了
你这个图我好像见过,是你自己画的么?
AD9852通常工作状态在0.3-0.6A左右
可能你电源不好
另外,刚上电时候电流很小,只有等你写入了控制字后,他才有0.3A的电流。 http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_550829.png
(原文件名:截图1272681982.png)
这是电源电路 7905管脚标错,实际板子更正了 对 有一点比较重要,updata clock 要加个限流电阻的 要不一直复位 http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_550830.png
(原文件名:截图1272682173.png)
这是后级放大电路 限流电阻在也加了,现在有个问题就是,只要在AD9852的IO口先加一个高电平,再接通板子电源他就会很烫! 你电源不够 换1117吧 78系列电流很小的吧 看错编辑掉 还有个问题,IOUT2的输出和IOUT1除了多了一个可控制幅度外,其他功能都一样吧 IOUT2 是DAC输出 12位DAC 那是作为输出!给AD9852供电 那他能够输出FTW控制字设定的正弦波不 7805是500ma的 12V 到 3.3V 压差太大了 算0.3A的电流
那么耗散是 0.3*(12-3.3)W
肯定发热大 回复【12楼】qzxboy
那他能够输出ftw控制字设定的正弦波不
-----------------------------------------------------------------------
不行 只有iout1 可以 这是本科毕业设计么? 是9V到3.3的,最主要是我控制板和DDS板加电源的顺序不一样,情况就不一样!这个问题哎很难办!我第一次做这样的板子!看pcb上也没有短路啊! rayz82 大哥要不我把PCB工程给你发过去您帮我看看有什么不对? 对啊,现在很头疼! 哦,那我先把它接到IOUT1上试试 我出门了……只能手机回帖帮你看看了。我建议你先用稳压电源供电,看电流判断工作状态。 对于片子,我给他上电初始化后,IOUT2接50欧的电阻测电压是210.8mv,我设定的DAC输出Imax是8ma多一点,从这里看AD9852还没被我烧坏吧 哦,好谢谢你了!! 当时我做的时候也好痛苦,那个限流电阻没加,不停地复位……崩溃了都 。应该是上电,先复位,之后应该有300左右毫安电流,你单步调一下把。 恩,我现在马上,去实践!弄得5.1都没时间出去 一般研究生做这东西的多,指标高点,不知道你什么指标。 指标嘛,是我自己定的,输出正弦波频率在1Hz-10Mhz可调,幅度可调1-3Vpp。对于其它波形都可以拿程序来实现嘛。大学四年,最后想给自己来个挑战性的课题!没想到给难住了!呵呵 频率跟幅度都好做,你要有信心。 又重新焊了一块板子,再没出现片子过热问题!上电后,电流只有70ma。但更新时钟始终是作为输出频率为153.7KHz,接法按rayz82大哥的方法串接了一个1K的电阻,请问热心的网友们,AD9852初始化时应该按怎样的步骤? 先复位,然后写控制字。 rayz82大哥还在啊,我的程序下面。
void Init_AD9852( )
{ //////////////IO口初始化///////////////////////////
UDCLK_L();
WR_H();
RD_H();
FDATA_H();
ORAMP_H();
AD_PORT=0x0000;
DATA_PORT=0x0000;
RESET_L();
RESET_H();
Delay_ms(10);
RESET_L(); //硬件复位
///////////////////////////
Set_AD9852(0x1D,0x00) ; // 关闭比较器
Set_AD9852(0x1E,0x45) ; // 设置5倍频 5X20M
Set_AD9852(0x1F,0x00) ; // 设置模式0,及外部更新
Set_AD9852(0x20,0x00) ; // 关闭OSK
Delay_ms(1);
}
void Set_AD9852(unsigned char ADDR,unsigned char DATA)
{ WR_L();
AD_PORT=ADDR;
DATA_PORT=DATA;
WR_H();
//Delay_us(100);
WR_L();
//Delay_us(100);
} 这个程序不行么?
我用的是SPI接口的,并行的没用。 不行,Update Clock 似乎总是输出,我测它的频率是150多K,我想问下它在复位后,然后写控制寄存器 1D,1E,1F,20这几个地址,它们的更新是否是由内部更新。 我想,是不是我的时钟,直接上电就加在ad9852上,这个有点不妥 回复【33楼】qzxboy
-----------------------------------------------------------------------
乔总工,走,吃饭去! 有点进展,电流上300ma了,初始化似乎成功 你仔细看datasheet,他默认是内部更新的。 回复【35楼】qzxboy
有点进展,电流上300ma了,初始化似乎成功
-----------------------------------------------------------------------
我有点忘记 貌似复位一下就上300了。。。 波形出来了,是初始化后电流上300mA,之前没出波形是我一直拿万用表测频率的!换了示波器波形就出来了!rayz82 大哥说的对,是我的电源设计有问题,7809输出电流不能满足DDS的需求,DDS初始化后电流增大,迅速把7809的电压拉至1.7V!请问大家有没有输出电流比较大,输出幅值在9V-5V之间的DC-DC芯片. http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3708446&bbs_page_no=3&bbs_id=1030
帮你找了一下DC-DC的。 ad9852发热非常厉害,我用300MHz内部时钟,IOUT1输出100MHz时电流到0.8A多,热到都能煮熟鸡蛋了! 回复【4楼】rayz82
对 有一点比较重要,updata clock 要加个限流电阻的 要不一直复位
-----------------------------------------------------------------------
updata clock是IO口;如果用内部更新,该脚是输出口,如果用外部更新,该脚是输入口.
一般调试时候都会串个电阻,避免连接到该脚的MCU设置为输出口时,造成MCU或者是AD9852损坏. 大家好,小弟最近在做AD9852,我用的是SPI口,有个疑问,Update Clock 默认是内部更新,通过控制字更改为外部更新,而写控制字的时候,是否在Update Clock更新之后才会生效。如果是这样的话,控制字的写入是怎样一个过程?以及怎样控制时序,谢谢!! Update Clock更新之后才会生效,写入控制字时最好能断开系统时钟! mark 引用图片【楼主位】qzxboy
-----------------------------------------------------------------------
http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_550827.png
(原文件名:截图1272681146.png) 这个芯片本来功耗就大1 用SPI写成功之后,再次配置的时候会不定期的烧芯片,已经烧了2个了,哭死!想问下除了在IOupclock管脚加了1K欧的电阻外,别的串口控制需要的管脚是否也应该加限流电阻?电源方面我把模拟电源和数字电源没有分开接,是否也有可能是烧芯片的原因? 回复【楼主位】qzxboy
-----------------------------------------------------------------------
楼主:贴片的散热片你是怎么装的??还有,这个功耗这么大。出来的波形 很牛逼么?? 我是准备电子设计竞赛的, 刚好也要做一块信号发生器,学习了好多细节问题!
页:
[1]