当前位置:首页 > VXI虚拟仪器关键技术分析
VXI虚拟仪器关键技术分析
1、引言
虚拟仪器是以一种全新的理念来设计和发展的仪器。和传统仪器不同,虚拟仪器本质上是一个开放式的结构,由数据采集系统作数据采集,通过GPIB或VXI总线,由通用计算机、DSP或其他CPU来作相应的信号处理、存储与显示,就可能提供各种仪器的功能。由于微机或工作站的开放式结构,虚拟仪器的功能完全是由用户定义的,并且,随着计算机功能的加强,虚拟仪器的处理功能日益优于传统的仪器。 虚拟仪器的概念不仅适用于VXI系统,但VXI系统为虚拟仪器概念的实现提供了理想的环境。VXI bus标准和VPP规范的建立,使高密度、高效率、高速度、高度开放性、高可靠性和高度规范化的模块化仪器走上了标准化的道路,为自动测试技术的发展提供了新的技术支持,从而得到了积极的响应、迅速发展和推广应用。
2、VXI虚拟仪器的硬件平台
VXI虚拟仪器的硬件平台的基本组成是一些通用模块和专用接口。通用模块包括:(1)信号调理和高速数据采集;(2)信号输出与控制;(3)数据实时处理。这三部分概括了数字化仪器的基本组成。将具有一种或多种功能的通用模块组建起来,就能构成任何一种虚拟仪器。例如使用高速数据采集模块和高速实时数据处理模块就能构成一台示波器、一台数字化仪或一台频谱分析仪;使用信号输出与控制模块和实时数据处理模块就能构成一台函数发生器、一台信号源或一台控制器。专用接口是针对特定用途仪器需要的设计,也包括一些现场总线接口和各类传感器接口。
基于VXI总线的虚拟仪器将多种技术结合起来,诸如高速ADC应用技术、标准化的触发协议、共用存储器协议、局部总线通路等。高速A/D变换器是确保信号采集精度和带宽的根本。随着微电子技术和大规模集成电路技术的发展,ADC位数和速度不断提高,程控仪器放大器不断完善,数据传输能力不断提高,为建立灵活、高性能信号拾取奠定了基础;严格控制模块的触发和同步协议是保持虚拟仪器高性能的关键。 VXI具有8根TTL触发线和2根ECL触发线用于模块的交叉同步,系统时钟可分配到VXI的每一个模块上,以确保模块间的定时精度;局部总线(Local Bus)通路作为相邻模块间专用通信路经,支持更高数据传输速度。
在实现VXI虚拟仪器的硬件平台时,两个关键技术是模块的设计和高速实时数据处理的实现。
2.1VXI仪器模块的设计原则
VXI仪器模块又称为器件(devices)。VXI有四种器件:寄存器基器件、消息基器件、存储器器件和扩展器件。存储器器件不过是专用寄存器基器件,用来保存和传输大量数据。扩展器目前是备用件,为今后新型器件提供发展通道。将VXI仪器制作成寄存器基器件,还是消息基器件是首先要作出的决策。寄存器基器件的通信情况极像VME总线器件,是在低层用二进制信息编制程序。它的明显优点在于速度——寄存器基器件完全是在直接硬件控制这一层次上进行通信的。这种高速通信可以使测试系统吞吐量大大提高。因此,寄存器基器件适用于虚拟仪器中信号/输出部分的模块(如开关、多路复用器、数/模转换输出卡、模/数转换输入卡\信号调理等)。消息基器件与寄存器基器件不同,它在高层次上用ASCII字符进行通信,与这种器件十分相似是独立HP-IB仪器。消息基器件用一组意义明确的“字串行协议”相互进行通信,这种异步协议定义了在器件之间传送命令和数据所需的挂钩要求。消息基器件必须有CPU(或DSP)进行管理与控制。因此,消息基器件适用
于虚拟仪器中数字信号处理部分的模块。
2.2高速实时数据处理
在虚拟仪器中数字信号处理(DSP)十分重要,它可使出测量的重复性和稳定性提高,它的计算能力可使虚拟仪器以算法为基础实现多种功能,并人吏其测量精度和速度仅受信号调理的影响。同时,DSP构成时域测量与频域测量的桥梁,可方便地实现时-频特性的变换。但是,随着信号分析带宽的增长、精度要求的提高,DSP处理瓶颈问题成为VXI虚拟仪器实现的关键问题。一种有效的办法是采用多DSP并行处理。在VXI虚拟仪器系统中如何实现多DSP并行处理,以及多DSP并行处理算法是研究的热点之一。
2.3VXI仪器接口设计
VME总线将器件的接口总线功能分为主模块功能、从模块功能、总线请求模块功能、总线促裁模块功能、中断管理模块功能、中断模块功能、IACK菊花链驱动模块功能以及实用总线的一系列模块功能,VXI仪器与控制模块应实现什么样的接口功能,取决于该模块采用的器件类型和对VXI总线资源的要求。
在VXI总线中以一种等级管理方式管理VXI系统,引入了命令者和从者的概念。命令者模块可设置从者区域,指定一些寄存器基器件作为它的从者。当向命令者发送高级ASCII命令,命令者对这些命令作出解释,然后将必要的二进制信息发送给寄存器基受令者。因此,命令者具有主模块功能,并应支持信号产生能力、响应产生能力、事件产生能力、27个VXI字串行命令等协议的执行。如果命令者是0#槽控制器,还须支持两个对MODID线操作的命令,同时,应具有资源管理功能:完成VXI系统中所有器件的识别、VXI系统自检和诊断、VXI系统A24和A32地址空间分配、VX系统等级管理以及启动正常系统操作等功能。
消息基器件需实现支持字串行协议。实现支持字串行协议有两种方法,第一种方法是使用专用I/O电路,用硬件对字串行命令译码。由于字串行已标准化,故对I/O接口有可能利用专用硬件电路获得更好的性能。第二种方法是把CPU(或DSP)引人接口,使用软件命令译码。用软件对字串行命令译码时,微处理器的地址线和数据线与仪器电路、VME总线相连。在这种方式中,用户可以利用这些连线灵活地使用VME中已有的各种通讯方法。这种方式灵活简便的特性使它成为最常用的方法。
3、VXI虚拟仪器的软件平台
软件是虚拟仪器的关键。应用软件为用户提供了建立虚拟仪器和扩展其功能的必要工具,以及利用PC机、工作站的强大功能。同时VPP联盟提出了建立虚拟仪器标准结构库(VISA)的建议,为虚拟仪器的研制与开发提供了标准。这也进一步使由通用的VXI数采模块、CPU/DSP模块来构成虚拟仪器成为可能。
VPP联盟提出的虚拟仪器体系结构如图3所示的五层结构。最低层的资源管理软件执行VXI总线系统特性、系统的初始化与组态;在建立VXI虚拟仪器过程中,用户通过资源编译器组态VXI系统;通过交互式控制工具监控和调试VXI系统背板和VXI器件;通过调用功能库实现VXI底层通讯协议。 VISA不仅适合于VXI,也适合于GPIB等其它总线,VXI总线接口软件必须与其他仪器系统的软件结构兼容,以便于系统集成。
仪器驱动器完成对某一特定仪器的控制与通信,包括软面板和三层资源(I/O层资源,仪器层资源,用户定义的资源、),是VXI总线虚拟仪器的核心,是完成对仪器硬件控制的纽带和桥梁。应用软件开发环境将计算机的数据分析和显示能力与仪器驱动器融合在一起,为用户开发虚拟仪器提供了必须的软件工具和环境。
下面简单介绍以NI公司的Lab Windows/CVI为开发环境,来进行VXI虚拟仪器的驱动程序开发的方法。
第一步:生成仪器模块的用户接口资源文件(.UIR):用户接口资源、文件是仪器模块开发者利用Lab Windows/CVI的用户界面编辑器为仪器模块设计的一个图形用户界面(GUI)。一个Lab Windows/CVI的GUI由面板、命令按钮、图标、下拉菜单、曲线、旋钮、指示表以及许多其他控制项和说明项构成。图4是多通道数据采集与频谱分析仪的一个面板设计。
第二步:Lab Windows/CVI事件驱动编程:应用程序开发环境Lab Windows/CVI中设计一个用户接口,实际上是在用户计算机屏幕上定义一个面板,它由各种控制项(如命令按钮、菜单、曲线等)构成。用户选中这些控制项就可以产生一系列用户接口事件(events)。例如,当用户单击一个命令按钮,这个按钮产生一个用户接口事件,并传递给开发者编写的C语言驱动程序。这是运用了Windwos编程的事件驱动机制。Lab Windows/CVI中使用不同类型的控制项,在界面编辑器中将显示不同类型的信息,并产生不同操作的接口事件。在Lab Windows/CVI的开发平台中,对事件驱动进行C程序编程时可采用两种基本的方法:回调函数法和事件循环处理法。
回调函数法是开发者为每一个用户界面的控制项写一个用户界面的控制项写一个独立的函数,当选中某个控制项,就调用相应的函数进行事件处理。在循环处理法中,只处理GUI控制项产生的COMMIT事件。通过Get User Event函数过滤,将所有的COMMIT事件区分开,识别出是由哪个控制项产生的事件,并执行相应的处理。
第三步:应用函数/VI集与应用程序软件包编写:应用函数/VI集需针对具体仪器模块功能进行编程,应用程序软件包只是一些功能强大、需要完善的数据处理能力的模块才需要提供,如波形分析仪模块、DSP模块等。
摘自《电子测量与仪器学报》2001.1
共分享92篇相关文档