0 引 言
随着目前科学技术的发展,电子技术的应用领域越来越广。电子测试测量仪器作为电子技术的基础,其应用范围也越来越广。在许多领域对这些仪器提出了很高的要求,不仅要有高的测量、传输速度,高的精确度、稳定性、可靠性等,有的甚至要有一定的智能化,能够实现自动测量、自动控制,还要能够快速完成一些复杂的数学运算与处理,能够根据实际应用的情况,快速开发出新的功能。传统的测试测量仪器由于设计理念落后、发展缓慢、功能单一,开发新功能或新产品的难度大,已经无法适应各种新的测量情况。而且其价格昂贵、体积大、不易操作,已经无法满足人们的要求。
虚拟仪器作为传统测试测量仪器的可能的替代品,从1986年美国国家仪器公司(NI)首先提出其概念至今不过短短二十几年,但其发展却十分迅速。目前已生产数百个型号的虚拟仪器产品,其应用涉及到电子测量、过程控制、电信、医学等领域。我国虚拟仪器研究的起步较晚,最早的研究也是从引进消化NI的产品开始,但其发展也是十分迅速的。我国国民经济的持续快速发展,加快了企业的技术升级步伐,对先进仪器设备的需求更加强劲,虚拟仪器赖以生存的个人计算机最近几年以极高的速度在中国发展,这些都为虚拟仪器在我国的普及奠定了良好的基础。随着我国个人计算机的普及以及性能的不断提高,这种基于计算机的虚拟仪器在我国将会被更加广泛的应用。在我国由于电子技术水平相对落后,许多高精度、高性能的电子仪器都要进口,价格昂贵,难以被广泛使用,因而研制这种成本低的高性能的虚拟仪器,是很有必要的,而虚拟仪器也将成为今后电子器件发展的主流。
1 系统整体结构概述
本设计主要是研制一个基于USB以及FPGA的虚拟数字存储示波器,该系统的整体结构框图如图1所示。系统主要由基于FPGA的数据采集电路、基于USB接口总线传输控制电路和计算机应用程序三个主要部分组成。其中信号预处理电路还包括峰值检测电路、信号触发电路。USB接口传输电路主要是能实现数据的双向传输,既要使数据采集电路采集到的数据能够传到计算机,也要使计算机的控制信息能够传到硬件电路,控制数据采集工作。计算机的应用程序要能够对采集到的数据进行处理、显示,能够控制硬件进行数据采集等工作。
系统的基本工作原理如下:计算机首先通知FPGA开始采集数据,FPGA等到信号触发时刻到来时就开始从A/D转换器中读取500个数据存储到FPGA的存储器中;然后计算机就控制从FPGA读取数据,单片机接到命令后就从FPGA中读取数据和信号的放大衰减倍数通过USB接口传送到计算机。计算机软件读取了采集数据和信号的放大衰减倍数就能够显示出来了,并且通过控制虚拟界面就能够实现各种各样的功能。而FPGA通过定时读取信号的峰值幅度范围再决定控制信号的放大衰减倍数。定时去重复以上过程就能够看到信号的实时波形。
2 系统硬件设计
2.1 数据采集电路设计
数据采集部分的功能就是采集被测信号波形数据并把它存人到FPGA中。首先把信号进行预处理,再经过A/D转换器转换成数字信号,最后存入FPGA中。数据采集部分可以分为以下几个模块:信号调理、A/D转换、触发电路、峰值检测以及FPGA的设计。数据采集电路结构框图如图2所示。
由于被测信号的种类多种多样,相应的采样方式也千差万别。基本采样方式可分为两大类:实时采样和等效时间采样。考虑到采样方式的基本原则是:以保证采样精度为前提,以被测信号的具体特性为依据,尽量以较低的速率实现采样,从而减少数据量,降低对传输、变换系统的要求,提高数据处理的效率。因此选择实时采样方式。对于实时采样,当数字化一开始,信号波形的第一个采样点就被采样并数字化,经过一个采样间隔,再采入第二个子样,这样一直将整个信号波形数字化后存入波形示波器。实时采样的优点在于信号波形一到就采入,因此适用于任何形式的信号,重复的或不重复的,单次的或连续的。所有的采样点都是以时间为顺序,因而易于实现波形显示功能。本设计采用高的采样频率来实现对比较高的频率信号进行实时采样,采用的A/D转换器是TLC5510,采样频率最高可以达到20 MHz。
对于触发电路采用比较器电路来实现,用A/D转换之前的模拟信号与一个固定的电压进行比较,比较器的输出为一个与采样信号同频率的矩形波作为FPGA开始读取数据触发信号。具体实现方法如下:采样信号接比较器的同向输入端,可变电阻的调整端接反向输入端,而可调电阻的另外两端分别接电源的正负极,这样就可以通过调节可变电阻调节触发电平。
被测信号调理电路的作用就是使输入信号满足A/D转换器的幅度要求,同时也扩大了输入信号的幅度范围。比如大信号必须经过适当的衰减,以免因为幅度过大而损坏电路中的元器件或是引起信号失真。而小信号又需要适当的放大,否则采集恢复后的信号幅度太小,以至于无法正确地观测信号。模拟信号调理主要包括:高阻衰减电路、程控放大器和加法器。被测信号调理电路原理图如图3所示。该电路主要采用多级运算放大器电路构成。
为了使FPGA能够准确地控制程控放大器的模拟开关,使程控放大器放大或衰减后的信号幅度在±1 V之内,又能够充分利用A/D转换器的量程。所以FPGA必须要先知道信号的峰值电压,这就需要采用峰值检测电路来检测信号的峰值电压。采样信号先经过电压跟随器来隔离输入信号和峰值检测电路,再用运算放大器、二极管和电容组成检测信号峰值。用三极管可以对电容上的电荷进行放电。最后经过比较器就可知道信号的峰值范围。FPGA通过定时检测峰值,从而去控制模拟开关,实时跟踪信号的幅度。峰值检测电路原理图如图4所示。
控制数据采集和从存储器读数据模块的功能就是控制从A/D转换器的输出端中读取数据,然后存储到FPGA中的存储器。当计算机需要读数据时,就控制把存储器中的数据依次送出去,再通过USB接口传送到计算机。控制数据采集模块和读存储器数据的电路示意图如图5所示。FPGA采用Altera公司生产的FPGA芯片EP1C3T144主芯片。