新闻中心

EEPW首页 > 测试测量 > 设计应用 > 集成传统测试仪器与模块化仪器

集成传统测试仪器与模块化仪器

作者: 时间:2017-01-09 来源:网络 收藏

基于消息和基于寄存器的设备差别给模块化仪器创造了速度的优势。在传统基于消息的仪器中,SCPI命令用ASCII码发送,例如:MEASure:VOLTage:DC? 10.0,0.001

这个命令要求进行一个直流电压测量,最大值10V,分辨率1mV。然而仪器是不懂得这种类似英文的命令的。仪器内部处理出必须解析(翻译)一个命令以理解需要做什么。SCPI解析通常需要若干毫秒来完成。

然后测量开始执行,由内部寄存器访问仪器硬件。根据测量,这种操作仅需要若干微妙。上述电压测量在100微秒内可完成,得到二进制格式的结果。然后仪器把结果转为ASCII码,发回给控制器。控制器把ASCII码转为二进制来存储或者和限制标准比较。整个过程要几个毫秒,即使测量仅仅需要微秒级。

对于基于寄存器的设备,这个过程完全不同。软件驱动被调用直接执行寄存器操作。结果作为二进制数据直接被控制器使用,不需转化。速度提高50倍已经被证实。

然而,还有一个易用性的折中。SCPI命令容易使用和读取。也是可移植的;可以在任何操作系统或自动环境中工作。可以避免使用驱动,尽管驱动在某些请况很有用。如果测量速度不是至关重要的,或者测量时间远远大于命令翻译时间,基于消息的仪器都是一个好的选择。考虑所有这些原因,很多系统都是既包括传统的基于消息的仪器,也包括模块化的基于寄存器的仪器。

集成混合系统

集成传统和模块化仪器在一个混合系统中,第一部分是选择互连和配置。LXI仪器需要使用以太网。而LAN网络不是完全相同的。很少直接把仪器连接到企业LAN网中。网络中的数据可能会干扰和减慢实时仪器控制执行,而仪器也会显著增加网络流量。通常,LXI仪器被置于一个完全不同的网络。

这样,控制器需要两个LAN接口:一个连接到企业LAN网,可以管理测试计划和结果,另一个专用于仪器控制。使用一个以太网开关从控制器到每一台仪器。这需要在控制器中安装第二块NIC(网卡)。

基于PCIe的模块化系统也是类似的。从控制器到企业是LAN网的通信,而仪器通信是通过PCIe。大多数计算机内部有PCIe。和LXI不同,仪器是同一PCIe网络的一部分,内存映射和所有其他计算机外设一样,这就是如何获得速度提升的原因。

内部PCIe总线必须采用缓冲,以避免加载这些外部仪器的时间。这样,必须安装PCIe接口卡,允许PCIe扩展为像一根电缆对于PXI,AXIe,或VXI 4.0机架。这缓冲了PCIe总线但保持相同的内存映射。如一个系统使用多个PCIe机架,需要每个都安装额外的接口卡,或者机架扩展。下图所示系统配置了LAN和PCIe作为通信信道。下一步是添加所需软件。



仪器软件分层

无论是基于消息的仪器还是基于寄存器的仪器,都需要I/O命令。简单的基于SCPI的仪器需要某种方式把控制器的命令发送给仪器,这就需要VISA。VISA是一种业界标准的API,用于从PC和仪器通信。VISA版本可以从接口卡厂商处获得。VISA也支持和LXI仪器的通信,以及PCIe内存映射仪器,如PXI,AXIe和VXI 4.0。

VISA,或者相应的I/O库,是基于消息的仪器需要的最少的软件。安装VISA后,可以根据手册命令进行仪器SCPI编程。

VISA本身,很少足够控制PCIe仪器。还需要驱动程序来生成仪器的功能。IVI驱动,基于由IVI联盟管理的标准API,被设计用于从PC环境实现仪器控制。

