摘要:为了实现对0~1 MHz的信号进行测量以及显示的目的,制作了基于SOPC技术的VGA显示数字存储示波器。采用硬件与软件相配合的设计方法,主要模块有基于FPGA的最小系统模块、信号调理电路模块、AD采样模块、触发电路模块、VGA显示模块、4×4矩阵键盘模块和RAM存储以及FLASH存储模块。具有模拟信号可进行任意电平触发、数字信号可使用上升沿和下降沿触发、存储回放、垂直灵敏度档位设置、扫描速度档位设置、VGA显示多个界面等特点。通过波形测量实验,得到较好的显示波形。
关键词:FPGA;数字示波器;A/D采样;VGA显示
随着信息技术的发展,对信号的测量技术要求越来越高,示波器的使用越来越广泛。模拟示波器使用前需要进行校正,使用比较麻烦;而数字示波器,由于受核心控制芯片的影响,对输入信号的频率有严格的限制。基于FPGA的数字示波器,其核心芯片可达到50万门,配合高速外围电路,可以测量频率为1 MHz的信号,有效地克服了以往示波器的不足。
1 系统方案设计
设计的数字示波器系统主要使用了Xilinx系统的开发环境,并在此环境内部建立了AD采样控制模块、键盘控制模块、VGA显示模块等多个模块,从很大程度上减少了硬件电路的搭建,也因此提高了系统的稳定性和可靠性,系统框图如图1所示。
另外,设计使用XPS将32位的MICroBlaze微处理器嵌入到了FPGA中,实现了可编程片的嵌入以及在可编程片上的系统设计。MieroBlaze通过LBM总线访问片上的存储模块BLOCkRAM,然后通过OPB总线上挂接外设进行接口连接和驱动。
VGA显示部分采用双缓冲机制进行工作,在FPGA内部建立RAM,按照一定时序降RAM内的缓存数据映射到VGA显示屏上。
2 硬件设计
2.1 信号调理电路模块
信号调理电路模块,对输入的模拟信号进行处理,由于输入电压幅度为-2.5~+2.5 V之间,而后一级的AD模块采用了12位的高速A/D转换芯片ADS804,只能对0~2 V的电压进行模/数转换,故需要将输入电压先抬升为0~5 V,在应用运算放大器进行比例缩小,达到0~2 V的模数转换要求。
2.2 A/D转换电路
A/D转换模块采用存储采样数据的并行数据处理方法,这样可以使硬件电路得到最大程度的简化,同时也提高了系统的稳定性。AD部分的采样,选用实时采样技术。能够捕获到单个信号。采样速率为10 MHz,即在最高频率1 MHz时,实时采样可以在每周期采10个点以保证取到一个完整的信号波形。
2.3 触发电路模块
触发电路模块属于外触发,对模拟信号实现任意电平触发,该模块采用电压比较器来实现单次触发。
2.4 存储模块
存储模块包括内存储和外存储两部分,使用外部电路进行搭建的为外存储,内存储在软件部分进行说明。
外部非易失性存储器模块采用存储容量为16 KB的E2PROM芯片24C128,该芯片作为手动存储的存储介质,从而实现掉电不丢失的设计目的。
2.5 VGA显示模块
VGA显示模块是建于FPGA内的双缓冲机制,由嵌入的MICroBlaze软核进行控制,能够进行多个页面间的切换。另外,每个界面,可以实现中文信息、彩色通道和所测输入波形的显示,并可控制显示内容的显示颜色。
2.6 键盘模块
4×4矩阵键盘模块实现人机交互。
通过键盘,可以对示波器的数字通道、模拟通道、混合通道、存储、回放、波形左移、波形右移等功能进行选择。
3 基于FPGA的软件设计
FPGA的硬件主要包括:触发电路模块、数字信号发生模块、存储模块、键盘模块、VGA显示模块等5个部分,软件流程图如图2所示。
3.1 触发电路程序
AD采样启动后,将从AD进来的数据与触发字进行比较,当满足设定条件时,会产生触发信号,此信号送到RAM控制器端。通过对外部触发电路发出触发信号与内部的两路数字信号进行触发的选择后,RAM控制器得到触发后将采样数据写入到RAM中。当RAM在进行写数据过程中触发信号是被抑制的;当RAM达到预触发深度时,释放触发信号,等待下一次触发的到来。
3.2 数竽信号发生程序
利用DDS的原理,在FPGA内部生成一个信号发生器。主要包括频率控制寄存器、高速相位累加器和比较器3部分。具体做法为:使用一个表示信号平均值的数据与AD采样得来的数据进行比较得到同频同相的A路信号,再经由A信号触发计数器,经过合理设置计数脉冲,得到有45°延时,占空比25%的B路信号。最后对该相位值计算数字化正弦波幅度输出。
表示信号平均值的数据由MicroBlaze测量信号提供。
5 结语
设计实现了一款基于FPGA的VGA显示的多通道数字存储示波器。FPGA的高速性比其他控制芯片更适合于高速数据的采集和处理,另外FPGA内部存储模块在完成输入信号的量化存储速度上有着外接RAM无法比拟的优势。通过测试,设计系统比较好地完成了各项设计要求。
上一篇:基于FPGA的TCP粘合设计实现