当前位置:首页 > 基于Xilinx FPGA的(组合)波形发生器的实现
龙源期刊网 http://www.qikan.com.cn
基于Xilinx FPGA的(组合)波形发生器的实现
作者:周钧 陈林辉
来源:《中国科技纵横》2016年第06期
【摘 要】本设计是将现场可编程逻辑器件FPGA 与DDS 技术相结合,以Xilinx的FPGA Basys3开发板为平台,Vivado集成开发软件为环境,利用Verilog HDL语言设计出的组合波形发生器。将各波形的幅值转化为相位并将其数字化后的数据存储在ROM内,按照设定频率,以相应频率控制字Fre_control为步进,对相位进行累加,将累加相位值作为地址,通过该地址读取存放在存储器内的波形数据,经数模转换等外围电路得到所需波形。 【关键词】FPGA 组合波形发生器 Vivado
随着可编程逻辑元器件的越发普及,FPGA在教学、生产等方面的用途日益增加。全球最老牌的PLD公司之一的赛灵思公司在2012年发布了Vivado集成开发环境加之近年Basys3开发设计板的问世,使得Verilog硬件描述语言越发受到开发者的青睐,也使得数字信号处理等变得越发高速和高效。本作品可以产生正弦波,方波,三角波等基本波形及其组合波形,通过添加波形数据,可实现任意波形。且本作品波形质量好,精度高,指标可媲美市场上出售的发生器。
1 总体的结构
图1所示为作品的总体结构图,具体表现为:将FPGA综合而成的数字量输出给外围电路,通过DA转换和低通滤波,使得数字信号变为平滑的模拟信号,后经由前级差分放大电路和幅度调节电路,产生标准的输出信号。 2 系统的构成
在Vivado上利用Verilog语言变成实现下面的数字电路(图2)。其中系统时钟f为100MHz,通过锁相环PLL倍频后提供给系统的时钟fs为200MHz,相位累加器N为28位,这样步进值step就是 ,为了使一个周期的采样点数不少于8个,我们人为设定频率控制字Fre_control为25位。设K为频率控制字的值,则输出频率fo= 。图中的wave是三位变量,那么就有=8种波形,如需添加波形,wave的位数也需要相应增加。
我们的ROM查找表的深度为4096个点,宽度为12位,满足采样精度和DA转换精度,图3所示为我们其中一种波形(正弦波)的仿真波形。 3 组合波形及其他波形的实现
共分享92篇相关文档