ADI公司推出的一系列DDS芯片中,最高性能的莫过于AD9858及后续的AD9910/AD9912了。AD9858是早期的产品,其特点是输出功率大,并带有RF混频等功能,缺点是D/A转换位数低,杂散比较大。AD9910则有不少改进,本人在使用过程中有一些心得体会,拿出来与大家分享。对于初次使用者来说,AD9910繁多的寄存器设置常常让人摸不着头脑,而ADI工程师总是推荐参考评估软件的寄存器设置。那么,能不能用官方的评估软件直接配置自己的硬件电路呢,回答是肯定的。ADI官方提供了评估板的全部设计资料,包括用户手册、硬件电路原理图、PCB/Gerber文件、评估软件及源代码。给使用者评估芯片性能提供了极大的方便。如果你的设计中是采用FPGA/CPLD+AD9910的设计,那么恭喜你,只需很小的成本即可享受官方评估软件带来的便利。首先来认识一下官方评估板的硬件设计。为了让用户充分评估AD9910的性能,官方评估板采用USB+CPLD+FIFO+AD9910的结构。其中CPLD及FIFO主要用于评估ParallelDataPortModulation模式,不是本文的重点。评估板的原理框图如下图所示。USB接口芯片采用CY7C68013A,是Cypress公司推出的EZ-USBFX系列第二代USB接口芯片,支持USB2.0规范,内部由8051核、SIE引擎及FIFO构成。支持Re-Numeration模式,支持固件在线下载。EPM240是Altera公司的复杂可编程逻辑器件CPLD,用于控制FIFO的读写以及其他一些控制信号的控制。IDT72v285是IDT公司的同步FIFO,容量为32Kx18。AD9910评估板实物图如下所示。也许有人不禁要问,即使知道了硬件的详细设计,但是没有USB固件及CPLD程序,如何使用呢?巧妙之处便在这里,前面说过,CY7C68013A支持Re-Numeration,支持在线下载固件,而ADI官方提供的评估软件和驱动恰好使用了该特性对固件进行下载,也就是说,CY7C68013A的固件是存放在评估软件里面,当评估板通过USB接口与PC连接时自动下载到芯片中,与之连接的EEPROM(24LC00)仅保存了硬件ID信息。那么,如何让自己的硬件电路中使用官方的评估软呢,方法如下。在设计中,采用CY7C68013A+FPGA/CPLD+AD9910的结构。也就是在原设计的基础上,增加USB接口芯片CY7C68013A,并将其地址线、数据线以及控制信号线与FPGA(或CPLD)相连接,而AD9910相关的控制信号线也与FPGA/CPLD相连,充分利用FPGA/CPLD可编程的特点实现CY7C68013A对AD9910的配置。我的原理图如下所示。原理图中红色的网络标号均与FPGA连接,由于FPGA的连接比较简单,图中未给出。硬件设计完成后,还需要软件上做哪些工作呢,主要有三:1、安装评估软件及驱动;2、写入硬件ID,0x0456&0xEE0C;3、配置FPGA完成上述三个步骤后,将硬件与PC连接,即可通过官方的评估软件对AD9910进行评估,比如单音频信号、线性调频信号等。我在同一块板子上还实现了FPGA+D/A的信号源,D/A转换器采用的是AD9736。通过对比发现,AD9910产生的信号比采用的信号要好10dB左右。很遗憾做实验时未将频谱截图对比。我用示波器抓取了部分SPI读写时许,以供参考。图中红线为时钟SCLK,蓝线为片选是能CSB,黄线为数据SDIO。后记:本文中所述方法不局限于AD9910,ADI公司其他一些DDS芯片同样适用,比如AD9912/AD9957,以及时钟芯片AD9518等。