引言
20世纪60年代末期,Hewlett-Packard设计出了所谓的HP-IB(Hewlett-Packard Interface Bus)作为独立仪器与计算机之间的沟通通道。由于其高速的数据传输率(对当时而言),很快便广为大家所接受,因此后来IEEE便将此接口更名为GPIB(General Purpose Interface Bus)。然而为了应付更为复杂的测试环境与挑战,GPIB便显得捉襟见肘。1987年VXI协会成立,并制订了所谓instrument-on-a-card的标准,也就是VXI (VMEbus eXtensions for Instrumentation)。VXI以其模块化而且坚固的架构,的确为量测与自动化产业带来不少的好处。
近十年来,随着个人计算机的剧烈革命与普及,以PCI Bus为架构的仪器模块大为发展。因此1998年PXI System Alliance(PXISA)成立,让PXI(PCI eXtensions for Instrumentation)成为一个开放的标准架构。PXI的平台不仅具有类似VXI的开放架构与坚固的机构外型,更由于其设计了一连串适合仪器开发所用的同步信号,而使得PXI更适合作为量测与测试、控制自动化的平台。
1 PXI简介
简单来说,PXI是以PCI(Peripheral Component Interconnect)及CompactPCI为基础再加上一些PXI特有的信号组合而成的一个架构。PXI继承了PCI的电气信号,使得PXI拥有如PCI bus的极高传输数据的能力,因此能够有高达132Mbyte/s到528Mbyte/s的传输性能,在软件上是完全兼容的。另一方面,PXI采用和CompactPCI一样的机械外型结构,因此也能同样享有高密度、坚固外壳及高性能连接器的特性。PXI与CompactPCI相互关系如图1所示。

1.1 PXI系统内部结构
一个PXI系统由几项组件所组成,包含了一个机箱、一个PXI背板(backplane)、系统控制器(System controller module)以及数个外设模块(Peripheral modules)。在此以一个高度为3U的八槽PXI系统为例,如图二所示。系统控制器,也就是CPU模块,位于机箱的左边第一槽,其左方预留了三个扩充槽位给系统控制器使用,以便插入因功能复杂而体积较大的系统卡。由第二槽开始至第八槽称为外设槽,可以让用户依照本身的需求而插上不同的仪器模块。其中第二槽又可称为星形触发控制器槽(Star Trigger Controller Slot)。

1.2 PXI特有信号
背板上的P1接插件上有32-bit PCI信号,P2接插件上则有64-bit PCI信号以及PXI特殊信号。那么PXI特有的信号又是什么呢?PXI的信号包含了以下几种,其完整的架构如图3所示

1.2.1 10MHz参考时钟(10MHz reference clock)
PXI规格定义了一个低歪斜(

1.2.2 局部总线(Local Bus)
在每一个外设槽上,PXI定义了局部总线以及连接其相邻的左方及右方外设槽,左方或右方局部总线各有13条,这个总线除了可以传送数字信号外,也允许传送模拟信号。比如说3号外设槽上有左方局部总线,可以与2号外设槽上的右方局部总线连接,而3号外设槽上的右方局部总线,则与4号外设槽上的左方总线连接。而外设槽3号上的左方局部总线与右方局部总线在背板上是不互相连接的,除非插在3号外设槽的仪器模块将这两方信号连接起来。局部总线架构如图5所示。

1.2.3 星形触发(Star Trigger)
设槽2号的左方局部总线在PXI的定义下,作为另一种特殊的信号,叫做星形触发。这13条星形触发线被依序分别连接到另外的13个外设槽(如果背板支持到另外13个外设槽的话),且彼此的走线长度都是等长的。也就是说,若在2号外设槽上同一时间在这13条星形触发在线送出触发信号,那么其它仪器模块都会在同一时间收到触发信号(因为每一条触发信号的延迟时间都相同)。也因为这一项特殊的触发功能只有在外设槽2号上才有,因此定义了外设槽2号叫做星形触发控制器槽(Star Trigger Controller Slot)。请看图6的星形触发架构说明。

1.2.4 触发总线(Trigger Bus)
触发总线共有8条线,在背板上从系统槽(Slot 1)连接到其余的外设槽,为所有插在PXI背板上的仪器模块提供了一个共享的沟通管道。这个8-bit宽度的总线可以让多个仪器模块之间传送时钟信号、触发信号以及特订的传送协议。
2 基于PXI总线的测控系统的硬件子系统
PXI总线在测控系统中应用具有很大的优势,这很明显,然而单独一个PXI机箱和几块PXI模块,是很难满足各种各样的测控需求的。无论是工业还是军工,过程信号是千变万化,仅有的几个PXI模块(虽说有上千种,但仍然不能达到一种模块测一种信号,而且,也不需要一个模块测一种信号)要满足不同的需要,就要对过程中的信号进行有效的转换,或提供执行机构可以认识的信号。
2.1 硬件子系统的一般组成
一般情况下,工业信号是不能直接进入PXI模块进行测量的,因为有些信号不能直接测出,必须间接测量计算得出,或者是出于对仪器的保护,必须进行调理,然后测量。PXI模块的控制信号已不能直接驱动执行机构,必须对控制信号进行调理。一般情况下,一个完整的硬件子系统通常包括输入信号调理、输出信号调理、PXI测控模块、PC机,如图7所示:

常用PXI总线测控系统硬件子系统模型中,PXI测控模块是核心,其主要参数决定了测控系统的稳定性、可靠性、准确性。常用的通用测控模块,PXI生产厂商已

PXI测控组合是测试平台的核心部分,其主要工功能是:组合PXI模块,在计算机的控制下,完成对引信各种参数的测试后,由PXI总线将测试数据传送到计算机,再由计算机进行后续的数据处理。其中,
1)PXI8330是连接计算机与PXI各个功能模块的通信桥,它是PXI系统中使用外部控制器的理想接口,也可以把多个主机箱连到一个接口上,因而具有很强的灵活性和很高的数据吞吐率。PXI8330模块安插在PXI机箱的最左边的插槽。
2)PXI4070为6位半数字多用表可对电压、电流、电阻等基本电参数进行高精度的测量。
3)PXI-6115为多功能数据采集模块,对电容充放电过程进行检测、外部模拟量进行测试和计数器计时等。
4)AMC4600为24路继电器通用开关模块,3块AMC4600可为系统提供72路继电器开关通道。用于为数字量多用表、通用计数器、数据采集模块提供测量输入通道,同时也可对电阻、电压、电流、电容、时间的测量进行隔离。
5)AMC4502为32路数字I/O模块,具有发送I/O数据和进行控制的功能。每个通道可以用作输入通道也可用作输出通道,且通道采用光电隔离。
6)AMC4306为16通道记时器模块。可同时对16路1微秒到420秒的时间间隔进行测量
2.3 时间信号的测量
PXI总线数字

