基于USB接口和FPGA控制的虚拟仪器设计

发布者:数据探险家最新更新时间:2009-10-19 来源: 丁建椿关键字:USB接口  测试测量  FPGA  虚拟仪器 手机看文章 扫描二维码
随时随地手机看文章

  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开始读取数据触发信号。具体实现方法如下:采样信号接比较器的同向输入端,可变电阻的调整端接反向输入端,而可调电阻的另外两端分别接电源的正负极,这样就可以通过调节可变电阻调节触发电平。[page]

  被测信号调理电路的作用就是使输入信号满足A/D转换器的幅度要求,同时也扩大了输入信号的幅度范围。比如大信号必须经过适当的衰减,以免因为幅度过大而损坏电路中的元器件或是引起信号失真。而小信号又需要适当的放大,否则采集恢复后的信号幅度太小,以至于无法正确地观测信号。模拟信号调理主要包括:高阻衰减电路、程控放大器和加法器。被测信号调理电路原理图如图3所示。该电路主要采用多级运算放大器电路构成。

被测信号调理电路原理图

  为了使FPGA能够准确地控制程控放大器模拟开关,使程控放大器放大或衰减后的信号幅度在±1 V之内,又能够充分利用A/D转换器的量程。所以FPGA必须要先知道信号的峰值电压,这就需要采用峰值检测电路来检测信号的峰值电压。采样信号先经过电压跟随器来隔离输入信号和峰值检测电路,再用运算放大器、二极管和电容组成检测信号峰值。用三极管可以对电容上的电荷进行放电。最后经过比较器就可知道信号的峰值范围。FPGA通过定时检测峰值,从而去控制模拟开关,实时跟踪信号的幅度。峰值检测电路原理图如图4所示。

峰值检测电路原理图

  控制数据采集和从存储器读数据模块的功能就是控制从A/D转换器的输出端中读取数据,然后存储到FPGA中的存储器。当计算机需要读数据时,就控制把存储器中的数据依次送出去,再通过USB接口传送到计算机。控制数据采集模块和读存储器数据的电路示意图如图5所示。FPGA采用Altera公司生产的FPGA芯片EP1C3T144主芯片。

控制数据采集模块和读存储器数据的电路示意图

  2.2 USB接口电路设计

  USB接口电路综合多方面因素进行考虑,选用Philips公司的专用USB接口芯片PDIUSBD12和AT-MEL公司的AT89S52单片机进行连接来实现USB总线接口功能。PDIUSBD12芯片提供了与任何外部微控制器或微处理器连接的高速并行接口。对单片机而言,PDIUSBD12就像一个带8位数据总线和地址总线的存储器件。PDIUSBD12芯片与单片机连接有两种方式:地址和数据总线复用模式和非复用模式。这两种模式的主要区别是芯片的第10引脚ALE和第28引脚A0的连接有所不同。本系统采用地址和数据总线复用模式,将第10脚ALE连接到单片机的地址锁存使能端ALE,该脚将地址/数据总线上的地址信息锁存,并通过内部逻辑产生选通信号,来判断总线上传输的是命令还是数据,因此单片机与该芯片的通信采用如下的方式:一个偶数地址表示单片机对芯片进行读/写数据,本设计中使用7F00H地址,一个奇数地址表示单片机对芯片写入操作指令,本设计中使用7F01H地址。在这种模式下,该芯片的28引脚A0可以忽略,通过上拉电阻接电源。PDIUSBD12与单片机的连接电路原理图如图6所示。

