AD9832是一款可编程函数生成器 (Function Generator),由模拟设备和电子元器件制造商ADI公司研发。其内部集成了数字模拟转换器(DAC),可以输出可编程的正弦波、三角波和方波等多种波形。通过SPI接口,可以配置频率、相位、波形类型等参数。
在控制AD9832输出信号时,需要对其进行编程,即给AD9832写入需要输出的数据。接下来介绍在编程过程中,AD9832要写哪些数据。
AD9832正弦波输出的频率由两个16位数据寄存器控制,分别为频率控制字0寄存器和频率控制字1寄存器。这两个寄存器的数据组合成一个32位的频率控制字 (Frequency Control Word),控制正弦波的输出频率。因此,在控制AD9832输出正弦波时,需要先向这两个寄存器中写入需要输出的频率控制字。
可以通过以下公式计算出需要向频率控制字0寄存器和频率控制字1寄存器中写入的数据:
Frequency Control Word = Fout × 2^28 / Mclk
其中,Fout是需要输出的正弦波的频率,Mclk是AD9832的主时钟频率。
AD9832的相位调节范围为0°~360°,相位调节的最小单位为0.04°。相位控制字0寄存器和相位控制字1寄存器也各占16位,可以控制输出信号的相位差。与频率控制字寄存器一样,需要向这两个寄存器中分别写入需要输出的相位控制字。
可以通过以下公式计算出需要向相位控制字0寄存器和相位控制字1寄存器中写入的数据:
Phase Control Word = phase × 2^16 / 360
其中,phase为需要输出的相位差。
AD9832可以输出多种波形类型,如正弦波、三角波、方波等。在控制AD9832输出不同的波形时,需要向控制寄存器中写入相应的数据。
AD9832的波形类型编码如下:
需要输出的波形类型对应的编码写入控制寄存器即可。