AD9854数字合成器是高集成度的器件,它采用先进的DDS技术,片内整合了两路高速、高性能正交D/A转换器通过数字化编程可以输出I、Q两路合成信号。在高稳定度时钟的驱动下,AD9854将产生一高稳定的频率、相位、幅度可编程的正弦和余弦信号,作为本振用于通信,雷达等方面。
AD9854的DDS核具有48位的频率分辨率(在300M系统时钟下,频率分辨率可达1uHZ)。输出17位相位截断保证了良好的无杂散动态范围指标。AD9854允许输出的信号频率高达150MHZ,而数字调制输出频率可达100MHZ。通过内部高速比较器正弦波转换为方波输出,可用作方便的时钟发生器。
ad9854项目
该项目是个扫频源项目,要求25M-70M扫频输出,1M步进,3MS完成转换,30dB以上的杂散,相噪无硬性要求。说到这里大家看出来了,这是个功能性的项目,对指标的要求是比较低的。
那么,直接上DDS吧,选一款DDS芯片再说,…。.AD9851??
呃,这是个什么鬼呢,datasheet的general description部分说了,带高精度DA转换器和比较器,可用作频率综合器和时钟产生器哦亲,32bit频率控制字,0.04Hz精度,最大180M参考时钟哦亲,内部还带6倍频器哦亲,哎,真是居家旅行必备神器啊,好吧那就是你了。
控制部分就简单了,51就搞定了。直接上图吧
上面就是控制板的PCB
为什么要做成两块板子呢,因为做之前觉得单片机的12M晶振谐波可能比较大,做一块板子的话怕泄露比较厉害,落到输出带内,形成比较严重的杂散,做完之后发现,这个问题就好像小时候纠结是上北大还是上清华一样,想多了!
DDS核心板,主要是DDS+低通滤波器,低通滤波器怎么办呢,上ADS仿一个吧,FILTERDESIGN GUIDE还是好用的,下面是个仿真的响应,凑合着用吧
DDS板的PCB
再来一个全家福
好,大功告成。最后,看看测试结果吧,先看个25M的,这个点杂散就比较好了,但是二阶,三阶谐波就比较大
再来个41M的,杂散一片
下面总结下调试过程中遇到的问题:
1. AD9854打寄存器有并行和串行时序两种方式,这两种方式是通过S/P这个引脚切换的,当其为高时为并行时序,低时为串行时序,这个需注意;
2. AD9854有个update信号,干什么用的呢?其实当我们通过串口或并口给DDS打数时,先是送到了IO_BUFFER里面,然后靠一个update信号送给DDS的核,才完成了控制字的真正写入。接下来的部分有点绕了,我说的啰嗦一点:这个update信号可以是外部输入的,也可以是内部生成的,这个是通过改变控制寄存器的某个控制位达到的,上电之后默认是内部生成的,内部怎么生成呢,他是让一个计数器倒计时,计时到0之后输出一个更新脉冲,这个计数器的初始值也是通过一个寄存器写入的。一般来讲,大家喜欢自己输入UPDATE脉冲,或者至少需要调整计数器初始值让这个脉冲输出周期满足自己的时序需求。
那么这就陷入了一个鸡生蛋核蛋生鸡的怪圈:我要让update信号满足我的时序要求,就要写入寄存器,要写入寄存器就需要满足我时序要求的UPDATE信号,而系统默认的内部update信号,周期是固定的,但是会在你需要的时候出现吗,不知道!这时候有人提出了一种解决办法,不可否认逻辑上是很严谨的,那就是这个系统内部默认的update信号一定是外部提供系统时钟的时候才会按照默认周期出现的,而IO口线的串行或者并行操作是不需要系统时钟的,那么先将提供系统时钟的晶振暂停,等到IO操作完毕后再提供晶振,那么一定是满足时序的。
这样就需要一个带使能开关的晶振,想来想去怎么会有如此不人性化的芯片,简直比“证明你爸是你爸”还要不人性。经过本人的实验,这个步骤是多余的,第一次写入寄存器,不管进行调整成外部更新脉冲还是调整内部更新脉冲周期的寄存器操作,默认的内部UPDATE信号会合适的把寄存器内容打入内核的,具体内部操作原理咱不清楚,但是ADI的设计人员显然考虑到了这一点。值得注意的是,update信号是可以通过一个管脚输出的,通过改变内部计数器的数值观察update信号周期是否相应改变是一个判断AD9854芯片是否正常的一个重要手段。
3. 调试过程中遇到过这样一个问题,比如当需要输出50M信号的时候,在频谱上不止50M有输出,附近还有一片频谱。当时看到这个情况的时候第一眼是觉得这个信号是被脉冲调制了,检查程序无此可能,后又怀疑芯片虚焊,重新焊接后问题仍然存在,最终发现原来是因为芯片外部的环路滤波的电容值不对,这个芯片对输入的晶振可以倍频的,这样可以实现外部提供较低频率实现较高频率的信号输出,而这个倍频是通过锁相实现的,锁相的环路滤波需要在外部提供,当电容值不合适时,锁相环失琐,就造成了上述问题。
4. 刚才说到可以通过改变内部计数器的数值观察update信号周期是否相应改变是一个判断AD9854芯片是否正常,其实还有一个更简单粗暴的手段,就是用手摸,AD9854功耗较大,发热很厉害,看看下面的图吧,电流630ma,还没开反sinc函数滤波器,开了之后电流还会增加接近一倍。用手摸摸吧,闻到烤肉味就对了。
总的来说,这个芯片调试过程还是比较简单的,仔细看datasheet,应该能解决绝大多数问题,当然我没有用各种调制等复杂功能,本文就当抛砖引玉了
评论
查看更多