PDIUSBD12与单片机的连接电路原理图[page]

  3 系统软件设计

  应用程序是指为了完成某项或某几项特定任务开发运行于操作系统之上的计算机程序。本系统利用Borland C++ Builder 6.0开发了一个具有基本硬件控制、数据传输、数据处理与显示功能的应用程序。该应用程序主要包括显示部分和控制面板部分。显示部分可以将经过一定处理的信号数据显示出来,并可对显示方式做一定的调整。控制面板部分可以在控制数据采集硬件电路的启动、停止、采样频率以及存储数据、频谱分析等工作。

  应用软件是整个系统的控制中心,所有的命令都是由这里发出的。主要由面板显示部分、触发采集数据与读取数据部分、采样频率控制部分、频谱分析部分、波形保存与回放部分、调节波形显示部分等几部分组成的。工作过程如下:软件先发出开始波形信号采集的命令,通过USB接口控制FPGA采集数据,根据采样频率即可大概估计FPGA采集500个点所需要的时间,经过适当的延时之后就控制从FPGA存储器读取采集的数据,然后根据采样频率和信号的放大倍数对数据进行适当的处理,最后就在面板上显示出来。定时地重复上面的过程就能够定时地更新显示的波形,从而实时显示信号的波形。

  应用程序中主循环程序是核心内容,它主要是检查事件标志,然后进入对应的子程序进行进一步处理。本系统主要用到端点2的输入与输出两个功能,利用端点2的输入传输采集到的数据,利用端点2的输出让单片机接受计算机的命令,例如启动采样,改变采样频率等。主循环程序的流程图如图7所示。

主循环程序的流程图

  最后开发出具有多功能综合测量应用软件界面如图8所示。

具有多功能综合测量应用软件界面

  4 结 语

  本设计是在C++ Builder。的应用软件开发环境下,由PDIUSBD12的USB接口芯片组成的USB接口电路及FPGA控制的数据采集系统做成的虚拟数字示波器。该系统能实现对信号幅度在±O.1~±25 V,频率在0~1 MHz的信号进行测量并显示出波形。本设计研究的虚拟数字示波器具有普通示波器的显示信号波形的功能,而且具有普通示波器所不具有的存储和回放信号的波形、频谱分析等功能。通过对应用软件进行操作,可对信号波形进行左右拉伸、上下拉伸、左右移动和上下移动。还可以对信号进行频谱分析、存储和显示信号的波形,调节信号的采样频率。实验结果表明该设计方案是可行的,并具有较好的应用前景。

关键字:USB接口  测试测量  FPGA  虚拟仪器 引用地址:基于USB接口和FPGA控制的虚拟仪器设计

上一篇:基于虚拟仪器技术的应变测量的设计及应用
下一篇:横河推出新款温升测试专用软件TingMS

推荐阅读最新更新时间:2024-03-30 22:09

