简述DDS原理及其基于FPGA的实现
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA.因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。另外一种方法是用CPLD(复杂可编程逻辑器件备)。
用FPGA实现DDS的基本工作过程为:通过VXI接口电路将生成的数据存入固定数据RAM中,然后用FPGA设计的相位累加器来计算并选择RAM中的数据存放地址,最后将数据给定的频率控制字输出,经DAC转换即实现了任意波形输出。原理图如图2所示。虚线部分可用FPGA来实现。
图2中参考时钟由高稳定的晶体振荡器产生,主要用于控制DDS中各器件同步工作。虚线部分相当于相位累加器,它由N位加法器与N位相位寄存器构成,它实际上是一个计数器。每来一个时钟脉冲,加法器将相位增量数据与相位寄存器输出的累积相位数据相加,把相加后的结果送至相位寄存器的数据输入端。相位寄存器将加法器在上一个时钟作用后所产生的新相位数据反馈到加法器的输入端,以使加法器在下一个时钟的作用下继续与频率控制字相加。由此看来,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位,相位累加器的溢出频率就是DDS输出的信号频率。
3 结束语
采用FPGA设计DDS电路,充分发挥了FPGA在系统可编程的优点,可以通过软件灵活改变相关参数,给设计带来很多方便。用FPGA设计DDS电路较采用专用DDS芯片更为灵活,只要改变FPGA中的ROM数据,DDS就可以产生所需波形数据,并且FPGA的功能完全取决于设计需要,因而具有相当大的灵活性,将DDS设计嵌入到FPGA芯片所构成的系统中,其系统成本并不会增加多少,因此,采用FPGA来设计DDS系统具有很高的性价比。
fpga相关文章:fpga是什么
评论