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测量信号提供。