基于FPGA的DDS信号发生器设计时间:2009-09-1809:40:06来源:现代电子技术作者:高士友胡学深杜兴莉刘桥0引言信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用
能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路被称为函数信号发生器
函数信号发生器的实现方法通常是采用分立元件或单片专用集成芯片,但其频率不高,稳定性较差,且不易调试,开发和使用上都受到较大限制
随着可编程逻辑器件(FPGA)的不断发展,直接频率合成(DDS)技术应用的愈加成熟,利用DDS原理在FPGA平台上开发高性能的多种波形信号发生器与基于DDS芯片的信号发生器相比,成本更低,操作更加灵活,而且还能根据要求在线更新配置,系统开发趋于软件化、自定义化
本文研究了基于FPGA的DDS信号发生器设计,实现了满足预定指标的多波形输出
1DDS基本原理DDS建立在采样定理基础上,首先对需要产生的波形进行采样,将采样值数字化后存入存储器作为查找表,然后通过查表读取数据,再经D/A转换器转换为模拟量,将保存的波形重新合成出来
DDS基本原理框图如图1所示
除了滤波器(LPF)之外,DDS系统都是通过数字集成电路实现的,易于集成和小型化
系统的参考时钟源通常是一个具有高稳定性的晶体振荡器,为各组成部分提供同步时钟
频率控制字(FSW)实际上是相位增量值(二进制编码)作为相位累加器的累加值
相位累加器在每一个参考时钟脉冲输入时,累加一次频率字,其输出相应增加一个步长的相位增量
由于相位累加器的输出连接在波形存储器(ROM)的地址线上,因此其输出的改变就相当于查表
这样就可以通过查表把存储在波形存储器内的波形抽样值(二进制编码)查找出来
ROM的输出送到D/A转换器,经D/A转换器转换成模拟量输出
2系统总体方案设计该设计以FPGA开发平台为核心,将各波形的幅值/相位量化数据存