AD9910是ADI提供的一款DDS,由于以前项目一直使用的是AD9858,一直想用新的器件替换掉(虽然在别人眼里AD9910也算是老掉牙的器件),对于我来说没用过就是新的,也因为没用过对我来说是困难重重,由于手头参考资料少,网络大多数资源参考价值少,可能这种器件受行业范围限制,不会有那么多信息提供,本人不才,在项目中遇到好多的问题,一步步走来,我想把我工作中遇到的问题分享出来,以供大家参考,有些不对地方烦请指正,废话不多说,开始吧
硬件篇
由于PCB板面积限制没有加并行连接端口,也就是说,所以就不能实现并行数据端口调制模式。
图1AD9910原理图
根据图片中编号加以说明:
1.输出信号,就是你要产生的信号,官方给的原理图在这部分做了低通滤波,我这外部有滤波器就取消掉了,更具实际项目而定。
2.这部分是AD9910的参考时钟输入,也就是说你要输出的频率的参考源来自这里,也就是官方文档的第一句话
也就是说AD9910内部最高支持1G输入,根据奈奎斯特定理(我也仅仅是知道个人名,写出来装个逼),所以高达400MHz输出,我用的是外部直接输入1G,然后产生200MHz的调制信号,如果是采用我这种直接驱动方式,95管脚XTAL_SEL就得接AGND,另外一种晶体驱动没用过。
还有个比较重要的地方就是,输出信号一定要有外屏蔽,像我这种直接将输出信号搭到焊盘上,由于腔体之间的缝隙就会有输入信号串扰进来,导致输出有很大杂散,推荐接头如图3
图3 SMA接头推荐
3.这就是95管脚XTAL_SEL,我就是画原理图是没注意,在这地方弄错了,接到1.8V上了,接地就好了
4.官方这么写的,我就这么画了,其实我的理解就是,pin3管脚和别的管脚单点连接,也不知道有啥用。
5.外部环路滤波,我是直接驱动,所以没有用到。
6.电源的滤波电容,注意将数字地与模拟地单点用磁珠单点连接
注:千万不要开关电源,供电如下,我用两个LT1963分别提供AVDD和DVDD 1.8V
然后再用AMS1117分别提供AVDD和DVDD 3.3V
软件篇