1
基于Labview7.0虚拟信号发生器的实现
2008-12-20 15:59:03 admin 浏览:2393次 【

摘 要: 本文介绍了基于Labview7.0的虚拟正弦,余弦,方波,锯齿波,三角波信号发生器的实现.可以根据需要,改变波形的频率和幅值,保存波形的分析参数到指定文件,并介绍了基于USB数据采集卡的虚拟信号输出. 
关键词: Labview7.0  子VI  保存数据   USB数据采集卡
 

1、引 言

    所谓虚拟仪器,实际上就是一种基于计算机的自动化测试仪器系统。虚拟仪器通过软件将计算机硬件资源与仪器硬件有机的融合为一体,从而把计算机强大的计算处理能力和仪器硬件的测量,控制能力结合在一起,大大缩小了仪器硬件的成本和体积,并通过软件实现对数据的显示、存储以及分析处理。虚拟仪器的应用提出了“软件即仪器”的概念。
      Labview(Laboratory Virtual instrument Engineering)是一种图形化的编程语言。它广泛地被工业界、学术界和研究实验室所接受,能够实现标准的数据采集和仪器控制功能。Labview集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能,它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。这是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣,简单。
    Labview7.0版本比以往任何一个版本都有丰富的工程技术,它主要的创新变化是包括了一个增强的开发环境,无需编程的交互式测量,用于高级应用的强有力的编程工具以及更广泛的嵌入运行的对象。所以在Labview7.0版本下能够更为方便地实现虚拟信号发生器。

2、虚拟信号发生器的软件设计思路

(1) 虚拟信号发生器的前面板设计

    通过选择信号类型,虚拟信号发生器能够实现正弦,方波,三角波,锯齿波和余弦信号的输出,而且,通过调节旋钮可以改变所选输出波形的幅值和频率。如图1所示,在“选择信号类型”中选择的是正弦信号,可以通过旋钮来调节正弦幅值,相应的幅值在“正弦幅值”中显示,图中的幅值为27.6621;频率也可以类似地调节,图中的信号频率为30Hz。“保存”按钮是将信号分析的参数保存在指定的文件中,可以用word或者在Labview中打开,查看信号参数具体的数据。信号分析时的数据采样的频率是可以变化。输出的信号的波形在前面板右边的“Graph”图中显示出来。
    同样的操作,可以实现虚拟方波,三角波,锯齿波和余弦信号,同时也可以调节相应的幅值和频率,也可以将波形参数保存到指定的文件中。
    “停止”按钮的作用是使整个运行着的程序停止。图1是虚拟信号发生器的前面板,每个模块对应着一种信号.选择不同的信号后,调节相应的模块上面的旋纽,可以改变所选信号的幅值和频率,此时调节其它的模块是不起作用。虚拟信号发生器很容易地实现了信号的参数调节。
 
图1  虚拟信号发生器前面板

(2) 程序框图的设计

 
图2  虚拟信号发生器的程序面板

    LABVIEW是采用图形化的编程语言,整个虚拟信号发生器的程序采用的“case”结构,在每个“case”结构中用“for”循环实现一种虚拟信号。把“选择信号类型”作为“case”语句的判断条件,根据判断条件进入不同信号发生的帧。如图2,选择的是方波信号,前面板的“Graph” 也应该显示方波信号。
     Labview7.0版本比以前的任何版本强大的功能之一是:它把常用的38个的功能做成了子VI,在设计者编程的时候可以直接调用。对于方波信号,如图2,这里调用了“Simulate Signal”这个子VI,它能够发生正弦,方波,锯齿波以及三角波信号,调用它作为信号发生源。通过“方波幅值”和“方波频率”这两个旋钮来调节方波的幅值和频率。由于信号的幅值通过旋钮调节不是很直观,于是,用一个显示件(“方波幅值”显示件)来显示所选择的“方波幅值”的具体的数值。所以 ,当调节“方波幅值”这个旋钮的时候,下面的“方波幅值”显示当前所选的幅值数值。见图1,选择的是正弦信号,“正弦幅值”为27.6621。
     Labview的强大功能在于它对信号的采集,分析,和输出控制。在虚拟信号发生器中调用了“Amplitude and level Measurement”这个子VI来对所选择的输出信号进行分析,它能够直接分析出信号的各种参数。选择“最大值”,“最小值”和“峰-峰值”作为信号的参数,当然还可以选择其它的参数输出,例如频率,幅值等等。
     对信号进行分析之后,用户有时希望对有用的信号参数进行保存。这里调用了“Write LabView Measurement File”这个子VI,它的功能是能将所输入的信号采样并且保存到指定的文件中,在这子VI的属性中可以指定保存信号的文件路径。例如图2中的方波信号,设计者将它保存到G:\信号发生器\方波信号.lvm中。文件可以用word或者在Labview中打开。当然在Labview中可以将数据保存到指定的其它文件类型的文件中,如文本文件。在这个子VI的前面可以用一个按钮来控制对信号参数保存的开与关,所以在前面板的每个信号控制模块中都有“保存”这个按钮,通过这个按钮可以控制信号参数保存的开与关。
    对于正弦,三角波,锯齿波以及余弦信号,可以采用相同的设计思路。所有的信号输出在同一个“Graph”中显示出来,同时采用USB数据采集卡的I/O输出子VI可以通过USB口对外进行信号输出,提供给用户需要的信号。

