LabWindows/CVI 在虚拟信号发生器设计中的应用
20 世纪80 年代中后期,国外提出了“虚拟仪器”、“虚拟系统”的概念,随着微电子技术、计算机技术的飞速发展及其在测量与仪器上的应用,测试领域的新理论、新方法以及仪器结构不断出现,突破了传统仪器的概念,继而开创了仪器仪表的新时代——虚拟仪器。虚拟仪器技术最核心的思想就是利用计算机的硬/软件资源,使本来需要硬件实现的技术软件化(虚拟化),以便最大限度的降低系统成本,增强系统的功能和灵活性。
虚拟仪器技术的实质是利用最新的计算机技术来实现和扩展传统仪器的功能。其基本构成包括计算机、虚拟仪器软件、硬件接口模块等。在这里,硬件仅是为了解决信号的输入输出,软件才是整个系统的关键。当基本硬件确定了以后,就可以通过不同的软件实现不同的功能。虚拟仪器应用软件集成了仪器的所有采集、控制、数据分析、结果输出和用户界面等功能,使传统仪器的某些硬件甚至整个仪器都被计算机软件所代替。虚拟仪器系统的设计与实现已成为仪器产业发展的一个重要方向,代表着一起发展的最新方向和潮流,是信息技术的一个重要领域,开创了个人计算机仪器时代,是测量仪器工业发展的一个里程碑,其思想将更多地渗透到未来电子测量仪器和自动化测试技术的发展中去,有着广泛的发展和应用前景。
1 硬件组成
虚拟仪器的硬件平台主要是解决信号的输入输出,由计算机和I/O 接口设备组成的,计算机是硬件平台的核心,一般是工作站、工控机,亦可以是普通的带总线插槽的个人计算机. I/O接口设备负责被测信号的采集、调整、放大,以及A/D 转换。本文中硬件由工控机及其接口,数据采集卡和放大及滤波电路构成,其原理框图如图1 所示:
图1 硬件原理框图
本设计用的数据采集设备是采用 NI 公司生产的1200 系列Lab-PC-1200,这是一种性能优良低价位适合PC 及兼容机的数据采集卡,它能够完成信号采集(A/D),数字信号的模拟输出(D/A)及定时/计数功能。它具有8 个12 位模拟量输入通道, 2 个12 位模拟量输出通道, 24 个数字量I/O 接口和3 个16 位定时/计数器。Lab-PC-1200 输出的模拟信号通过滤波器进行滤波平滑、放大后即可使用。其中滤波器的选择视输出信号频率范围而定,放大倍数根据实际需要分不同的档位。
2 仪器面板设计
仪器软件开发采用的是美国 NI 公司的虚拟仪器开发环境LabWindows/CVI,它是基于C语言的半图形化软件开发平台,将使用灵活的C 语言平台与用于数据采集、分析和显示的测控专业工具有机结合起来,利用它的集成开发环境、交互式编程方法、函数面板和丰富的库函数大大增强了C 语言的功能,为熟悉C 语言的开发设计人员便于编写检测系统、自动测试系统、数据采集系统等应用软件提供的一个理想的软件开发环境。面板设计过程包括创建控件和修改控件属性两部分,设计的前面板如图 2 所示。
图2 仪器前面板
2.1 创建控件
用户界面共 6 个控件:两个Graph 控件,三个Ring 控件,一个Command Button.。启动CVI 在工程窗口中选择File→New→UserInterface(*.uir),打开用户界面编辑窗口,在其中点右键,依次选择Graph 控件,Ring 控件和 Command Button.,依次拖放好各自位置。
2.2 修改控件属性
波形选择 Ring 控件主要是要产生几种波形选项,包括无,正弦波,三角波,锯齿波,方波。双击Ring 控件进行设置,将Label 设置为“波形选择”将ConstantName设置为“WAVEFORM”将Callback Function 设置“WaveFormChooseCB”,然后通过Label/ValuePairs…设置Ring 控件的选择项。Graph 控件和Command Button 控件设置与Ring 控件类似。修改完成后,选择 File→Save as,保存.uir 文件,其文件名为信号发生器.uir 保存,点击Save 关闭保存文件对话框。
3 仪器程序设计
仪器的程序设计是整个虚拟仪器的核心部分,在用户完成用户界面设计后,CVI 可自动生成程序的框架以及缺醒消息处理函数,只要在这些函数中添加所需的代码即可完成程序的设计。具体操作如下:在用户界面窗口菜单中选择Code→Generate All Code,点OK 键即可进入代码编辑窗口,即可生成程序的框架,限于篇幅有限,本文只写出自己根据仪器需要自己编写的部分代码。首先在源代码窗口main 函数上方输入如下代码声明变量和函数,如
完成波形选择函数:
编写调用函数show_wave()
当点击用户界面上的波形选择时,程序将自动执行WaveFormChooseCB 函数,实现函数波形和频谱的产生并显示。
添加完成以上代码添加后,在源代码窗口里选择
LabWindowsCVI虚拟信号发生 相关文章:
- 频宽、取样速率及奈奎斯特定理(09-14)
- 为什么要进行信号调理?(09-30)
- IEEE802.16-2004 WiMAX物理层操作和测量(09-16)
- 为任意波形发生器增加价值(10-27)
- 基于PCI 总线的高速数据采集系统(09-30)
- 泰克全新VM6000视频测试仪助力数字电视等产品测试 (10-06)