4 AD9833的内部寄存器功能
AD9833内部有5个可编程寄存器,其中包括3个16位控制寄存器,2个28位频率寄存器和2个12位相位寄存器。
4.1 控制寄存器
AD9833中的16位控制寄存器供用户设置所需的功能。除模式选择位外,其他所有控制位均在内部时钟MCLK的下沿被AD9833读取并动作,表3给出控制寄存器各位的功能,要更改AD9833控制寄存器的内容,D15和D14位必须均为0。
4.2 频率寄存器和相位寄存器
AD9833包含2个频率寄存器和2个相位寄存器,其模拟输出为
fMCLK/228×FREQEG (2)
其中:FREQEG为所选频率寄存器中的频率字,该信号会被移相:
2π/4096×PHASEREC (3)
其中,PHASEREC为所选相位寄存器中的相位字。
频率和相位寄存器的操作如表4所示。
5 应用设计
AD9833可应用在L15型飞机控制盒配套的检测盒中,利用AD9833产生频率可调的正弦波,以模拟机轮速度传感器的速度信号,从而对控制盒的刹车防滑通道能否正常的刹车防滑进行检测。
5.1 AD9833的硬件电路连接
检测盒设计以TI公司的TMS320LF2407A型DSP作为核心控制器,应用中需要2路速度信号,因此需要检测盒给出2路可独立调节的频率,图5示出TMS320LF2407A与AD9833的硬件连接。
外接有源晶体振荡器的输出送给2个AD9833作为主频时钟,DSP的SPI口采用主动工作方式,即用SPISIMO口发送数据,为了与AD9833的时序相配合,DSP的接口时钟(SPICLK信号)方式选择有延时的下降沿,IOPC3和IOPC5作为电路选通信号,IOPC3为低电平时U2被选通,此时对U1写数据无效;同理,IOPC53为低电平时U1被选通,此时对U2写数据无效。
5.2 软件程序
图6示出了AD9833的软件流程。
无论是写控制寄存器、频率寄存器还是相位寄存器、在写数据之前都需要把选通信号置为有效状态,这样写入的数据才会有效,否则无效。在DSP发送完1个数据字后将产生SPI中断请求,本设计中未使用中断方式,而且通过查询中断标志来跳出,并虚读DSP的接收缓冲器清除中断标志。