3 、 硬件设计思路

    Labview很容易通过软件来实现虚拟信号的发生,但是虚拟信号发生器需要将不同频率和不同幅值的各种信号通过软件输出来提供给用户。在Labview中是通过数据采集卡把虚拟信号输出提供给用户。“软件+采集卡=仪器”,这就是虚拟仪器的模型。
USB数据采集卡有很多种类型,这里选用一款不需要开发协议固件和驱动程序的USB总线接口芯片CH371。
 
    CH371是一个USB总线的通用接口芯片,它利用硬件逻辑屏蔽了USB 通讯中的所有协议,在计算机应用层与本地端控制器之间提供端对端的连接。基于CH371,设计者不需要了解任何USB协议、固件程序以及驱动程序,可以轻松地将原来的并口、串口的产品升级到USB接口,以较低的风险和成本享用USB接口带来的优越性。
    使用时在本地端,CH371具有8位数据总线和读、写、片选控制线以及中断输出,就像操作一般外设芯片一样方便地挂接到DSP、MCU等控制器的系统总线上;在计算机端,CH371的配套软件包括通用驱动程序以及应用软件包,提供了简洁易用的操作接口,与本地端的单片机通讯就如同读写硬盘中的文件一样简单,开发者可以使用VB、VC、C++Builder等高级语言进行开发。
    一般情况下,基于CH371设计USB产品不必考虑USB通讯协议、固件程序、驱动程序、配置过程、底层数据传输过程。设计者所要做的工作与设计并口、串口的产品一样,包括两件事:一是从计算机的应用层发出数据传输请求并接收应答;二是当USB 产品的控制器被通知有数据传输请求时,做出应答。同时,CH371在提供了透明的USB协议的基础上还提供了I2C器件的直接管理、16个地址的直接读写以及复位、看门狗等功能,本地端甚至不使用单片机就可完成简单的控制功能,因此具有较强的功能适应性,能够满足不同场合的需要,有效的降低系统成本。
    CH371动态链接库提供的API函数主要包括:设备管理API、数据传输API、中断查询API、I2C 操作API和直接控制API。其中设备管理API对于一般产品开发不需要用到;数据传输API是最重要最常用的一组函数,他提供了多种数据传输模式;中断查询API一般用于USB设备使用到中断传输的场合;I2C 操作API用于对CH371控制的I2C器件进行读写,一般用于存放产品信息;直接控制API是用于CH371直接输入输出信号,包括设置、输入和输出三部分组成,我们要使用它来设置采集卡的模式。在实际应用中使用VB6作为计算机端应用软件的开发平台,首先要将USB提供的驱动程序、动态链接库拷贝到计算机中,再将动态链接库的访问入口及函数定义入口添加至VB6项目中,就是将提供的VB6实例程序中的module功能模块添加到自己的工程项目下即可。此时对USB设备的通信编程就几乎和访问本地硬盘中的文件差不多了。

4、总结

    基于USB口的虚拟信号发生器,基本功能已经实现,当然还有待进一步的完善。虚拟信号发生器的设计不但充分利用了LabVIEW7.0的强大功能,更重要的是,它通过USB口输出信号,使用方便,即插即用。


参考资料
 (1) 杨乐平,李海涛  LabVIEW程序设计与应用(第1版)。 北京  电子工业出版社 2001
(2)焦志涛  基于CH371的USB接口虚拟示波器设计  21IC中国电子网
(3)杨乐平,李海涛   虚拟仪器技术概论(第1版)。北京 电子工业出版社 2003         
(4)NI公司  labview7 图形化开发软件和户用手册。NI公司 
(5)杨乐平,李海涛,赵勇   LabVIEW高级程序设计。北京 清华大学出版社 2003    
(6)http:// www.ni.com/china/labview

1 条评论
查看更多评论
  • 附件包括开题报告、论文、源程序1本选题的意义及国内外发展状况1.1研究目的和意义    随着工业自动化程度不断发展,对位移测量的精准度、效率以及..

    浏览:3992次 评论:0
    2020-02-21 09:30:14
浏览:5526次 评论:0
2018-05-13 22:08:20
浏览:8087次 评论:1
2018-04-14 20:41:34
  • 摘 要:探讨在MATLAB中使用FIS编辑器与Simulink相结合的方法构造模糊推理结构,并通过MATLAB Script Node实现LabVIEW与MATLAB的混合编程,设计出具有模糊自整..

    浏览:4554次 评论:0
    2017-07-28 15:43:26
  • 摘要:针对现代工业过程控制中实时通讯要求和现场总线存在的缺点,用现在流行的开放式标准接口技术OPC规范,设计了一种基于LabV IEW的PC与PCC实时数据通讯方..

    浏览:4589次 评论:0
    2017-07-28 15:27:50
作者专栏
  • sltang

    注册时间:2024-12-21 15:45:59

  • samhuang63

    注册时间:2024-12-20 09:42:58

  • csq663347

    注册时间:2024-12-05 16:34:39

  • guohuiming

    注册时间:2024-11-14 08:49:44

  • 机飞弹打

    注册时间:2024-11-11 13:46:27

Copyright@http://nilab.com.cn all rights reserved 备案号:京ICP备12043750号-1
Powered by qibosoft V9.0 Code © 2003-2017 qibosoft
LABVIEW之家 QQ:181237912; email:Labviewzj@qq.com 项目合作 微信及手机:18510627229