一个被测时间量分为时间起始信号和时间终止信号,它是一个电平信号。要经过电平转换方可变成计数器可测试的电平信号,故在时间量和测试模块之间又加入了电平转换处理。
2.4电容测试
鉴于目前市场上没有PXI总线控制的电容测量模块,为简化设计,考虑采用间接法测量电容,即用一个恒定电压源通过RC回路对被测电容充电,当电容两端的电压达到某一固定值时,通过电压比较器输出状态特征,用计数器测量出 RC时间常数,由软件推算电容值,测量误差可由软件进行补偿。
对如图11所示的简单的RC充电回路而言,电容两端的电压是逐渐变化的,随着充电时间的增加,电容上的电压按指数规律逐渐增大,电路中的电流逐渐减少,当Uc=E时,电流为0,其电压、电流变化曲线如图12所示:

通常将RC的乘积称为时间常数,即τ=RC(秒)。根据RC充电电路曲线和电容充电时间与电压的关系;t>5τ时,整个充电过程结束。
2.5 电压、电流和电阻的测量
此次选用的6位半数字多用表模块PXI4070模块可对电压、电压和电阻等基本参量进行高精度测量。其主要技术指标为:直流电压:300V,精确度±0.019‰;交流电压:300V,准确度:±0.7‰;直流电流:3A;电阻:100MΩ。上述测试范围和精度都完全可以满足测试要求。
3 基于PXI总线测控系统的软件子系统
如果说硬件子系统是测控系统的基础,那么软件子系统就是测控系统的灵魂。硬件子系统为满足不同的实际需求,可能有很大差别。然而,软件子系统,如果设计一个很好的框架,在改动很少甚至不用改动的情况就能满足不同的需求。硬件设计完毕,调试成功后很少再出现问题。硬件子系统存在的某些缺陷,有时只能有软件子系统来弥补。
3.1 软件子系统的一般组成
软件子系统的设计,必须考虑软件系统的稳定性和可扩充性。设计一个软件系统,如果只针对某一具体的项目,完成后的软件稳定性很差,移植到其他项目很难,就是移植过去,花费的时间不如重新编写。所以为了适应不同的需求,应将各种测控系统的共性抽象出来,设计一个可重用的框架。通常,一个比较合理的测控系统框架包含三个部分:系统级组态、项目级组态、测控执行,如图13所示。

3.2 系统级组态设计
系统级组态一般是对硬件子系统的配置进行组态,并将组态的结果保存到数据库中,这些组态包括系统组态、单元组态、对特定模块的组态、其他可重用信息的配置等。这些信息保存到系统数据库中。数据库的实现方法不外乎两种,其一,自定义的数据格式,以二进制或文本方式保存起来,其二,用现成的通用的数据库如Access,SQL Server等保存起来。自定义格式保密性强,但随机访问较麻烦,而通用的数据库,保密性差一些,但查询很方便。相比较而言,对于组态结果主要是查询,所以选择通用数据库是比较明智的。
在系统级组态中,涉及到对硬件子系统的配置,通常是指一个完整的测控系统中包