摘要:介绍了利用美国NI公司的LabVIEW图形化编程语言,采用USB接口的数据采
集卡DYU18与PC机结合,进行虚拟数字示波器的开发,包括系统硬件和软件的设计。本虚拟数字示波器设计时参考了HP公司的双通道台式数字存储示波器HP54603B的功能,并在仪器分析和处理功能上有所扩展。实验证明,此虚拟数字示波器具有波形显示,参数测量,频谱分析,数据存储,数据回放等多种功能。 关键词:LabVIEW,示波器,虚拟仪器,DYU18数据采集卡 1. 前言
随着计算机技术的发展,传统仪器开始向计算机化的方向发展.虚拟仪器是90年代提出的新概念,虚拟仪器技术的提出与发展,标志着21世纪自动测试与电子测量仪器领域技术发展的一个重要方向。传统台式仪器是由仪器厂家设计并定义好功能的一个封闭结构,它有固定的输入/输出接口和仪器操作面板,每种仪器实现一类特定的测量功能,并以确定的方式提供给用户。从一般的设计模型看,一种仪器无非是由数据采集与控制、数据分析和数据显示3部分功能组成。因此,我们可以将仪器功能划分为若干功能模块,在必要的数据采集等硬件模块和计算机软硬件支持下,用户可以根据自己的需要通过软件设计仪器功能,如数据的分析处理、图形显示和仪器的输入输出控制(软面板)等。虚拟仪器充分发挥了计算机的作用,用户可以将一些先进的数字信号处理算法应用于虚拟仪器设计,提供传统台式仪器不具备的功能,并可方便地组建网络,实现资源共享,建立所需的测试系统(虚拟仪器开发费用低、维护方便、节省成本,在系统要求改变时,只需改变个别硬件和软件模块即可,不用更换整个仪器。因此,可以说虚拟仪器代表了未来测量仪器设计发展的方向。
虚拟仪器技术发展迅速,其应用日益广泛。目前,国外的一些大公司如HP公司、泰克公司、PC仪器公司已开发出了许多虚拟仪器产品,我国的一些科研单位、高等院校也在研究虚拟仪器技术,并已有虚拟仪器产品陆续问世。
本次设计的虚拟示波器是基于图像化编程语言——LABVIEW编写的,该示波器能够通过数据采集卡对数据进行实时采集,经过数据处理可将结果在显示屏上显示出来,还能够对波形进行频谱分析。此外该示波器还具有数据的存储和读取功能。
2. 基于LABVIEW 的虚拟示波器的系统总体方案的确定 2.1 设计要求:
用数据采集卡通过USB接口与PC机连接,以LABVIEW为平台设计一个数字示波器。可同时输入两个模拟电压信号,电压范围为±10V,PC机的显示器能显示示波器的面板及输入信号波形,利用鼠标调节面板上的数字控件,可调节显示状况,具有信号的存储功能。
2.2 方案的确定 2.2.1 虚拟仪器概述
以虚拟仪器(virtual instrument) 为代表的新型测量仪器改变了传统仪器的思想, 它充分利用计算机强大的软硬件功能, 把计算机技术和测量技术紧密结合起来, 是融合了电子测量、计算机和网络技术的新型测量技术。特别是基于计算机平台的各种测量仪器由于成本低、使用方便等优点得到了广泛的应用。虚拟仪器具有物理系统和现实仪器的视觉外观及实际功效, 但却是由计算机软件模拟仿真实现的。根据计算机和仪器的结合方式, 虚拟仪器可分为2种: 一种是将计算机装入仪器, 其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大及其体积的日
趋缩小, 这类仪器功能也越来越强大, 目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机, 以通用的计算机硬件及操作系统为依托, 实现各种仪器功能。文中探讨的虚拟仪器指的是上述第2 种方式。图1 为这种虚拟仪器的构建方案。
图1 虚拟仪器构建方案示意图
由图1, 虚拟仪器实际上是一个按照仪器需求组织的数据采集系统, 它将自动测试系统中所有独立的模块都称为虚拟仪器(包括采集、分析计算及显示等各个过程与函数) , 体现了“软件就是仪器”的思想。
2.2.2 方案的确定:
基于LABVIEW 的虚拟示波器的系统结构框图:
被测信号 数据采集卡 PC计算软面板 频率测量 幅值测量 波形显示 波形调整 带通滤波 相关函数 波形存储
图2 虚拟示波器的系统结构框图
通过计算机的键盘和鼠标启动采集卡,采集卡将模拟信号转换为数字信号,计算机利用LABVIEW6i对采集信号数据进行存储、处理和显示。
2.3 硬件部分
硬件结构框图如图3所示,构成虚拟示波器的硬件平台主要有三部分组成: (1)、计算机。一般为一台PC机或工作站,它是硬件的核心平台。
(2)、I/O接口设备:主要完成被测输入信号的采集、放大、模数转换。可根据实际情况采用不同的I/O接口硬件设备,如数据采集卡/板(DAQ). GP扭总线仪器、VXI总线仪器、串口仪器等。本次设计的示波器采用的是USB接口的U18数据采集卡(DAQ)。
(3)、信号的接收和调理电路:主要将被测信号转换为电信号,并对电信号进行放大、滤波、隔离等处理。然后用于(DAQ)系统进行直接进行测量。
1
图3 硬件结构框图
2.4 软件部分
在以PC计算机为核心组成的硬件平台支持下,利用实验室虚拟仪器集成环境(Laboratory Virtual Instrument Engineering Workbench)——LabVIEW开发平台下的G语言(Graphics Language,图形化编程语言)进行编程实现虚拟示波器的各种功能。
G语言是一种适用于任何编程任务,具有扩展函数库的通用编程语言。和BASIC或C语言一样,G语言定义了数据模型、结构类型和模块调用语法规则等编程语言的基本要素,在功能完整性和应用灵活性上不逊于任何高级语言,同时G语言丰富的扩展函数库还为用户编程提供了极大的方便。这些扩展函数库主要面向数据采集、GPIB和串行仪器控制以及数据分、数据显示和数据存储。G语言还包括常用的程序调试工具,比如允许设置断点、单步调试、数据探针和动态显示执行程序流程等功能。G语言与传统高级编程语言的最大差别在于编程方式,一般高级语言采用文本编程,而LabVIEW使用图形化编程语言G编写程序,产生的程序是框图的形式,界面非常直观形象。LabVIEW中的程序称为VI(Virtual Instrument),每个VI有三个主要部分:前面板、框图程序、及图标了连接端口。前面板用于模拟真实仪器的前面板;框图程序利用图形编程语言对前面板上的控件对象进行控制;图标/连接端口用于把LabVIEW程序定义成一个子程序,从而实现模块化编程。因此,熟练掌握G语言的编程要素和语法规则,是开发高水平LABVIEW应用程序最重要的基础。
LabVIEW已成为测试与测量领域的工业标准。通过GPIB、VXI、PLC、串行设备和插卡式数据采集板可以构成实际的数据采集系统。它提供了丰富的数据采集、分析及存储的库函数,从基本的数学运算到微分、数字信号处理和回归分析。LabVIEW的内置分析能力能对采集到的信号进行平滑、数字滤波、频域转换等分析处理。同时还支持通过Internet 、Active 、DDE 和SQL等交互式通信方式实现数据共享,它提供的众多开发工具使复杂的测试与测量任务变得简单易行。LabVIEW强大的硬件驱动、图形显示能力和便捷的快速程序设计为过程控制和工业自动化应用提供了优秀的解决方案。
3. 硬件电路的具体的实现
2
3.1数据采集系统
数据采集系统(Data Acquisition简称DAQ)从最基本的角度出发,其主要任务是测量或生成物理信号。插入式DAQ卡仅仅是系统的一个组成部分。一个DAQ系统通常包括(除了插入式DAQ卡之外)信号、传感器或转换器、信号调节以及一套用于获取、处理数据行,分析、显示、存储数据的软件。插入式DAQ卡安装在计算机中。该计算机可以是带有PCMCIA槽的超级计算机、桌面机或笔记本电脑。也可以使用没有插槽的计算机来构建DAQ系统,计算机和DAQ模块之间可以通过各种总线,比如并行端口进行通信。
3.2 DAQ所采集的信号类型
·数字信号(通断开关信号及脉冲序列信号)通断开关信号传输与信号即时数字状态相关的信息。脉冲序列信号,由一系列状态变化组成,包含在其中的信息可以由状态变化的数目、变化发生的速率以及单个或多个状态之间的时间来表示。
·摸拟DC信号(通过给定时刻信号的电平或幅度传输信息)常见直流信号包括温度、电源电压、流速、压力、应变片的输出以及液面高度。
·模拟时域信号(能过电平传输有用信息,而这些电平随时间变化的)与时域信号相关的信息包括到达峰值时刻、峰值、下降时刻、斜率以及峰值形状。物理信号终须以能够充分代表信号形状的速率进行采样及测量。因此,当获取模拟时域信号时,DAQ系统需要使用高带宽的模数转换器对信号进行高频率采样。
·模拟频域信号(与测量时域信号的DAQ系统类似,用于测量频域信号的系统也包括模数转换器、采样时钟和一个可以精确捕捉波形的触发器)
3.3数据采集卡的选择
数据采集部分在整个程序中有很重要的地位。数据采集部分的参数设置正确与否和功能是否正常直接影响到后面的分析、处理、显示等功能能否实现。本次设计采用了北京迪阳公司的DYU18数据采集卡。U18模板是USB总线兼容的数据采集板,可经USB电缆接入计算机,构成实验室、产品质量检验中心、特别是野外测控、医疗设备等领域的数据采集、波形分析和处理系统,也可构成工业生产过程控制的监测系统。
3.3.1 DUY18多功能数据采集卡的重要技术参数
1、模拟信号输入部分
模拟输入通道输入数:16路单端或8路双端输入 模拟输入电压范围:±5V、±10V、0~+10V 模拟输入阻抗100MΩ
模拟输入共模电压范围:>±2V 放大器建立时间:2Us
放大器增益G与电阻RG的运算关系为:G=1+50KΩ/RG 放大器增益与电阻RG的对应关系如下表1所示:
3
表1:放大器增益与电阻RG的对应关系图 增益 1 2 5 10 20 50 100 200 500 1000 2000 5000 10000 RG(Ω) 空 50.00K 12.50K 5.556K 2.632K 1.02K 505.1 251.3 100.2 50.05 25.01 10.00 5.001 最接近的阻值(1%的精度)RG(Ω) 空 49.9K 12.4K 5.62K 2.61K 1.02K 511 249 100 49.9 24.9 9.88 4.94 2、A/D转换电路部分
A/D分辨率:128Bit(4096) 非线性误差:±1LSB(最大) 转换时间:10us
系统测量精度:0.1% 3、D/A转换电路部分 输出通道数:4路
模拟输入电压范围:0~5V、0~10V、±5V、±10V D/A分辨率:128Bit(4096) 非线性误差:±1LSB(最大) D/A输出精度(满量程):±1LSB 建立时间:10μS(0.01%精度) 输出阻抗:0.2Ω 4、开关量输入输出
16路开关量输入,16路开关量输出 数字端口满足标准TTL电气特性 输入TTL电平,吸入电流小于0.5mA
输出TTL电平,最大下拉电流20mA,上拉电流2.6mA 数字量输入最低高电平和最高低电平分别为:2V,0.8V 数字最输出最低高电平和最高低电平分别为:3.4V,0.5V 5、定时计数器 定时/计数器:8253的三个定时/计数器(CLK0、CLK1、CLK2)、门控(GATA0、GATA1、GATA2)及输出(OUT0、OUT1、OUT2)也由XS2引出。 A/D采样通过率:100KHZ
4
3.3.2 DYU18的使用方法
1、 用USB电缆将U18板与主机连接起来,若发光二极管亮,则表示U18板电源已接通。 2、 主机屏幕上会显示检测到artU18设备,接着让你安装驱动程序,您须插入迪阳公司提供的安
装盘。
3、 安装完毕后,打开U18操作系统,即可检测设备是否正常工作。
3.3.3 USB接口的数据采集卡和其它数据采集卡相比具有的特点
(1)、使用方便
使用USB接口可以连接多个不同设备,支持热插拔(即在主机带电情况下,可以动态的插入和拔出设备),在软件方面,为USB设计的驱动程序和应用软件可以自启动,无需用户干预。USB设备也不涉及IRQ、DMA、地址冲突等问题,它单独使用自己的保留中断,不会同其它设备争用PC机有限的资源,为用户省去了硬件配置的烦恼。USB设备能真正做到“即插即用”。
(2)、速度加快
快速性能是USB技术的突出特点之一。USB接口的最高传输率目前可达12Mb/s,比串口快了整整100倍,比并口也快了十多倍。今后USB的速度还将会提高到100Mb/s以上。
(3)、连接灵活
USB接口支持多个不同设备的串列连接,一个USB口理论上可以连接127个USB设备。连接方式也十分灵活,既可以使用串行连接,也可以使用中枢转接头(Hub),把多个设备连接在一起,在同PC机的USB口相接。在USB方式下,所有的外设都在机箱外连接,不必打开机箱:允许外设热插拔,而不必关闭主机电源。USB采用“级联”方式,即每个USB设备用一个USB插头连接到一个外设USB插座上,而本身又提供一个USB插座供下一个USB外设使用。通过这种类似菊花链式的连接,一个USB控制器可以连接多达127个外设,而每个外设间距离(线缆长度)可达5米。USB还能智能识别USB链上外围设备的接入或拆卸。
(4)、独立供电
普通使用串口、并口的设备都需要单独的供电系统,而USB设备则不需要,因为USB接口提供了内置电源。USB电源能向低压设备提供5v、500mA的电源,因此新的设备不需要专门的交流电源了,从而降低了这些设备的成本并提高了性价比。
(5)、支持多媒体
USB提供了对电话的两路数据支持,USB可支持异步以及等数据传输,使电话可与PC集成,共享语音邮件及其它的特性。USB还具有高保真音频。由于USB音频信息生成与计算机外,因而减少了电子噪音干扰声音质量的机会,从而使音频系统具有更高的保真度。
4. 软件设计部分
LABVIEW编程的主要特点就是将虚拟仪器分解为若干基本的功能模块(相当于硬件设计中的集成电路),模块的引脚代表输入/输出接口。编程者可以通过交互式手段,采用图形化框图设计的方法,完成虚拟仪器的逻辑和测量分析功能设计。
4.1 主要功能模块
5
概括地讲,虚拟示波器主要由软件控制完成信号的采集、处理和显示。系统软件总体上包括数据采集、波形显示、参数测量、频谱分析及波形存储和回放等五大模块,其功能结构框图如图4所示。
触发控制 波形显示 电压参数测通道控制 数据采集 数据处理 时间参数测时基控制 数据存储 频谱分析
图4 虚拟数字示波器的功能结构框图
4.1.1数据采集模块
数据采集模块主要完成数据采集的控制,包括触发控制、通道选择控制、时基控制等。其中: ·触发控制包括触发模式、触发斜坡、触发电平控制; ·通道选择主要控制单通道或双通道测量;
·时基控制主要控制采集卡扫描率、每一通道扫描次数(取样数)。 模块的前面板如图5示
图5 数据采集模块的前面板
模块的框图程序如图6示
6
图6 数据采集模块的框图程序
4.1.2 波形显示模块
软件提供了三种波形显示模式:
·A B A&B模式:通过显示通道选择按键\"A\"和\"B\",可以任意显示某一通道或两通道输入信号的波形;
·XY模式:当两通道都处于选通状态时,使用此模式来显示李沙育(Lissajous)图形、测量相位差或频率;
·A+B A-B模式:当两通道都处于选通状态时,使用此模式来显示两通道信号代数相加、相减后的波形。
模块的前面板如图7示
图7 波形显示模块的前面板
7
模块的框图程序如图8示
图8 波形显示模块的框图程序
4.1.3 参数测量模块
参数测量模块主要模拟HP 54603B的参数测量功能,完成包括Vrms等12个电压参数和频率、周期等7个时间参数的测量并显示其测量结果。 模块的前面板如图9示:
图9 模块的前面板
模块的框图程序如图10示
图10 模块的框图程序
8
4.1.4 频谱分析模块
频谱分析模块采用快速FFT算法完成频域信号分析。可实现的频谱分析控制包括: ·Window选择,提供了9种频谱分析窗口;
·Log/Linear选择,提供了2种坐标显示模式; ·Display Unit选择,提供了8种单位。 频谱分析模块的前面板如图11示
图11 频谱分析模块的前面板
频谱分析模块程序框图程序如图12:
图12 虚拟数字示波器频谱分析模块程序
4.1.5 数据存储和回放模块
在实时数据采集的同时,将数据存放到寄存器里,通过拖动显示屏可以回顾数据显示,但是那些数据是暂时存放在寄存器里,随着程序的结束而丢失。如果想要永久保存这些数据,在数据采集的同时,点击“写盘”,则可以选择将数据保存到软盘或硬盘。保存数据的大小只受软盘或硬盘容量的限制。
主面板提供了两个文件名输入框,前一个为信号波形数据文件名输入框,后一个为采样周期
9
文件名输入框,这两个文件由写盘功能和读盘功能共用。当按下“写盘”按钮后,这个按钮状态保持为“TURE”,并且按钮颜色变为绿色,表示此时一直在进行存盘操作。对应的程序里,用这个按钮的状态来控制是否进行存盘操作。当按下“读盘”按钮后,这个按钮状态保持为“TURE”,并且按钮颜色变为绿色,表示此时一直在进行读盘操作。将保存在磁盘上的数据回放显示。从软盘或硬盘上读取的数据同实时采集的数据一样,能够进行自动参数测量以及显示波形并保留在显示窗口(显示模式可以设置为三种模式中的任意一种),还可以根据需要设置进行频谱分析。 图为数据存储和回放模块在主程序中的VI流程图:
图12 数据存储和回放模块
4.1.6打印模块
打印能允许用户将界面上可见部分输出到计算机默认的打印机。计算机的型号不限,可以是针式、喷墨和激光中的任一种。 图14为波形打印模块的框图
图14 波形打印模块框图程序
图为波形打印模块在主程序中的位置
图15 波形打印模块在主程序中的位置
10
4.2 主要控制结构 4.2.1 测量控制结构
通过逻辑按键\"测量\"控制是否进行测量;通过逻辑按键\"通道\"控制通道选择。
4.2.2 自动调整扫描率控制结构
由逻辑按键组\"自动\"、\"手动\"来控制是自动调整扫描率还是手动调整扫描率。
4.2.3 正常显示、记忆显示控制结构
由双功能逻辑驱动键\"正常/记忆\"控制,缺省为正常显示。处于正常状态时,最多只能显示A、B两通道输入的2个信号的波形;处于记忆状态时,最多可以记忆显示A、B两通道输入的17个信号的波形(A通道可记忆显示16组信号数据,B通道只能记忆显示1组信号数据)。在实际应用中,记忆显示功能主要用于测量信号的抖动情况或比较分析两个以上的信号波形。
由以上的程序中可以看出LABVIEW程序设计过程与人们设计仪器的思维过程十分相近,程序框图就实现了程序代码功能,避免了一般程序设计从框图构思到程序表示的繁琐。LABVIEW编程的另一个优点是将软件的界面设计与功能设计独立开来,修改人机交互界面无需对整个程序进行调试,这对设计像仪器操作面板这样复杂的人机界面而言是十分方便的。LABVIEWW还为用户提供了函数扩展功能,利用LABVIEW中的Code Interface Node(CIN),可以调用用C等传统编程语言写的程序代码;利用LABVIEW中的Call Library Function,可以调用标准动态链接库(.DLL)。总之,LABVIEW作为图形化编程语言环境,为虚拟仪器开发提供了一种快捷、方便和功能强大的软件工具。
5. 运行结果与结论
图为虚拟示波器测量正弦波,方波,矩形波时的波形图:
图16 运行结果显示
该虚拟数字示波器不仅具有一般台式数字存储示波器的功能,而且充分发挥了微机强大的功能和软件设计的灵活性,主要技术特点表现在:
(1)采用图形化编程语言LABVIEW和面向对象编程技术,软件开发效率高,可操作性和可维护性好;
(2)为数字存储示波器增加了频域分析功能;
11
(3)充分利用了计算机的存储与外设连接的能力,测量结果和波形可直接打印输出或通过网络共享;
(4)硬件具有开放性,允许通过升级硬件来提高其性能;
(5)在相同硬件条件下,可以通过修改或增加软件模块,形成新的仪器功能。
虚拟仪器设计已经成为测试与仪器技术发展的一个重要方向。随着高速A/D芯片和电路的进一步集成化,可以设想在不远的将来,一台安装有虚拟仪器软件的标准微机成为一个多功能的测量仪器站,从根本上改变目前专用仪器的研制和生产方式,具有广阔的应用前景和巨大的潜在经济效益。
本虚拟数字示波器设计时参考了HP公司的双通道台式数字存储示波器HP54603B的功能,并在仪器分析和处理功能上有所扩展。仪器主要功能包括:双通道信号输入、触发控制、通道控制、时基控制、波形显示、参数自动测量、频谱分析、波形存储和回放等。本虚拟数字示波器还提供网络接口,允许通过TCP/IP协议实现网络仪器共享或远程控制。表2是本虚拟数字示波器与HP54603B的功能对照表。
表2 虚拟数字示波器与HP54603B的功能对照表 示波器 HP54603B 虚拟数字示波器 比较项目 采样频率:100ks/s 采样频率:20MS/s 数据采集 分辨率:12bits 分辨率:8bits 通道A或B; 通道1或2; 波形显示模式 X-Y mode X-Y mode A+B及A-B 1+2及1-2 电压参数测量 Vrmsd 等12个参数 Vrmsd 等7个参数 时间/频率参数测量 7个参数 7个参数 定位标尺 两个 两个 分析功能 频谱分析 无 数据存储 硬盘或软盘 2组易失性存储器 网络支持 有 无 测量结果显示 所有结果同时显示 最多显示3个
由表2可以看出,除了由于经费原因使得所选数据采集卡采样速率低于HP54603B外,本虚
拟示波器在显示、测量、分析、存储和外部连接等方面的功能都不低于甚至高于HP54603B。 附件 :
12
13
因篇幅问题不能全部显示,请点此查看更多更全内容