Fpga的信号发生器设计原理

2018-01-02 11:55何振宇
科学与财富 2018年33期
关键词:累加器

何振宇

摘 要:本篇文章主要论述了一种论述了一种信号发生器的设计,主要是基于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

猜你喜欢
累加器
密码累加器研究进展及应用
基于格的高效通用累加器与被累加值的零知识证明
简析80C51单片机的数据传送类指令
基于霍夫变换的工位点识别算法设计与实现
用于时间延迟积分型图像传感器的流水采样列级运放共享累加器*
FPGA实现的任意波形发生器的设计