模块化仪器系统如何满足自动化测试设备的需求
1. 模块化仪器系统——灵活、用户可定制的软件和可扩展的硬件组件
设备的日益复杂和技术的逐步融合自动测量设备,正在推动测试系统变得更加灵活。虽然成本压力要求系统具有更长的生命周期,但测试系统需要考虑适应设备随时间推移带来的各种变化的能力。实现这些目标的唯一方法是采用软件定义的模块化架构。本白皮书将通过虚拟仪器系统介绍软件定义的概念,为硬件平台和软件实现提供多种选择,并讨论模块化仪器系统如何满足自动化测试设备(ATE)的要求。
就其本质而言,目前有两种仪器系统,一种是虚拟仪器系统,一种是传统仪器系统。图 1 描述了这两种仪器系统的架构。
图1. 传统仪器系统与虚拟仪器系统架构对比:两者硬件组成相似,两种架构的主要区别在于软件的位置和用户是否可以访问。
以上两个框图显示了这两种仪器系统之间的相似之处。两者都有测量硬件、机箱、电源、总线、处理器、操作系统和用户界面。由于这两种仪器使用相同的基本组件,从硬件的角度来看,两者最明显的区别在于这些组件的封装方式。传统(或离散)仪器将其所有组件放在同一个机箱中(该机箱适用于任何离散仪器)。通过 GPIB、USB 或 LAN/局域网控制的手动仪器是台式仪器的典型示例。这些仪器被设计为分立设备,其主要设计目的不是为了系统使用而集成。虽然有大量的传统乐器,就仪器本身而言,它的软件处理和用户界面是固定的,只有在制造商选择更新时才能更新,而如何更新也取决于制造商的选择(例如通过固件更新)。因此,用户无法使用传统仪器进行功能列表中未包含的测量。此外,根据新标准进行测量或根据需求变化调整原始系统变得极具挑战性和潜在风险。用户无法使用传统仪器进行功能列表中未包含的测量。此外,根据新标准进行测量或根据需求变化调整原始系统变得极具挑战性和潜在风险。用户无法使用传统仪器进行功能列表中未包含的测量。此外,根据新标准进行测量或根据需求变化调整原始系统变得极具挑战性和潜在风险。
相比之下,由软件定义的虚拟仪器允许用户直接访问硬件上的原始数据,以便定义自己的测量和用户界面。通过这种软件定义的方法,用户可以进行自定义测量,根据新产生的标准进行测量,或者根据需求的变化(例如,添加仪器、通道或测量)来调整系统。虽然用户自定义软件也可以应用于分立的专用硬件,但最理想的组合是通用模块化硬件。通过这种组合,可以充分利用测量软件的灵活性和性能。这种灵活的、用户定义的软件和可扩展硬件组件的组合是模块化仪器系统的核心。
2. 支持系统可扩展性的模块化硬件
模块化仪器系统可以采用多种形式。在设计良好的模块化仪器系统中,许多组件(例如机箱和电源)由多个仪器模块共享,而不是为每个仪器重新配置这些组件。这些仪器模块还可以包含不同类型的硬件,例如示波器、函数发生器、数字化仪和 RF。在某些情况下(如图 2 所示),测量硬件只是安装在主机端口或插槽中的外围设备。在这种情况下,主机 PC 提供处理器来运行测量软件,以及电源和 I/O 以及机箱。
图2. 模块化仪器系统可选测量硬件示例:左图为USB外围模块,右图为快速PCI插件模块。
在其他情况下,例如PXI(PCI Expansion System for Instrumentation)——一个坚固的测试、测量和控制平台,得到70多家成员公司的支持——测量硬件安装在工业机箱中(如图3所示) .
图 3. 该模块化仪器系统的示例使用 PXI 硬件和 NI LabVIEW 图形化开发软件。
对于 PXI 系统,主机可以嵌入机箱(如图 3 所示),或单独的便携式计算机、台式机或服务器,通过有线接口控制测量硬件。由于PXI系统使用与PC内部总线相同的总线(PCI和PCIe)和即用型PC组件来控制系统,无论是PXI系统还是PC,都可以作为硬件平台模块化仪器系统。(然而,PXI 为模块化仪器系统提供了一些独特的优势,例如更高的通道数、便携性和稳健性(有关 PXI 的更多信息,请访问 /pxi)。)无论系统使用情况 除 PXI 外,带有插头的台式计算机-in 模块或 I/O 外围模块,这种共享机箱和处理器的方式不仅大大降低了成本,而且还支持用户对测量分析软件的控制。虽然模块化仪器系统有很多配置选项,但这种仪器系统与传统仪器系统的区别在于软件是开放的,用户可以定义何时测试要求发生变化或传统仪器无法完成测量. 您需要的测量值。
值得注意的是,这种模块化方式并不意味着与将所有功能集于一身的传统仪器相比自动测量设备,仪器或通道之间的同步会出现问题。相反,模块化仪器旨在集成以供系统使用。所有模块化仪器都通过共享时钟和触发器提供定时和同步功能。例如,在最高同步精度方面,基带、中频和射频仪器可以实现仪器间偏移小于100 ps的相互同步——优于同一仪器多个通道之间的同步偏移。
3. 模块化降低成本、缩小尺寸、提高吞吐量、延长生命周期
尽管术语“模块化”有时仅用于基于硬件的封装,但模块化仪器系统的内容远远超出封装。用户应该期望模块化仪器系统带来三个好处——更低的成本和更小的尺寸(通过共享机箱、背板和处理器)、更高的吞吐量(通过与主机处理器的高速连接)以及更高的灵活性和更长的生命周期(通过用户定义的软件)。
如上所述,模块化仪器系统中的所有仪器共享相同的电源、机箱和控制器。对于分立仪器,电源、机箱和/或控制器为每台仪器重复配置,从而增加成本和尺寸并降低可靠性。事实上,每个自动化测试系统只需要一台PC,无论PC使用何种总线;所有仪器均基于模块化架构,分担整个系统的成本。在模块化仪器系统中,G Hertz PC 处理器分析数据并使用软件完成测量。其测量吞吐量是传统仪器(这些仪器使用内置供应商定义的固件和专用处理器)的十到一百倍。比如一个典型的矢量信号分析仪(VSA)就可以完成0.
模块化仪器需要高带宽、低延迟的总线来从仪器模块连接到共享处理器以执行用户定义的测量。尽管 USB 在易用性方面提供了出色的用户体验,但 PCI 和 PCIe(以及基于这些总线扩展的 PXI 平台)在模块化仪器系统中提供了最佳性能。目前PCIe提供高达4GB/s的插槽带宽,是高速USB的33倍,100Mb/s以太网的160倍,甚至是即将到来的千兆以太网的16倍(图4) ) 显示)。外围总线(如 LAN 和 USB)总是通过内部总线(如 PCIe)连接到 PC 处理器,因此性能不会很高。让我们看一个高速总线如何影响测试和测量的例子。让' s 考虑一个模块化 RF 采集系统。在台式机或具有 4 个 2 GB/s 插槽的 PXI 系统中,可以将两个通道的 100 MS/s、16 位 IF(中频)数据以数据流的形式直接传输到处理器进行计算处理。由于 LAN 和 USB 都无法满足这些要求,因此需要提供这种性能水平的仪器总是包括一个嵌入式的、供应商定义的处理器来完成测量——这样的仪器不再是模块化的。
图 4. PCI 和 PCIe 提供最高带宽和最低延迟,从而通过用户自定义软件缩短测试时间并实现高灵活性和长生命周期。
在模块化仪器中,与主机的高速连接实现了仪器的高灵活性和更长的生命周期,因为它支持软件驻留在主机而不是仪器上。通过在主机上运行的软件,用户(而非制造商)可以定义仪器的操作方式。这样的架构使您能够: 1) 进行不常见的测量,无法包含在典型的、供应商定义的、非模块化方法中;2) 为尚未发布的标准创建度量;和 3) 定义用于进行特殊测量的算法。该软件的用户定义还意味着您可以在被测设备发生变化时添加或调整测量。
值得注意的是,这些硬件实现并没有牺牲测量性能。目前,采用模块化仪器系统构建的仪器包括业界精度最高的数字化仪、带宽最高的任意波形发生器、精度最高的7位半数字万用表。
4. 支持灵活定制测量的软件
软件在模块化仪器系统中的作用非常重要。软件将来自硬件的原始比特流转换为有用的测量值。一个设计良好的模块化仪器系统会考虑多个级别的软件,包括 I/O 驱动程序、应用程序开发和测试管理,如图 5 所示。
图 5. 模块化仪器系统中常用的软件级别。.
最底层是测控服务层。虽然经常被忽视,但它仍然是模块化仪器系统中最关键的元素之一。这一层代表 I/O 驱动软件和硬件配置工具。该驱动程序软件非常关键,因为它提供了测试开发软件与用于测量和控制的硬件之间的连接。
仪器驱动程序提供了一组用于与仪器交互的高级用户可读函数。每个仪器驱动程序都有一个特定的仪器模型,以提供一个接口来访问仪器的独特功能。在仪器驱动中,与开发环境的集成尤为重要,因为它关系到仪器的命令能否与应用开发无缝集成。系统开发人员需要针对他们选择的开发环境(例如 NI LabVIEW、C、C++ 或 Microsoft .NET)优化的仪器驱动程序接口。
测控服务层还包括配置工具。这些配置工具包括 I/O 的配置和测试资源,以及存储扩展、校准和通道相关信息。这些工具对于仪器系统的快速构建、故障排除和维护非常重要。
应用程序开发环境层的软件提供了开发应用程序所需的代码或程序的工具。虽然模块化仪器系统不需要图形化编程,但这些系统通常使用图形工具来确保易用性和快速开发。图形编程使用“图标”或符号函数,它们以图形方式表示要执行的操作,如图 6 所示。这些符号通过“连线”连接以传输数据并确定它们的执行顺序。LabVIEW提供了业界最常用、最完整的图形化开发环境。
图 6. 用 LabVIEW 编写的典型激励/响应应用程序(使用模块化仪器系统)的代码,1) 通过任意波形发生器生成信号;2) 使用数字化仪/示波器采集信号;3) 进行快速傅立叶变换;4) 在用户界面(前面板)上绘制 FFT 结果。
一些应用程序还需要一个额外的软件管理层来执行测试或测试数据的可视化。这个需求体现在系统管理软件层。对于高度自动化的测试系统,测试管理软件提供了一个用于顺序执行、分支/循环、报告生成和数据库集成的框架。测试管理工具还必须能够紧密集成专用代码开发环境。例如,NI TestStand 为顺序执行、分支、报告生成和数据库集成提供了这样一个框架,并包括与所有常见开发环境的连接。其他工具可能对需要观察大量测试数据的其他应用程序有所帮助。这些要求包括快速访问大量分散的数据、一致的报告、和数据可视化。这些软件工具为收集过程中收集的数据和/或模拟过程中产生的数据的管理、分析和报告提供辅助功能。
对于模块化仪器系统,应仔细考虑软件架构中的每一层。
5. 模块化仪器系统——满足自动化测试需求
随着设备变得越来越复杂并涵盖更多不同的技术,测试系统必须变得更加灵活。尽管测试系统必须适应随时间变化的设备,但成本压力要求系统具有更长的生命周期。实现这些目标的唯一方法是采用软件定义的模块化架构。通过共享组件、高速总线和开放的、用户定义的软件,模块化仪器系统最能满足 ATE 当前和未来的需求。