IVI驱动设计为了处理两个问题:软件完成实际寄存器操作,是仪器功能的核心;并在驱动层面保证不同类型仪器和不同厂商仪器之间的兼容性。这样,IVI借用SCPI来定义基于产品类别的类(Classes),采用的API看起来和SCPI命令特别类似。例如,同样的IVI功能调用数字万用表(DMM,digital multimeter)是这样:

dmm.DCVoltage.Measure(10.0, 0.001)

因为这条调用在编译时完成,很少时间损失在命令执行时。执行时不需要命令解析。

IVI驱动有好几种,如IVI-C,IVI-COM,为不同环境优化。PXI和AXIe产品几乎毫无例外地支持IVI-C,它可用于任何微软自动化环境,包括Microsoft Visual Studio,LabView, Matlab, Agilent VEE。要使用IVI驱动还需要同时安装一些共享组件。IVI Foundation网站提供了关于使用这些驱动的细节。仪器厂商也可以根据不同操作环境提供特别订制的驱动。包括LabView和Matlab驱动。

安装好需要的软件驱动,仪器可以编程用于自动化环境。模块化仪器使用选定的驱动来编程。尽管基于消息的仪器可以直接用SCPI编程,很多时候也可以被相同的IVI驱动控制,和模块化仪器一样,例如IVI-C或LabView。这使得多了额外一层一致性,并允许在传统仪器和模块化仪器之间替换。

下图显示了混合系统中的软件分层。



嵌入式控制器

此前介绍的是使用外部控制器与LXI仪器或PCIe仪器交互。如果控制器是嵌入在模块化系统里面的呢?这种方法有什么优缺点呢?

主要变化是PCIe接口,它用于和模块化系统机架通信,基本上是嵌入在模块控制器里面的。此外,系统架构是相同的。如果控制器要控制LXI仪器,也需要有两个LAN口,一个用于LXI仪器控制,一个用于连接企业LAN网,和使用外部控制器相同。嵌入式控制器通常有一个额外的扩展端口,可以安装网卡或连电缆的PCIe卡。

使用嵌入式控制器的一个优势是系统可以集成得更小,更轻,更便携。另一个优势是作为带有稳定PCIe计数的仪器控制器,经验证工作稳定。

计数是计算机定位和辨识所有PCIe设备的过程。很多计算机无法验证对于模块化仪器产生的深层PCIe树结构的计数。因此,一些仪器,尽管安装在机架上,也无法被辨识和控制。这种情况通常需要计算机厂商更新BIOS来解决问题。嵌入式控制器,通过其设计和大量测试,本质上确保正确地执行计数功能。

第三个优势是企业监控。尽管形式对于很多工程师不重要,但嵌入式控制器更易于被企业IT部门接受,作为仪器系统的一部分,而外部连接的电脑通常属于IT部门管理范畴。为避免购买时批准的延迟,一些工程师直接购买嵌入式控制器。

曾经,嵌入式控制器还有速度优势,因为其总线长度更短与背板通信更快。但高速串行标准改变了这一点,连电缆的PCIe与外部控制器也可以达到几乎同样的全部带宽。

嵌入式控制器也有一些劣势。第一点是成本。仪器控制相对于消费类电子或工业自动化的市场份额很小,因此,成本相当高。

第二个缺点是性能。外部商用PC通常有最高性能的处理器和架构,每几个月就有更新换代。嵌入式仪器控制器没有如此大的投资,设计周期少,通常落后于商用PC。因此,高性能控制器通常是采用独立的控制器,也节省成本。一种通用的折中是采用工业机架控制器,相对性能高价格合适,只是需要1U的机架空间。

外部控制器的另外一个优势是可扩展性。外部控制器提供多个扩展槽,可用于控制其它外设或者额外的LAN和PCIe借口。

总之,好的仪器系统设计让用户能结合传统仪器和模块化仪器的优势,为自己的应用选择最好地方案。本文侧重于计算机系统和软件挑战,以及整合混合仪器系统的多种选择。以后,还将继续这个话题的讨论,从电子和机械方面挖掘更多的挑战和选择。


上一页 1 2 下一页

评论


技术专区

关闭