系统主要是由FPGA向AD9959发送命令,从而输出相应的信号,对于AD9959的控制主要是通过串行总线SCLK和SDIO来实现的,其中SCLK的最大时钟速度可以达到200 MHz,AD9959可以通过SDIO的4根数据线(SDIO 0~SDIO 3)同时进行数据传输,从而可以使数据吞吐量变为800 Mb/s,以前ADI公司的DDS产品有并行和串行两种控制模式,比如AD9850,而AD9959这种SPI控制模式,无疑是更加简洁,对于用户控制而言也更加方便。AD9959有4种串行控制传输模式,分别是Single-Bit Serial(2 and 3-wire)Modes,2-Bit Serial Mode,4-Bit SerialMode。AD9959四个输出通道共享寄存器0x03~0x18,这种寄存器地址共享模式,能够使4个通道同时写入控制字。例如要使AD9959的4个通道都输出某个频率,只需要通过串行总线向AD9959写入一次即可。如果使4个通道互相独立操作,可以通过通道选择寄存器(CSR)进行选择。
AD9959的串行工作模式都工作于寄存器级传输,而不是字节级传输。但是AD9959提供的SYNC I/O功能可以中断I/O操作,这种模式可以使寄存器的某个字节进行设置,从而减少了设置时间。所有指令都是在SCLK的上升沿写入,而在SCLK的下降沿读出的。在本文所设计的雷达信号源中,对于AD9959的控制模式采用了Single--Bit Serial 2-wire Mode,在这种工作模式下,AD9959使用SDIO 0作为数据传输管脚,要使AD9959工作于这种模式,可以将CSR寄存器中的CSR&;2:1>设置为00即可。在Single-Bit Serial 2-wire Mode传输模式下,支持MSB优先和LSB优先两种模式。