0 引言
任意波形发生器是一种常用的信号源,可广泛用于科学研究、生产实践和教学实践等领域。传统的波形发生器大多采用模拟电路技术,一般由分立元件构成,其电路结构复杂、体积庞大、稳定度和准确度较差,而且仅能产生正弦波、方波、三角波等几种简单波形,难以产生较为复杂的波形信号。
随着微处理器性能的提高,新型的波形发生器大多已采用软件仿真而不是单纯的用分立元件来搭建电路,因而有效的解决了传统信号发生器的缺点。虚拟仪器的出现是仪器发展史上的一场革命,代表着仪器发展的方向和潮流,是信息技术的一个重要领域。
本文将结合虚拟仪器技术来进行多通道任意波形发生器、以及信号采集和分析的研究与设计。其硬件开发平台采用ADLINK公司的DAQ2206数据采集卡,软件开发平台为NI公司的LabVIEW软件。
LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是美国国家仪器公司的创新软件,被誉为“科学家与工程师”的语言。LabVIEW为不熟悉文本语言编程的设计者在测控领域建立计算机仪器系统提供了便捷、轻松的图形化设计开发集成环境。
LabVIEW集成了满足GPIB、VXI、RS-232和RS-485协议硬件及数据采集卡通讯的全部功能.同时内置有便于应用TCP/IP、ActiveX等软件标准的库函数。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。
LabVIEW中图形化的程序语言又称为“G”语言。使用这种语言编程时,基本上不写程序代码,取而代之的是流程图。该方法尽可能利用技术人员所熟悉的术语、图标和概念,因此,LabVIEW是一个面向终用户的工具。
在进行波形发生器的设计中,使用LabVIEW仿真软件不仅可以实现仪器编程和数据采集的便捷途径,而且在原理研究、设计、测试和实现仪器功能时,还可以大大提高工作效率。
1 系统总体方案
本系统主要由硬件和软件两部分构成。硬件部分包括数据采集卡和PC机,软件部分则主要是基于LabVIEW软件开发的虚拟仪器测试系统。系统总体方案如图1所示。
将系统数据采集卡DAQ2206插在计算机和PCI扩展槽中,计算机便可通过LabVIEW软件产生几个常用的通信调制信号(例如2ASK,2FSK,2PSK),再将这些信号经过DAC变成模拟信号输出,该数据采集卡就可将该模拟信号传送到示波器,由示波器显示相应信号的波形。此外,采集卡还能够从波形发生器接收信号,然后经过ADC传送给计算机,并通过LabVIEW软件对信号进行分析及显示。
系统数据采集主要通过LabVIEW仿真软件来支持NI公司的DAQ2206卡。将DAQ2206采集卡插入计算机的插槽并设置相关参数.再利用LabVIEW进行编程开发,就可实现数据采集功能。
本数据采集卡是虚拟仪器的硬件模块。因为要关系到和PC总线的接口,该硬件模块应有一个比较规范的标准;同时,为了方便底层驱动软件的编制,它还应有一个标准的接口,以向驱动程序透明。这个接口包括读取硬件的状态信息和对硬件进行设置等。而通过计算机接口则可以为硬件模块和操作系统提供标准的硬件连接。
系统中的仪器驱动程序模块可利用硬件模块向系统提供标准接口,以实现对硬件的控制,完成对硬件的管理;同时可向上模块(即虚拟仪器软件开发平台模块)提供标准的调用接口,以使高层的软件设计与硬件无关。
虚拟仪器软件开发平台是用户进行单一虚拟仪器或虚拟仪器测试系统设计生成的用户平台。它应该提供一个图形化的编程设计环境,以方便用户的开发,缩短开发周期。其中数据分析模块库和界面控制库是LabVIEW和LabWindow/CVI的基础。也可以按照标准化的思想,借鉴数据分析模块库和界面控制库的模块,利用VC++、VB、C++Builder等程序语言开发自己的虚拟仪器平台。但这一模块要向上一层提供一个接口,此接口也是提供给虚拟仪器或虚拟仪器测试系统的开发接口。
对于用户而言,其软件面板的设计直接决定了仪器的易用性以及功能和可扩充性。
2 信号的产生
2.1 基带信号的产生
基带信号是一个随机的单极性矩形脉冲序列。可通过以下的G语言程序来设计基带信号。
首先编写一个可以任意编码(0或者1)的数组,然后通过对每个码字的循环来形成一定脉宽的脉冲,再由此形成任意的脉冲信号,这就是基带信号。图2所示是基带信号产生框图。
2.2 2ASK信号的产生
2ASK是二进制的振幅键控信号。通常可用模拟振幅调制方法形成2ASK信号。一个二进制的振幅键控信号可以表示成一个单极性矩形脉冲序列与一个正弦载波的乘积。图3所示是2ASK信号产生的整体框图,从图中可以看出。它是由基带信号和正弦载波信号相乘得到的。
2.3 2FSK信号的产生
2FSK是二进制频移键控信号。这里采用键控法实现2FSK信号,即利用受矩形脉冲序列控制的开关电路来对两个不同的独立频率进行选通。其产生框图如图4所示。
首先定义两个载波信号f1和f2,再通过一个选择器对两路载波进行选择。若设定f1=1 Hz,f2=4Hz,矩形脉冲的循环次数为5,那么,矩形脉冲的频率为0.2 Hz。一般地,当脉冲为0时,选择频率为1 Hz的载波信号;当脉冲信号为1时,选择频率为4 Hz的载波信号。
2.4 2PSK信号的产生
在编写2PSK的波形发生器时,只要在2FSK的基础上进行一下修改就可以了。但是,信号输入端的复位信号通常需要赋值。这就需要加上一个布尔控制量。因为只有使每次循环后的信号复位,才能得到所需要的2PSK信号。如果不加这个布尔控制量,就实现不了相移键控。
3 信号的模拟输入
3.1 模拟输入的相关参数
模拟输入是采集基本的功能。它一般通过多路开关(MUX)、放大器、采样保持电路以及A/D来将一个模拟信号转化为数字信号。A/D的性能和参数直接影响着模拟输入的质量,设计时要根据实际需要的来选择合适的A/D。
3.2 模拟输入的相关模块
图5是对数据采集卡的初始化模块,图6是A/D数值转换模块。它们都是模拟输入的相关模块。
4 信号的模拟输出
4.1 模拟输出相关模块
模拟输出通常采用中级模拟输出模块。可先对数据采集卡进行初始化,以指定信号输出通道的工作,然后再建立缓冲区,写出多通道信号信息的工作。图7所示是模拟输出信号的初始化框图。
4.2 多路模出信号写入buffer
本文利用循环写入的方式来将两个信号写入数据采集卡的buffer之中。图8所示是其循环采样框图。
5 结束语
任意波形发生器是一种常用的信号源,可广泛用于科学研究、生产实践和教学实践等领域。虚拟仪器的出现是仪器发展史上的一场革命,代表着仪器发展的方向和潮流,是信息技术的一个重要领域。新型波形发生器中基于虚拟仪器的波形发生器在近几年内得到了迅速发展,并将逐渐取代传统的信号发生器而成为研究领域的主流。虚拟仪器技术不仅是2l世纪仪器发展的方向,而且会逐步取代传统的硬件化电子仪器,从而使成千上万种传统仪器都融人计算机体系中。
[1]. RS-232 datasheet https://www.dzsc.com/datasheet/RS-232_584855.html.
[2]. RS-485 datasheet https://www.dzsc.com/datasheet/RS-485_584821.html.
[3]. PCI datasheet https://www.dzsc.com/datasheet/PCI_1201469.html.
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。