PCIe Gen4与UPI互联 英特尔出货Stratix 10 DX FPGA
“它的独特之处就是高带宽以及低时延,该产品是英特尔首个支持PCIe Gen4的FPGA,同时它采取了超路径互连UPI。”近日,Stratix 10 DX FPGA产品正式向合作伙伴出货。英特尔公司网络和自定义逻辑事业部副总裁兼FPGA和电源产品营销总经理Patrick Dorsey先生,就新产品以及未来的产品规划,接受了EEWorld记者的采访。 搭配UPI性能全面提升 Stratix 10 DX FPGA支持英特尔超路径互连(UPI)和PCI-Express (PCIe) Gen4 x16,同时还支持英特尔傲腾技术来提供灵活高性能加速。 Patrick Dorsey先生首先对Stratix 10 DX做了详细的介
[嵌入式]
PCIe Gen4与UPI互联 英特尔出货Stratix 10 DX <font color='red'>FPGA</font>
各种USB接口都有什么区别呢?
不管你认为它是多么渺小和不值钱,但它的作用的确是无法小视的,数据传输、供电都需要靠他,并且发展至今传输速度和电流负荷值也在不断的增加。   我们今天说的是数据线、USB线的最新形态和理念产物——Type-C。在MacBook,也就是我们之前熟知的“小白”迭代之后,再次感叹苹果的做工之余,很多人的目光其实转移到了它的那根数据线上。没错,在MacBook身上不再是我们熟悉的那个磁力的电源接口,而是Type-C。   各种类USB接口 为啥就是Type-C火了?有没有Type-A和Type-B呢?其实是有的。看了之后就你就会发现,Type-A其实就是我们目前非常常见的USB插头,而Type-B对于
[嵌入式]
DSP完成的实时信号模拟器
前言   在通信、雷达等数字信号处理系统的设计中,信号模拟器发挥着至关重要的作用。模拟器用来模拟实际工作过程中信号处理系统的各种输入信号,从而方便了系统调试。可以利用现有仪器模拟这些信号,也可以设计专门的模拟器。这两种方法各有特点:仪器模拟省去了模拟器的设计和调试过程,比较方便;但有时现有仪器并不能完全满足系统测试的要求,另外有些仪器的价格相当昂贵(专用的信道仿真设备一般在24000到500000美元之间 )。因此,在信号模拟的方法上应视实际情况而定:对于ADC这样输入信号比较简单的的系统,可以利用任意波形发生器这些测试仪器进行测试;而对需要多输入或输入信号种类比较多的系统一般需要设计专用的模拟器。一般来说,能用容易得到仪器完成
[嵌入式]
基于遗传算法的组合逻辑电路设计的FPGA实现
摘要:基于遗传算法的组合逻辑电路的自动设计,依据给出的真值表,利用遗传算法自动生成符合要求的组合逻辑电路。由于遗传算法本身固有的并行性,采用软件实现的方法在速度上往往受到本质是串行计算的计算机制约,因此采用硬件化设计具有重要的意义。为了证明基于FPGA的遗传算法的高效性,设计了遗传算法的各个模块,实现了基于FPGA的遗传算法。 关键词:遗传算法;组合逻辑电路;FPGA;随机数 遗传算法(Genetic Algorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法,它最初是由美国Michigan大学J.Holland教授于1975年首先提出来的。随着经济
[嵌入式]
基于遗传算法的组合逻辑电路设计的<font color='red'>FPGA</font>实现
基于测试系统的FPGA测试方法研究
1 引言 目前FPGA大多采用基于查找表技术,主要由可编程输入/输出单元(IOB)、可编程逻辑单元(CLB)、可编程布线资源(PI)、配置用的SRAM、BlockRAM和数字延迟锁相环(DLL)等部分组成。对FPGA进行测试要对FPGA内部可能包含的资源进行结构分析,经过一个测试配置(TC)和向量实施(TS)的过程,把FPGA配置为具有特定功能的电路,再从应用级别上对电路进行测试,完成电路的功能及参数测试。 2 FPGA的配置方法 对FPGA进行配置有多种方法可以选择,包括边界扫描配置方法、Xilinx公司专用的SPI/BPI FLASH配置方法、System ACE配置方法、CPLD+第三方FLASH配置方法、系统直接加载配置向
[电源管理]
基于测试系统的<font color='red'>FPGA</font>测试方法研究
硬件在环(HIL)仿真应用中的LabVIEW FPGA
硬件在环(HIL)仿真可以对虚拟运行环境中的设备进行非常逼真的模拟。一个典型的HIL系统包括用于从控制系统接收数据的传感器、用于发送数据的传动器、一个用于处理数据的控制器、一个人机界面(HMI)以及一个开发后仿真分析平台。 由此下载
[测试测量]
USB通信技术在自动测试系统中的应用
  1 引言   自动测试系统ATS(Automatic Test System)集成测试所需的全部激励与测量设备,计算机高效完成各种模式的激励及响应信号的采集、存储与分析,对被测单元进行自动状态监测、性能测试和故障诊断。总线是ATS的重要组成部分,是计算机与测试硬件内部及外设传递信息的公共通路,其性能参数直接影响ATS整体的功能实现和性能指标。   通用串行总线USB(Universal Serial Bus)主要用于PC与外围USB设备互联。其物理连接是一种分层的菊花链结构,最多支持5 Hub层及127个外设。该结构独立性强。抗干扰性强、传输速率高、占用资源有限、使用灵活、支持热插拔,因此USB技术逐渐成为现代ATS数
[嵌入式]
嵌入式系统中DRAM控制器的CPLD解决方案
摘要: 介绍怎样在嵌入式CPU 80C186XL DRAM刷新控制单元的基础上,利用CPLD技术和80C196XL的时序特征设计一个低价格、功能完整的DRAM控制器的方法,并采用VHDL语言编程实现。 关键词: 刷新控制单元(RCU) DRAM控制器 状态机 CPLD VHDL语言 80C186XL16 位嵌入式微处理器 是Intel公司在嵌入式微处理器市场的上导产品之一,已广泛应用于电脑终端、程控交换和工控等领域。在该嵌入式微处理器片内,集成有DRAM RCU单元,即DRAM刷新控制单元。RCU单元可以自动产生DRAM刷新总线周期,它工作于微处理器的增益模式下。经适当编程后,RCU将向将处理器的 BIU(总线
[嵌入式]
嵌入式系统中DRAM控制器的CPLD解决方案
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved