基于FPGA的简易示波器、频谱仪
工程文件下载:基于FPGA的简易示波器、频谱仪
主要功能包括:
(1)采集四个通道的输入信号。如果信号是周期的,可以对信号进行同步,可调整触发电平和触发方式(上升沿,下降沿);
(2)对信号进行上下左右平移,缩放,对频谱进行幅度缩放;
(3)能够显示英文和数字,计算并显示信号的频率,周期,峰峰值,平均值;
(4)显示信号的频谱幅度,可以设定一个频谱阈值,进行检峰;
(5)内部可以产生简易的正弦、方波、三角波信号(只能调整频率),供调试使用;
(6)使用4*4行列按键进行控制,数码管显示采样频率。
采用的是学校提供的Xilinx Basys3开发板,芯片是Xilinx xc7a35tftg256,Verilog语言,平台是Vivado 2017.4。
IP核:
使用的芯片自带的ADC模块,调用XADC IP核进行控制。另外还调用了FFT IP核、块存储生成器(Block Memory Generator)IP核、Clock Wizard IP核、除法器(divider)IP核。均包含在工程文件中。
块内存初始化文件:
一共三个初始化文件:正弦函数表(8位二进制数保存,所以宽度8 bit,深度64)、4*4按键功能的说明图(图片是108*108的一位黑白图片,深度11664,宽度1 bit)、字符的字模数据(字模尺寸8*16,共64个字符,深度512,宽度16 bit)。三个coe文件均包含在工程文件中。
操作说明:
工程使用VGA输出,分辨率640*480,显示界面设计如下:
屏幕上方显示波形,数据显示行显示波形信息(水平垂直分划,信号周期,频率,峰峰值,平均值);下方显示频谱,数据显示行显示频谱信息(水平频率分划,带宽,频谱分辨率)。
侧边上方有6栏,分别是输入通道选择(4个输入通道和内部信号),内部信号频率,触发模式(上升沿,下降沿,瞬态触发),触发位置(左中右),频谱检峰输出,频谱检峰阈值调整。
右下方是4*4按键的功能示意图。
调整坐标轴位置:
调整触发电平位置:
波形幅度缩放:
频谱幅度缩放:
水平时基缩放:
暂停波形刷新:
暂停频谱刷新:
方向键:调整侧边栏的选项
结果展示:
内部正弦波信号3.125 kHz:
内部正弦波信号15.625 kHz:
内部方波信号3.125 kHz:
这个工程是本科毕设作品,能力有限,还有很多错误和不足之处。以后有时间我会介绍一些主要的模块。