基于FPGA的直接数字频率合成技术设计
2.3 DDS控制模块设计
DDS部分的系统控制是根据所需要的功能(如相位调制、幅度调制等)要求而设计的,这一点也是利用了FPGA的灵活性。其部分程序如下:
COMPONENT ddsc IS \调用DDS主模块
......
END COMPONENT ;
SIGNAL clkcnt :integer RANGE 4 DOWNTO 0;
\\内部信号定义
SIGNAL clk:std_logic;
SIGNAL freqind:std_logic_vector(15 DOWNTO 0);
BEGIN
i_ddsc:ddsc \\调用DDS主模块
PORT MAP(clk=>clk,ddsout =>ddsout,freqin=>freqind);
clk<=sclk; \\连接内部端口
PROCESS (sclk)
BEGIN
IFsclk'event AND sclk='1' THEN
\\系统时钟的上升沿触发
freqind<=fpin;
END IF;
3 结论
本系统在频率不高于100kHz时能产生精确的正弦波形,而且十分稳定。由于基准时钟为50MHz,且分辨率为16位,因此,该系统能产生的最低频率为500Hz,若要产生更低频率及更精确的波形,可以提高分辨率并相应减小基准时钟,这在FPGA中实现起来相当容易。
实践证明:用FPGA设计DDS电路较采用专用DDS芯片更为灵活。因为,只要改变FPGA中的ROM数据,DDS就可以产生任意波形,因而具有相当大的灵活性。相比之下:FPGA的功能完全取决于设计需求,可以复杂也可以简单,而且FPGA芯片还支持在系统现场升级,虽然在精度和速度上略有不足,但也能基本满足绝大多数系统的使用要求。另外,将DDS设计嵌入到FPGA芯片所构成的系统中,其系统成本并不会增加多少,而购买专用芯片的价格则是前者的很多倍。因此,采用FPGA来设计DDS系统具有很高的性价比。
评论