VXI总线技术概览
来自陕西海泰电子有限责任公司
0 引言
VXIbus是VMEbus在仪器领域的扩展(VMEbus eXtensions for Instrumentation),是计算机操纵的模块化自动仪器系统。经过十年的发展,它依靠有效的标准化,采用模块化的方式,实现了系列化、通用化以及VXIbus仪器的互换性和互操作性。其开放的体系结构和P&P方式完全符合信息产品的要求。今天,VXIbus仪器和系统已为世人普遍接受,并成为仪器系统发展的主流。
目前,全世界有近400家公司在VXIbus联合会申请了制造VXIbus产品的识别代码(ID号),其中大约70%为美国公司,25%为欧洲公司,亚洲各国仅占5%。在大约1300多种VXI产品中,80%以上是美国产品,其门类几乎覆盖了数采和测量的各个领域。
经过VXIbus仪器系统十年的冲击,美国传统的仪器产业结构已经发生了很大的变化,新的VXI产业雏型结构已基本形成:VXI仪器模块和硬件厂商占三分之一弱(近100家);VXI系统集成商占三分之一强(超过100家);其余近100家公司则从事软件开发、测试程序开发,VXI附件、配件、服务等业务。
在市场方面,美国VXI市场的总销售额仍以每年30% - 40% 的强劲势头迅猛增长。军事部门不仅把VXI用于基地设备的修理与维护,而且也用于作战系统。目前,许多政府机构和军事机构正在把VXI看作测试标准,美国军方开始由定做逐步转向使用现成的商用VXI系统,这一行动正在把更多的民用部门导向VXI。然而,当IEEE在1993年春天正式接受VXI规范为其标准的时候,VXI市场还面临着两大障碍——系统的易用性和成本。今天的VXI系统已很容易集成和使用,这主要得益于NI、TEK等五家公司1993年发起成立的VXIplug&play Systems Alliance(以下简称VPP系统联盟)制订了详细的VPP标准。从理论上讲,由于VXI系统中没有传统的自动测试系统各仪器内必然存在的电源、显示面板和数据处理单元等重复组件,使得VXI这种虚拟仪器体系结构更有利于降低系统成本。加之VXI厂商采用各种先进技术努力降低成本,使VXI的系统成本不断降低,应用范围不断扩大。目前,VXI正在进入“低成本→高市场分额→低成本”的良性市场状态。
VXIbus已成为公认的21世纪仪器总线系统和自动测试系统的优秀平台。 本文简要介绍VXI的历史、VXI标准体系、VXI总线结构、VXI系统方案的配置与选择等内容,希望对VXI的应用与普及能有所帮助。
1 历史的回顾
1.1 VXIbus的演变
1979年,Motorola公布了一个面向68000微处理器的所谓VERSAbus。与此同时,诞生了一种被称为 “Eurocard” (IEC297-3)的印刷电路板标准。1981年10月,Motorola, Mostek和Signetics宣布他们共同支持基于VERSAbus和Eurocard模块尺寸的系列板卡,这就是著名的VMEbus。1987年,VMEbus被IEEE正式接受为万用背板总线(Versatile Backplane Bus)标准——VMEbus(ANSI/IEEE 1014-1987)。
虽然VME主要是面向计算机的总线,但市场一直对基于VMEbus的仪器模块有着巨大的需求。特别是美国国防部出于减小自动测试设备(ATE)体积的需要、并考虑到VME总线高数据带宽在数字测量与数字信号处理应用中的优势,在美国陆、海、空三军都分别实施了发展基于VME总线自动测试系统的计划——MATE、CASS和IFTE。
由于VME毕竟不是面向仪器的总线标准,来自Colorado Data System, Hewlett Packard, Racal Dana, Tektronix和Wavetek等五家著名仪器公司的技术代表于1987年6月宣布成立一个技术委员会,组成电气、机械、电磁兼容/电源和软件四个技术工作小组,拟三个月内在VMEbus、Eurocard标准和其他诸如IEEE 488.1/488.2这些仪器标准的基础上共同制订具有开放体系结构的仪器总线标准。1987年7月,该委员会(即后来的VXI总线联合体)发布了VXIbus规范的第一个版本,几经修改、完善,于1992年9月17日被IEEE标准局批准为IEEE-1155-1992标准,1993年2月23日经美国国家标准研究院批准,并于1993年9月20日出版发行。VXIbus标准发展历史参见表2-4:
表2-4 VXIbus标准发展史
版本 0.0 1.0 1.1 1.2 1.3 1.4 IEEE-1155
日期 1987.7.9 1987.8.24 1987.10.7 1988.6.21 1989.7.14 1992.4.21 1993.9.20
1.2 VXIbus规范的目标
VXIbus联合体制订VXI总线规范的目标是定义一系列对所有厂商开放的、与现有工业标准兼容的、基于VME总线的模块化仪器标准,其要点可概括为:
⑴ 使设备之间以明确的方式通信;
⑵ 使VXI系统比标准的机架堆叠式系统具有更小的物理尺寸;
⑶ 使用专门的通信协议和更宽的数据通道为测试系统提供更高的系统吞吐率;
⑷ 提供可用于军事模块化仪器(Instrument on a Card)系统的测试设备;
⑸ 通过使用虚拟仪器原理方便地扩展测试系统的功能;
⑹ 通过使用统一的公共接口降低系统集成时的软件开发成本;
⑺ 在该规范内定义实现多模块仪器系统的方法。
1.3 VXIbus标准体系
国际上现有两个VXIbus组织——VXIbus联合体和VPP系统联盟,前者主要负责VXIbus硬件(即仪器级)标准规范的制订;而后者的宗旨是通过制订一系列的VXIbus软件(即系统级)标准来提供一个开放的系统结构,使其更容易集成和使用。所谓VXIbus标准体系就由这两套标准构成。
VXIbus仪器级和系统级规范文件分别由10个标准组成,参见表2-5和表2-6:
表2-5 VXIbus仪器级标准规范文件
标准代号 标准名称
VXI-1 VXIbus系统规范(IEEE1155-1992)
VXI-2 VXIbus扩展的寄存器基器件和扩展的存储器器件
VXI-3 VXIbus器件识别的字符串命令
VXI-4 VXIbus通用助记符
VXI-5 VXIbus通用ASCII系统命令
VXI-6 VXIbus多机箱扩展系统
VXI-7 VXIbus共享存储器数据格式规范
VXI-8 VXIbus冷却测量方法
VXI-9 VXIbus标准测试程序规范
VXI-10 VXIbus高速数据通道
表2-6 VXIbus系统级标准规范文件
标准代号 标准名称
VPP-1 VPP系统联盟章程
VPP-2 VPP系统框架技术规范
VPP-3仪器驱动程序技术规范 VPP-3.1 VPP仪器驱动程序结构和设计技术规范
VPP-3.2 VPP仪器驱动程序开发工具技术规范
VPP-3.3 VPP仪器驱动程序功能面板技术规范
VPP-3.4 VPP仪器驱动程序编程接口技术规范
VPP-4标准的软件输入输出接口技术规范 VPP-4.1 VISA-1虚拟仪器软件体系结构主要技术规范
VPP-4.2 VISA-2 VISA转换库(VTL)技术规范
VPP-4.2.2 VISA-2.2视窗框架的VTL实施技术规范
VPP-5 VXI组件知识库技术规范
VPP-6 包装和安装技术规范
VPP-7 软面板技术规范
VPP-8 VXI模块/主机机械技术规范
VPP-9 仪器制造商缩写规则
VPP-10 VXIP&P LOGO技术规范和组件注册
图 2-20 VXI总线系统结构示意图
2 VXIbus的系统结构与控制方案
2.1 结构配置
从物理结构看,一个VXI总线系统(如图2-20所示)由一个能为嵌入模块提供安装环境与背板连接的主机箱组成。由图2-21可见,VXI总线以IEEE-1014 VMEbus标准为基础、等同采用了32-bit的VME体系结构,并在VME标准的基础上增加了两种模块尺寸和一个连接器。P1连接器和P2连接器的中排插针严格按照VME规范的定义保留下来,VXI对VME用户可定义的P2连接器外面两排插针和VXI所增加的P3连接器作了定义。
VXIbus规范除电气与机械标准外,还包括包装、电磁兼容性、电源分布、VXI主机箱和嵌入模块的冷却方法与气流要求等。所有模块装入VXI主机箱的插槽,而通过模块前面板提供开关、LED指示、测试点与I/O连接等。
图 2-21 VXI模块尺寸与总线分布
图2-22 VXIbus电气结构
2.2 电气结构
VXIbus的电气结构如图2-22所示,从功能上可分为所谓的八大总线:
· VME计算机总线
· 时钟和同步总线
· 模块识别总线
· 触发总线
· 模拟加法总线
· 局部总线
· 星形总线
· 电源总线
2.3 系统控制方案
2.3.1 0槽与资源管理器
VXI机箱最左边的插槽包括有诸如背板时钟(Backplane clock)、配置信号(configuration signals)、同步与触发信号(synchronization and trigger signals)等系统资源,因而只能在该槽中插入具有VXI“0槽”功能的设备——即所谓的0槽模块,通常简称为0槽。VXI资源管理器(RM)实际上是一个软件模块,它可以装在VXI模块或者外部计算机上。RM与0槽模块一起进行系统中每个模块的识别、逻辑地址的分配、内存配置、并用字符串协议建立命令者/从者之间的层次体制。
图2-23A GPIB控制方案
图2-24A 嵌入式控制方案
2.3.2 系统控制方案
VXIbus系统的配置方案是影响系统整体性能的最大因素之一。常见的系统配置方式有GPIB、嵌入式和MXI三种控制方案,分别如图2-23A、图2-24A和图2-25A所示。
图2-23B GPIB接口模块的翻译作用示意图
GPIB控制方案通过GPIB接口把VXI主机箱与外部的计算机平台相连。如图2-23B所示,计算机通过GPIB和GPIB-VXI翻译器向VXI仪器发送命令串,而GPIB-VXI接口模块以透明的方式在VXI字符串协议和GPIB协议之间进行翻译。由于要对字符串本身进行这种额外的翻译,使系统的随机读写速度严重下降。虽然GPIB的最大吞吐率可达1Mbtye/s,而使用GPIB-VXI 0槽模块的VXI系统最大吞吐率只有580 bytes/s(随机写)到300kbytes/s(块传输)。
图2-25A MXI高速连接方案
嵌入式控制方案包括一个插入VXI 0槽并直接与背板总线相连的嵌入式计算机,这种系统配置方案的物理尺寸最小,并因控制计算机直接与背板总线相连而获得最高的系统性能。直接对VXI总线的访问意味着计算机可直接读写消息基和寄存器基仪器,消除了GPIB-VXI接口翻译对速度的影响。数据在仪器之间以二进制的形式并行、高速传输——主控计算机就象传统的智能仪器内部的微处理器一样工作,因而获得了最高的系统性能。
图2-24B 嵌入式方案的直接数据交换
图2-25B MXI连接从功能上等效于嵌入式计算机
第三种系统配置方案使用高速的MXIbus连接器将外部计算机接入VXI背板总线,使外部的计算机可以象嵌入式计算机一样直接控制VXI背板总线上的仪器模块(如图2-25B所示)。
这种系统控制方案从0槽模块的硬件构成到主控机与VXI主机箱之间的连接方式都类似于GPIB控制方案,但从功能上完全等效于嵌入式控制方案。因此,该方案既有外挂式的灵活性(可以使用用户现有的各种计算机或工作站),又有嵌入式的高性能(持续系统吞吐率达23Ms/s)。
2.4 电磁兼容与噪声
作为最基本的电磁兼容性要求,在VXIbus系统中加入一个新的模块不得影响其它模块的性能。为了防止VXI模块间的相互影响,VXIbus标准包括了对近场辐射及其敏感度要求的描述与限制。为满足电磁兼容性要求,VXI模块的宽度从原来VME模块的0.8 in.增加到1.2 in.,以便有足够的空间将整个模块完全屏蔽在一个金属罩子里,并通过背板将金属外壳接地。这样,你可以将现有的VME模块插入VXI机箱,但VXI模块却不能插入VME机箱。
VXIbus标准也包括了对传导辐射及其敏感度要求的描述与限制,以防止电源噪声影响模块性能。每个模块的远场辐射噪声必须小于它在整个噪声中应占的份额。例如,在一个包括13个模块的机箱中,每个模块所辐射的噪声必须小于所允许总噪声的1/13。由于VXI系统要通过背板总线实现模块间极其精确的时间耦合,因此,必须将噪声和背板时钟与触发线上的串扰减小到最低程度。
3 硬件寄存器与通讯
器件(device)是组成VXIbus系统最基本的逻辑单元。通常,一个器件将占据一块VXI模块,但也允许在一个模块上实现多个器件和一个器件占据多个模块。一个单机箱VXI系统最多可以有256个器件。根据器件所支持的通讯协议能力可将其分成寄存器基器件、消息基器件、存储器器件和扩展器件四类。
VXI模块必须有一组具有特定地址的专用寄存器,其64KB A16寻址空间的上16KB空间为VXIbus器件所保留。每个VXI器件都有一个用于确定其寄存器在上述寻址空间所在位置的8-bit逻辑地址。VXI器件的逻辑地址类似于GPIB设备的GPIB地址,可以手动或在系统上电时自动配置。
3.1 寄存器基器件(Register-Based Device)
任何VXIbus器件,不管其功能如何,都必须有一组配置寄存器(configuration registers),系统通过访问VME总线上P1口的配置寄存器来识别器件的类型、型号、生产厂家、地址空间与所要求的存储器空间。仅有这种最低通讯能力的VXIbus器件就是所谓的寄存器基器件。通过这组公共的配置寄存器、中央资源管理器(Resource Manager,简称RM)和基本的软件模块,可以在系统初始化时自动进行系统与存储器配置。
3.2 消息基器件(Message-Based Device)
除寄存器基器件以外,VXIbus规范还定义了同时具有通讯寄存器(communication register)和配置寄存器的所谓消息基器件。所有的消息基VXIbus器件,无论是哪家厂商生产的,都必须能用VXI专用字符串协议进行最低限度的通讯。有了这种最低限度的通讯能力,就可建立像共享内存这样的高性能通讯通道,从而发挥VXIbus带宽能力的优势。
3.3 字符串协议(Word Serial Protocol)
VXIbus字符串协议的功能非常象IEEE-488协议,同一时刻在器件之间一位(one bit)一位或一个字(one word)一个字地传递数据消息。这样,VXI消息基器件之间实际上在按照与IEEE-488仪器非常类似的方式进行通讯。一般来说,消息基器件通常都包含一定程度的本地智能用于完成更高级的通讯。
所有的VXI消息基器件都要用字符串协议以某种标准方式进行通讯。你若要与一个消息基器件通讯,你就得通过该器件上的数据入(Data In)或数据出(Data Out)硬件寄存器在同一时刻写或读一个16-bit字符来进行,因而这种通讯协议被称之为字符串。字符串通讯是按其响应寄存器中的bits定速的,并进而确定数据入寄存器是否空和数据出寄存器是否满。这种工作方式非常类似于串口通讯中的通用异步收发方式(Universal Asynchronous Receiver Transmitter, UART)。
3.4 命令者/从者分层体制(Commander/Servant Hierarchies)
VXIbus定义了一个命令者/从者通讯协议,便于用户利用VXI器件分层的概念建立一种分层体制。这种分层结构就象一棵倒置的树,命令者是有一个或多个相关低层器件(即从者)的顶层器件,而从者则象一个树杈。在多级嵌套的分层结构中,一个器件既可以是命令者,也可以是从者。
一个VXI模块有且只能有一个命令者,而命令者对其一个或多个从者的通讯和配置寄存器享有绝对控制权。如果从者是消息基器件,命令者通过从者的通讯寄存器按照字符串协议与从者进行通讯;如果从者是寄存器基器件,则通过器件专有的寄存器操作实现通讯。对消息基器件,从者通过响应字符串命令或按字符串协议向其命令者查询实现与其命令者的通讯;对寄存器基器件,从者通过器件专有寄存器的状态与其命令者进行通讯。
3.5 中断与异步事件
通过硬件中断或直接向其命令者的硬件信号寄存器写特定消息,从者可以把异步状态和事件通知其命令者。无总线主控器的器件总是通过中断发送这些信息,而有总线主控器能力的器件既可以用中断方式、也可以用发送信号的方式与其命令者通讯。有些命令者仅可接受信号,有些则仅可能进行中断操作。
VXIbus规范定义了专门的字符串命令,以便命令者能理解其消息基器件的能力,并通过按某种方式产生中断或信号来对其从者进行配置。例如,使用特定的中断线、通过发送信号、配置仅有某种状态或错误条件的报告等方法命令者可以向其从者发送命令、实现对其从者的控制。
虽然字符串通讯协议是专门用来在命令者与从者之间进行通讯的,但通过特定的共享存储器协议或简单地直接写一个信息到器件的信号寄存器可以在两个器件之间建立一对一的通讯。
4 VXIbus接口软件
软件是成功开发基于VXIbus的虚拟仪器系统之关键,因而成为选择VXI系统时要考虑的最重要因素之一。有很多编程语言、操作系统和应用程序开发环境(Application Development Environment, ADE)可供选择,但如何做出正确选择以实现并发挥VXI系统的优势、最大限度地减小现在和将来的系统开发成本却是非常重要的。
软件的选择不仅影响系统的整体性能与功能,而且影响系统的开发时间和效率。所选择的软件应当具有完善的调试能力、能够与最流行的操作系统和编程语言相兼容。应当指出,诸如C、C++、BASIC、ADA或ATLAS等标准语言没有内置的VXI能力,而VXI能力是通过VXI总线接口软件函数库实现的。该软件库之所以很重要,是因为它直接影响VXI计算机硬件、操作系统、编程语言和ADE的选择。
VPP系统联盟研究发展的I/0软件规范——虚拟仪器软件体系结构(Virtual Instrument Software Architecture, VISA)使工业软件在兼容性和互操作性方面前进了重要的一步。VISA规范(即VPP-4.1)不仅为VXI、也为GPIB和串口定义了新一代的I/0软件标准。在VISA之前虽然也有许多支持VXI、GPIB和串口的商业I/O软件,但这些软件没有标准化,也互不兼容。VISA标准由于得到包括TEK、HP和NI在内的50多家大仪器公司的共同支持,VISA事实上已成为面向仪器工业的软件标准。
由于现在可供选择的仪器与软件非常之多,绝大数用户都不愿将自己限定在一个厂商所能提供的产品范围内,而更倾向于从不同厂商选择最好的仪器和软件来组成性能价格比最好的多厂商测试系统。用于GPIB总线的IEEE 488标准和用于VXI总线的IEEE 1155标准保证了不同厂商硬件之间的兼容性与互操作性,但没有统一的软件标准规范,就不能形成真正开放的体系结构。因此,建立一种能被尽可能多的大厂商所接受的驱动程序体系结构标准,以保证用户所开发的仪器代码可在不同厂商与操作系统的仪器之间相互移植——这正是VISA所要做的。
参考文献
[1] Ron Wolf, Short Tutorial on VXI/MXI, Application Note 030, National Instruments Corporation, April 1996.
[2] David Haworth, Designing and Evaluating VXI Systems, Tektronix, February 1994.
[3] James Kimery, Select the Right VXIbus System Configuration, Electronic Design, September 16, 1996.
[4] 董宗光,抓住机遇快步进入VXI时代,电子仪器世界,1997.5.28.
[5] 陈光禹,VXI总线测试平台技术,电子科技大学出版社,1996.10.
1楼
0
0
回复
来自陕西海泰电子有限责任公司
0 引言
VXIbus是VMEbus在仪器领域的扩展(VMEbus eXtensions for Instrumentation),是计算机操纵的模块化自动仪器系统。经过十年的发展,它依靠有效的标准化,采用模块化的方式,实现了系列化、通用化以及VXIbus仪器的互换性和互操作性。其开放的体系结构和P&P方式完全符合信息产品的要求。今天,VXIbus仪器和系统已为世人普遍接受,并成为仪器系统发展的主流。
目前,全世界有近400家公司在VXIbus联合会申请了制造VXIbus产品的识别代码(ID号),其中大约70%为美国公司,25%为欧洲公司,亚洲各国仅占5%。在大约1300多种VXI产品中,80%以上是美国产品,其门类几乎覆盖了数采和测量的各个领域。
经过VXIbus仪器系统十年的冲击,美国传统的仪器产业结构已经发生了很大的变化,新的VXI产业雏型结构已基本形成:VXI仪器模块和硬件厂商占三分之一弱(近100家);VXI系统集成商占三分之一强(超过100家);其余近100家公司则从事软件开发、测试程序开发,VXI附件、配件、服务等业务。
在市场方面,美国VXI市场的总销售额仍以每年30% - 40% 的强劲势头迅猛增长。军事部门不仅把VXI用于基地设备的修理与维护,而且也用于作战系统。目前,许多政府机构和军事机构正在把VXI看作测试标准,美国军方开始由定做逐步转向使用现成的商用VXI系统,这一行动正在把更多的民用部门导向VXI。然而,当IEEE在1993年春天正式接受VXI规范为其标准的时候,VXI市场还面临着两大障碍——系统的易用性和成本。今天的VXI系统已很容易集成和使用,这主要得益于NI、TEK等五家公司1993年发起成立的VXIplug&play Systems Alliance(以下简称VPP系统联盟)制订了详细的VPP标准。从理论上讲,由于VXI系统中没有传统的自动测试系统各仪器内必然存在的电源、显示面板和数据处理单元等重复组件,使得VXI这种虚拟仪器体系结构更有利于降低系统成本。加之VXI厂商采用各种先进技术努力降低成本,使VXI的系统成本不断降低,应用范围不断扩大。目前,VXI正在进入“低成本→高市场分额→低成本”的良性市场状态。
VXIbus已成为公认的21世纪仪器总线系统和自动测试系统的优秀平台。 本文简要介绍VXI的历史、VXI标准体系、VXI总线结构、VXI系统方案的配置与选择等内容,希望对VXI的应用与普及能有所帮助。
1 历史的回顾
1.1 VXIbus的演变
1979年,Motorola公布了一个面向68000微处理器的所谓VERSAbus。与此同时,诞生了一种被称为 “Eurocard” (IEC297-3)的印刷电路板标准。1981年10月,Motorola, Mostek和Signetics宣布他们共同支持基于VERSAbus和Eurocard模块尺寸的系列板卡,这就是著名的VMEbus。1987年,VMEbus被IEEE正式接受为万用背板总线(Versatile Backplane Bus)标准——VMEbus(ANSI/IEEE 1014-1987)。
虽然VME主要是面向计算机的总线,但市场一直对基于VMEbus的仪器模块有着巨大的需求。特别是美国国防部出于减小自动测试设备(ATE)体积的需要、并考虑到VME总线高数据带宽在数字测量与数字信号处理应用中的优势,在美国陆、海、空三军都分别实施了发展基于VME总线自动测试系统的计划——MATE、CASS和IFTE。
由于VME毕竟不是面向仪器的总线标准,来自Colorado Data System, Hewlett Packard, Racal Dana, Tektronix和Wavetek等五家著名仪器公司的技术代表于1987年6月宣布成立一个技术委员会,组成电气、机械、电磁兼容/电源和软件四个技术工作小组,拟三个月内在VMEbus、Eurocard标准和其他诸如IEEE 488.1/488.2这些仪器标准的基础上共同制订具有开放体系结构的仪器总线标准。1987年7月,该委员会(即后来的VXI总线联合体)发布了VXIbus规范的第一个版本,几经修改、完善,于1992年9月17日被IEEE标准局批准为IEEE-1155-1992标准,1993年2月23日经美国国家标准研究院批准,并于1993年9月20日出版发行。VXIbus标准发展历史参见表2-4:
表2-4 VXIbus标准发展史
版本 0.0 1.0 1.1 1.2 1.3 1.4 IEEE-1155
日期 1987.7.9 1987.8.24 1987.10.7 1988.6.21 1989.7.14 1992.4.21 1993.9.20
1.2 VXIbus规范的目标
VXIbus联合体制订VXI总线规范的目标是定义一系列对所有厂商开放的、与现有工业标准兼容的、基于VME总线的模块化仪器标准,其要点可概括为:
⑴ 使设备之间以明确的方式通信;
⑵ 使VXI系统比标准的机架堆叠式系统具有更小的物理尺寸;
⑶ 使用专门的通信协议和更宽的数据通道为测试系统提供更高的系统吞吐率;
⑷ 提供可用于军事模块化仪器(Instrument on a Card)系统的测试设备;
⑸ 通过使用虚拟仪器原理方便地扩展测试系统的功能;
⑹ 通过使用统一的公共接口降低系统集成时的软件开发成本;
⑺ 在该规范内定义实现多模块仪器系统的方法。
1.3 VXIbus标准体系
国际上现有两个VXIbus组织——VXIbus联合体和VPP系统联盟,前者主要负责VXIbus硬件(即仪器级)标准规范的制订;而后者的宗旨是通过制订一系列的VXIbus软件(即系统级)标准来提供一个开放的系统结构,使其更容易集成和使用。所谓VXIbus标准体系就由这两套标准构成。
VXIbus仪器级和系统级规范文件分别由10个标准组成,参见表2-5和表2-6:
表2-5 VXIbus仪器级标准规范文件
标准代号 标准名称
VXI-1 VXIbus系统规范(IEEE1155-1992)
VXI-2 VXIbus扩展的寄存器基器件和扩展的存储器器件
VXI-3 VXIbus器件识别的字符串命令
VXI-4 VXIbus通用助记符
VXI-5 VXIbus通用ASCII系统命令
VXI-6 VXIbus多机箱扩展系统
VXI-7 VXIbus共享存储器数据格式规范
VXI-8 VXIbus冷却测量方法
VXI-9 VXIbus标准测试程序规范
VXI-10 VXIbus高速数据通道
表2-6 VXIbus系统级标准规范文件
标准代号 标准名称
VPP-1 VPP系统联盟章程
VPP-2 VPP系统框架技术规范
VPP-3仪器驱动程序技术规范 VPP-3.1 VPP仪器驱动程序结构和设计技术规范
VPP-3.2 VPP仪器驱动程序开发工具技术规范
VPP-3.3 VPP仪器驱动程序功能面板技术规范
VPP-3.4 VPP仪器驱动程序编程接口技术规范
VPP-4标准的软件输入输出接口技术规范 VPP-4.1 VISA-1虚拟仪器软件体系结构主要技术规范
VPP-4.2 VISA-2 VISA转换库(VTL)技术规范
VPP-4.2.2 VISA-2.2视窗框架的VTL实施技术规范
VPP-5 VXI组件知识库技术规范
VPP-6 包装和安装技术规范
VPP-7 软面板技术规范
VPP-8 VXI模块/主机机械技术规范
VPP-9 仪器制造商缩写规则
VPP-10 VXIP&P LOGO技术规范和组件注册
图 2-20 VXI总线系统结构示意图
2 VXIbus的系统结构与控制方案
2.1 结构配置
从物理结构看,一个VXI总线系统(如图2-20所示)由一个能为嵌入模块提供安装环境与背板连接的主机箱组成。由图2-21可见,VXI总线以IEEE-1014 VMEbus标准为基础、等同采用了32-bit的VME体系结构,并在VME标准的基础上增加了两种模块尺寸和一个连接器。P1连接器和P2连接器的中排插针严格按照VME规范的定义保留下来,VXI对VME用户可定义的P2连接器外面两排插针和VXI所增加的P3连接器作了定义。
VXIbus规范除电气与机械标准外,还包括包装、电磁兼容性、电源分布、VXI主机箱和嵌入模块的冷却方法与气流要求等。所有模块装入VXI主机箱的插槽,而通过模块前面板提供开关、LED指示、测试点与I/O连接等。
图 2-21 VXI模块尺寸与总线分布
图2-22 VXIbus电气结构
2.2 电气结构
VXIbus的电气结构如图2-22所示,从功能上可分为所谓的八大总线:
· VME计算机总线
· 时钟和同步总线
· 模块识别总线
· 触发总线
· 模拟加法总线
· 局部总线
· 星形总线
· 电源总线
2.3 系统控制方案
2.3.1 0槽与资源管理器
VXI机箱最左边的插槽包括有诸如背板时钟(Backplane clock)、配置信号(configuration signals)、同步与触发信号(synchronization and trigger signals)等系统资源,因而只能在该槽中插入具有VXI“0槽”功能的设备——即所谓的0槽模块,通常简称为0槽。VXI资源管理器(RM)实际上是一个软件模块,它可以装在VXI模块或者外部计算机上。RM与0槽模块一起进行系统中每个模块的识别、逻辑地址的分配、内存配置、并用字符串协议建立命令者/从者之间的层次体制。
图2-23A GPIB控制方案
图2-24A 嵌入式控制方案
2.3.2 系统控制方案
VXIbus系统的配置方案是影响系统整体性能的最大因素之一。常见的系统配置方式有GPIB、嵌入式和MXI三种控制方案,分别如图2-23A、图2-24A和图2-25A所示。
图2-23B GPIB接口模块的翻译作用示意图
GPIB控制方案通过GPIB接口把VXI主机箱与外部的计算机平台相连。如图2-23B所示,计算机通过GPIB和GPIB-VXI翻译器向VXI仪器发送命令串,而GPIB-VXI接口模块以透明的方式在VXI字符串协议和GPIB协议之间进行翻译。由于要对字符串本身进行这种额外的翻译,使系统的随机读写速度严重下降。虽然GPIB的最大吞吐率可达1Mbtye/s,而使用GPIB-VXI 0槽模块的VXI系统最大吞吐率只有580 bytes/s(随机写)到300kbytes/s(块传输)。
图2-25A MXI高速连接方案
嵌入式控制方案包括一个插入VXI 0槽并直接与背板总线相连的嵌入式计算机,这种系统配置方案的物理尺寸最小,并因控制计算机直接与背板总线相连而获得最高的系统性能。直接对VXI总线的访问意味着计算机可直接读写消息基和寄存器基仪器,消除了GPIB-VXI接口翻译对速度的影响。数据在仪器之间以二进制的形式并行、高速传输——主控计算机就象传统的智能仪器内部的微处理器一样工作,因而获得了最高的系统性能。
图2-24B 嵌入式方案的直接数据交换
图2-25B MXI连接从功能上等效于嵌入式计算机
第三种系统配置方案使用高速的MXIbus连接器将外部计算机接入VXI背板总线,使外部的计算机可以象嵌入式计算机一样直接控制VXI背板总线上的仪器模块(如图2-25B所示)。
这种系统控制方案从0槽模块的硬件构成到主控机与VXI主机箱之间的连接方式都类似于GPIB控制方案,但从功能上完全等效于嵌入式控制方案。因此,该方案既有外挂式的灵活性(可以使用用户现有的各种计算机或工作站),又有嵌入式的高性能(持续系统吞吐率达23Ms/s)。
2.4 电磁兼容与噪声
作为最基本的电磁兼容性要求,在VXIbus系统中加入一个新的模块不得影响其它模块的性能。为了防止VXI模块间的相互影响,VXIbus标准包括了对近场辐射及其敏感度要求的描述与限制。为满足电磁兼容性要求,VXI模块的宽度从原来VME模块的0.8 in.增加到1.2 in.,以便有足够的空间将整个模块完全屏蔽在一个金属罩子里,并通过背板将金属外壳接地。这样,你可以将现有的VME模块插入VXI机箱,但VXI模块却不能插入VME机箱。
VXIbus标准也包括了对传导辐射及其敏感度要求的描述与限制,以防止电源噪声影响模块性能。每个模块的远场辐射噪声必须小于它在整个噪声中应占的份额。例如,在一个包括13个模块的机箱中,每个模块所辐射的噪声必须小于所允许总噪声的1/13。由于VXI系统要通过背板总线实现模块间极其精确的时间耦合,因此,必须将噪声和背板时钟与触发线上的串扰减小到最低程度。
3 硬件寄存器与通讯
器件(device)是组成VXIbus系统最基本的逻辑单元。通常,一个器件将占据一块VXI模块,但也允许在一个模块上实现多个器件和一个器件占据多个模块。一个单机箱VXI系统最多可以有256个器件。根据器件所支持的通讯协议能力可将其分成寄存器基器件、消息基器件、存储器器件和扩展器件四类。
VXI模块必须有一组具有特定地址的专用寄存器,其64KB A16寻址空间的上16KB空间为VXIbus器件所保留。每个VXI器件都有一个用于确定其寄存器在上述寻址空间所在位置的8-bit逻辑地址。VXI器件的逻辑地址类似于GPIB设备的GPIB地址,可以手动或在系统上电时自动配置。
3.1 寄存器基器件(Register-Based Device)
任何VXIbus器件,不管其功能如何,都必须有一组配置寄存器(configuration registers),系统通过访问VME总线上P1口的配置寄存器来识别器件的类型、型号、生产厂家、地址空间与所要求的存储器空间。仅有这种最低通讯能力的VXIbus器件就是所谓的寄存器基器件。通过这组公共的配置寄存器、中央资源管理器(Resource Manager,简称RM)和基本的软件模块,可以在系统初始化时自动进行系统与存储器配置。
3.2 消息基器件(Message-Based Device)
除寄存器基器件以外,VXIbus规范还定义了同时具有通讯寄存器(communication register)和配置寄存器的所谓消息基器件。所有的消息基VXIbus器件,无论是哪家厂商生产的,都必须能用VXI专用字符串协议进行最低限度的通讯。有了这种最低限度的通讯能力,就可建立像共享内存这样的高性能通讯通道,从而发挥VXIbus带宽能力的优势。
3.3 字符串协议(Word Serial Protocol)
VXIbus字符串协议的功能非常象IEEE-488协议,同一时刻在器件之间一位(one bit)一位或一个字(one word)一个字地传递数据消息。这样,VXI消息基器件之间实际上在按照与IEEE-488仪器非常类似的方式进行通讯。一般来说,消息基器件通常都包含一定程度的本地智能用于完成更高级的通讯。
所有的VXI消息基器件都要用字符串协议以某种标准方式进行通讯。你若要与一个消息基器件通讯,你就得通过该器件上的数据入(Data In)或数据出(Data Out)硬件寄存器在同一时刻写或读一个16-bit字符来进行,因而这种通讯协议被称之为字符串。字符串通讯是按其响应寄存器中的bits定速的,并进而确定数据入寄存器是否空和数据出寄存器是否满。这种工作方式非常类似于串口通讯中的通用异步收发方式(Universal Asynchronous Receiver Transmitter, UART)。
3.4 命令者/从者分层体制(Commander/Servant Hierarchies)
VXIbus定义了一个命令者/从者通讯协议,便于用户利用VXI器件分层的概念建立一种分层体制。这种分层结构就象一棵倒置的树,命令者是有一个或多个相关低层器件(即从者)的顶层器件,而从者则象一个树杈。在多级嵌套的分层结构中,一个器件既可以是命令者,也可以是从者。
一个VXI模块有且只能有一个命令者,而命令者对其一个或多个从者的通讯和配置寄存器享有绝对控制权。如果从者是消息基器件,命令者通过从者的通讯寄存器按照字符串协议与从者进行通讯;如果从者是寄存器基器件,则通过器件专有的寄存器操作实现通讯。对消息基器件,从者通过响应字符串命令或按字符串协议向其命令者查询实现与其命令者的通讯;对寄存器基器件,从者通过器件专有寄存器的状态与其命令者进行通讯。
3.5 中断与异步事件
通过硬件中断或直接向其命令者的硬件信号寄存器写特定消息,从者可以把异步状态和事件通知其命令者。无总线主控器的器件总是通过中断发送这些信息,而有总线主控器能力的器件既可以用中断方式、也可以用发送信号的方式与其命令者通讯。有些命令者仅可接受信号,有些则仅可能进行中断操作。
VXIbus规范定义了专门的字符串命令,以便命令者能理解其消息基器件的能力,并通过按某种方式产生中断或信号来对其从者进行配置。例如,使用特定的中断线、通过发送信号、配置仅有某种状态或错误条件的报告等方法命令者可以向其从者发送命令、实现对其从者的控制。
虽然字符串通讯协议是专门用来在命令者与从者之间进行通讯的,但通过特定的共享存储器协议或简单地直接写一个信息到器件的信号寄存器可以在两个器件之间建立一对一的通讯。
4 VXIbus接口软件
软件是成功开发基于VXIbus的虚拟仪器系统之关键,因而成为选择VXI系统时要考虑的最重要因素之一。有很多编程语言、操作系统和应用程序开发环境(Application Development Environment, ADE)可供选择,但如何做出正确选择以实现并发挥VXI系统的优势、最大限度地减小现在和将来的系统开发成本却是非常重要的。
软件的选择不仅影响系统的整体性能与功能,而且影响系统的开发时间和效率。所选择的软件应当具有完善的调试能力、能够与最流行的操作系统和编程语言相兼容。应当指出,诸如C、C++、BASIC、ADA或ATLAS等标准语言没有内置的VXI能力,而VXI能力是通过VXI总线接口软件函数库实现的。该软件库之所以很重要,是因为它直接影响VXI计算机硬件、操作系统、编程语言和ADE的选择。
VPP系统联盟研究发展的I/0软件规范——虚拟仪器软件体系结构(Virtual Instrument Software Architecture, VISA)使工业软件在兼容性和互操作性方面前进了重要的一步。VISA规范(即VPP-4.1)不仅为VXI、也为GPIB和串口定义了新一代的I/0软件标准。在VISA之前虽然也有许多支持VXI、GPIB和串口的商业I/O软件,但这些软件没有标准化,也互不兼容。VISA标准由于得到包括TEK、HP和NI在内的50多家大仪器公司的共同支持,VISA事实上已成为面向仪器工业的软件标准。
由于现在可供选择的仪器与软件非常之多,绝大数用户都不愿将自己限定在一个厂商所能提供的产品范围内,而更倾向于从不同厂商选择最好的仪器和软件来组成性能价格比最好的多厂商测试系统。用于GPIB总线的IEEE 488标准和用于VXI总线的IEEE 1155标准保证了不同厂商硬件之间的兼容性与互操作性,但没有统一的软件标准规范,就不能形成真正开放的体系结构。因此,建立一种能被尽可能多的大厂商所接受的驱动程序体系结构标准,以保证用户所开发的仪器代码可在不同厂商与操作系统的仪器之间相互移植——这正是VISA所要做的。
参考文献
[1] Ron Wolf, Short Tutorial on VXI/MXI, Application Note 030, National Instruments Corporation, April 1996.
[2] David Haworth, Designing and Evaluating VXI Systems, Tektronix, February 1994.
[3] James Kimery, Select the Right VXIbus System Configuration, Electronic Design, September 16, 1996.
[4] 董宗光,抓住机遇快步进入VXI时代,电子仪器世界,1997.5.28.
[5] 陈光禹,VXI总线测试平台技术,电子科技大学出版社,1996.10.