3.2 AD9857串口通信
AD9857串口的一个通信周期由两个阶段组成, 如图3所示。第一阶段是指令周期, 是对AD9857的指令字节的写入。指令字节为AD9857的串口控制提供有关数据传输周期的信息, 数据传输周期就是整个通信周期的第二个阶段。指令字节确定即将到来的数据传输是读还是写、数据传输的字节数以及传输的第一个字节的寄存器地址。每个通信周期的前8个SCLK上升沿用来写AD9857 的指令字节, 其余SCLK上升沿是为了通讯周期的第二个阶段, 即AD9857与系统控制器间的数据传输。
3.3 AD9857内部寄存器
AD9857内部寄存器地址为00h~19h,每个地址存8bit数据。从02h~19h共分为4组相同结构的寄存器,每一组6字节,其中存储DDS的频率控制字,可编程插值滤波器的插值倍数,输出信号幅度的放大因子。00h和01h这两个地址是公用的,包括对AD9857的工作模式、高低位优先、锁相环倍频数、串行口工作模式、自动节能、溢出控制处理和失锁处理等运行方式的设置。用户通过对这些寄存器的设置使AD9857工作在所需要的方式下。
4 系统实现及仿真
4.1 硬件结构
由于AD9857是一个可编程的D/A上变频芯片,因此利用单片机和FPGA都可以实现对它的配置。本系统采用FPGA实现COFDM调制,因此用FPGA去配置AD9857的话,不仅可以节省电路板空间,而且还比较适于调试。
后会产生一个PDCLK返回FPGA,可以使用该时钟把经过信道编码调制的I、Q两路数据送入AD9857进行正交调制。
在设计PCB电路板时一定要注意AD9857的数字地和模拟地的划分,这样输出信号的信噪比才会比较好,并且要用专门的地来包裹时钟信号线使其免受干扰。
4.2 AD9857的配置
通过FPGA对AD9857的配置线的控制,可以很方便地实现对AD9857的配置。AD9857的配置原理如图5所示,把要写入AD9857内部寄存器的数据通过数据载入信号载入移位寄存器,然后再把这16bit数据串行输出到AD9857的SDIO管脚,实现对AD9857的配置。