何振宇
摘 要:本篇文章主要论述了一种论述了一种信号发生器的设计,主要是基于Fpga软核,采用verilong语言的编程,综合出硬件电路。设计的的硬件电路一般分为累加器,rom查找表,外围电路包括高速DAC转换模块和低通滤波器,其中的关键主要是关于ROM的地址产生,从而查找出相应的值。最后产生的正弦波形完全满足开始设定的频率,而且精度高,可操作性强。
关键词:FPGA ;累加器 ; ROM查找表 ;外围电路
引言:现代通信技术迅速发展,在许多医学、工业、科研等众多领域,都需要信号产生满足需要的信号,如正弦波、三角波、锯齿波等。现在用传统上用振荡器产生的正弦波形不灵活,所以现在来阐述一种基于Fpga 快速产生的正弦波的原理。产生的正弦波可以对通过编程的方式来进行修改与维护,所以灵活性很强。
1.总体设计方案。
从上图可以看出,组成的部分包括累加器,加法器,rom波形数据表和D/A转换模块构成。
2.累加器模块
本次设计频率字采用32字节的位宽,相位字采用11字节位宽。首先将输入的频率字和相位字缓存在寄存器中,然后在每次系统时钟的到来的时候加上频率字的大小,记为F_CNT,从高到留取的低F_CNT的12位和输入的相位字累加得到Rom的地址,从而根据不同时间得到的地址查找出对应的值。对于相位的调整,则更加简单,我们只需要在每个取样点的序号上加上一个偏移量,便可实现相位的控制。
频率的计算公式:F=B×2^12(其中B为频率控制字)
相位计算公式: P=A*π/1024(其中A为相位控制字)
3.Rom查找表
Rom即只是可读的存储器的简称,是一种中只能从中读取数据不能写入的存储器。用ip核直接设计出Rom,其中Rom的地址为12位宽对应F_CNT的高12位的位宽,深度设置为4096,用matlab获取4096个点的正弦信号的值,添加到mif文件中。
4.高速DAC转换设计
数字模拟转换器是一种将数字信号转换为模拟信号(以电流、电压或电荷的形式)的设备。将得到的数字信号通过DAC模块装换成模拟信号,为了数据的准确性,必须保证转换的速率足够快。为此本次设计采用ACM9767模块。该模块具有单电源5v供电输入,分辨率为14为,输出电压为正负5v,转换速率高达125Msps,非常适用信号发生器。
5.低通滤波模块
低通滤波器是容许低于截止频率的信号通过, 但高于截止频率的信号不能通过的电子滤波装置。从高速DAC得到数字信号的平滑度不高,通过低通滤波去除低于截止频率的信号,就能得到理想的正弦波信号。本次设计的低通滤波模块采用TL6600低通滤波器,采用3v、5v和正负5v工作电源,15MHZ截止频率的0.5db纹波四阶低通滤波器,76db s/n低失真。
结束语
使用FPGA做出的信号发生器通过该变mif文件的数据就可以输出任意波形的信号,使用FPGA做出的信号发生器具有相对带宽大,频率装换时间短、分辨率高和相位連续性好等优点,较容易实现频率、相位以及幅度的数控调制。这样做出的信号发生器灵活性相较于传统的信号发生器要高。
参考文献:
[1]崔永俊,王晋伟,贾磊,杨兵.基于FPGA的DDS信号发生器的设计与实现[J]电子器件 , 2016 , 39 (2) :339-343
[2]李勇,艾竹君,刘巧云,史亚彬,方巍.基于FPGA的DDS设计方法[J]低温与超导 , 2007 , 35 (6) :539-542