基于FPGA技术和AD9833芯片实现可编程遥测信号源的设计

在串行时钟输入SCLK(spiclk)的控制下,SCLK为高,使能信号FSYNC(spics)为低时,SDATA(spido)输出)开始输入数据,数据以16位字的形式写入AD9833。FSYNC可以在多组16个SCLK脉冲期间保持低电平,传输连续的16位字流,等到数据传输完毕后在最后一个字的第16个SCLK下降沿变高。

2.3 遥测信号源的软件控制字

对于灵活可配置,通用性强的遥测信号源来说,其频率、波形等参数的实时变化是必不可少的。而系统要实现这些参数的实时变化,就必须将控制字进行相应的改变。如正弦波的控制字为十六进制数0008,三角波的控制字为十六进制数000A,方波的控制字十六进制数0028。

由AD9833模拟输出频率的计算公式(参考式(1))可知,如果采用20 MHz的晶振作为AD9833的主频时钟来输出10 kHz的正弦波信号,则可计算出频率字FREQREG的十六进制数为20C49,如果软件设计时选用AD9833的频率寄存器0和相位寄存器0,则加上寄存器标识后,FPGA写入AD98 33的频率字高位十六进制数为4008,低位十六进制数为4C49。在给频率寄存器写入数据前,若给控制寄存器写入十六进制数2000,则可将频率寄存器设置成完整的28位来使用,若给写入十六进制数0000,则频率寄存器可以作为两个14位寄存器来使用。相位字可根据式(2)来计算。当相位偏移为0°时,相位字PHASEREC为十六进制数D000(相位寄存器的标示为1101);相位偏移为180°时,相位字PHASEREC为十六进制数D800。

3、 仿真验证

仿真是在QuartusⅡ环境下,使用其自带的仿真软件对整个工程进行功能仿真。

仿真采用20 MHz的晶振作为AD9833的主频时钟来输出相位偏移为零、频率为10 kHz的正弦波、方波、三角波,以及相位偏移为180°的5 kHz的正弦波,结果分别如图5~图8所示。

基于FPGA技术和AD9833芯片实现可编程遥测信号源的设计

基于FPGA技术和AD9833芯片实现可编程遥测信号源的设计

通过模拟输出频率公式可计算频率为5 kHz时,频率字FREQREG的十六进制数为10624,FPGA写入AD9833的频率字高位十六进制数为4004,低位十六进制数为4624。

4 、结论

本文提出了基于FPGA和DDS芯片的遥测信号源。该信号源主要由Cyclone EP1C6和AD9833芯片来搭建硬件电路,采用Verilog语言实现编程,通过对FPGA进行控制使其输出数据给DDS芯片,最终实现所需波形的输出。仿真表明该遥测信号源能够灵活、方便地输出频率范围为0~12.5 MHz的频率、相位可调的正弦波、三角波、方波信号。此方案的参数化没计,极大方便了对所需波形数据的更改,增强了信号源的灵活性。虽然该信号源能够输出频率、相位灵活可变的正弦波、方波、三角波,但没有实现任意波形的输出。因此以后研究方向是实现对任意波形的设计,以增加信号源的灵活可配置性,进一步增强其通用性。