PXI系统能够提供高性能模块化仪器和其他具有特定同步功能和主要软件功能的I/O模块,适用于设备验证和自动化生产测试等测试和测量应用。 要深入了解PXI,请参见图1中的2张图片,其中将PXI系统的机箱、控制器和PXI(e)外围模块与商用台式PC的组件进行了比较。关键在于了解PXI的组成架构及其如何匹配商用PC技术:
图1:PXI系统与商用台式PC的对比。
PXI(PCI仪表扩展)是一款成熟且基于PC的测量和自动化平台。可提供电源、散热和通信总线,以支持同一机箱内的多个仪表模块。PXI使用了基于PC的商用PCI总线技术,同时结合了坚固耐用的CompactPCI模块化封装以及重要的定时和同步功能。
互连外围设备专业组(PCI-SIG)在发布PCI的进化版-PCI Express标准时,显著提高了系统带宽。负责管理PXI的PXI系统联盟(PXISA)采用了最新一代的商业PC总线技术,实现了PXI到PXI Express的演变。PXI Express保留了PXI的功能,以确保系统的向后兼容性,除了具有标准PXI功能外,还提供了更多的带宽、电源、散热以及定时和同步功能。
PXI和PXI Express拥有如此丰富的功能,看起来似乎非常复杂,但这些技术有一个共同的核心:主流PC通信总线。PXI和PXI Express机箱为当今工程师的测量和自动化系统提供了一个应用广泛的成熟架构。
由于PXI是一个由PXISA管理的开放规范,任何供应商都可以构建PXI产品。为了帮助解释PXI系统的底层细节,本技术白皮书重点介绍了PXISA所定义的规范,以及这些规范是如何在NI PXI硬件上实现的。
PXISA硬件规范规定了机械、电气和软件架构相关的所有功能要求。PXI Express规范是CompactPCI和CompactPCI Express规范的具体体现。图2所示为如何从机械和电气方面将CompactPCI和CompactPCI Express规范与关键的PXI特性相结合,从而构建整体架构。本文的后续章节将对这一层次结构的每个部分进行介绍,并解释它们如何具体应用于PXI。
图2:PXI整体架构
机械架构规定了CompactPCI、CompactPCI Express、PXI和PXI Express之间的物理兼容性。例如,机械架构规定系统控制器应连接PXI机箱最左边的插槽,以确保系统控制器位于PCI总线部分的左端。该位置的规定简化了机箱与控制器选项之间的集成以及兼容程度。
PXI系统中使用的控制器可以是外部PC或嵌入式控制器。嵌入式控制器包括标准功能,如集成CPU、硬盘、内存、以太网、视频、串行、USB和其他I/O外围设备。用户可以在标准Windows环境中开发应用,即与外部PC相同的标准操作系统。
图3:嵌入式控制器提供多个I/O接口,可与独立运行的仪器或外围设备连接。
PXI规范沿用了CompactPCI和CompactPCI Express的高性能IEC连接器和坚固耐用的EuroCard封装系统。
图4:NI PXI-8430具有类似EuroCard的封装和高性能IEC连接器。
借助该连接器,仪器通过背板总线与系统的其他部分进行连接和通信;例如,PCI和PCI Express总线。随着该规范不断发展以纳入全新的通信总线,这些连接器的配置保持了向后兼容性。我们将会在电气部分更详细地进行介绍。
图5:该规范定义了用于与PXI机箱通信的连接器。
PXI机械规范还包括CompactPCI和CompactPCI Express所没有的特定散热和环境改进,以确保在工业环境中可以正常运行。
图6:了解PXI机箱如何满足规范中的散热要求。
电气架构规定了必须遵守PCI、PCI Express、CompactPCI和CompactPCI Express规格和功率要求。还增加了特定的定时和同步功能,使PXI成为适用于高性能测试和测量的独特平台。
PXI机箱的核心电气特性是通信总线。随着PCI演变成PCI Express,该规范也在不断发展,通过将PCI Express集成到PXI机箱背板中,确保PXI能够满足更多的应用需求。
就传统仪器而言,PXI支持PCI通信,这是一种通常用于并行传输和接收数据的32位总线。PCI仪器的最大带宽或吞吐量是132 MB/s。由于应用需要更高的带宽,将PCI Express定义为通过称为“lane”的一对发送-接收连接线路来串行传输数据,这使得每个方向的数据传输速率可达250 MB/s。这种串行连接称为PCI Express Gen1 x1“链路”(乘1)。多条lane组合在一起可形成x2、x4、x8、x16和x32链路以增加带宽。这些链路为控制器和仪器所在的插槽之间提供了连接。例如,x16插槽能以4 GB/s (250 MB/s*16)的速度传输和接收信息。为了确保与旧PXI仪器和新PXI Express仪器兼容,PXI机箱内同时集成了PCI和PCI Express通信总线。随着PCI Express规范继续更新,PXI将持续把新的功能纳入PXI机箱,同时保持向后兼容性。
图7:此NI PXIe-1085机箱范例根据插槽支持的模块类型,突出了路由到每个插槽的PCI和PCI Express线路。
随着机箱通信总线不断发展并融入全新的PC技术,PXI外围模块已经从PXI发展到PXI Express,以利用PCI Express通信总线功能。为了确保PXI和PXI Express模块之间的兼容性,PXI规范中增加了混合插槽相关要求。该插槽让用户能够在PXI机箱中插入PXI或PXI Express外围模块。PXI机箱可包括以下插槽:
图8:PXI机箱内的插槽类型
综上所述,该规范定义了PXI机箱背板可提供的技术。
图9:PXI机箱集成了最新的通信总线,这些总线路由至不同的插槽选项,以满足外围模块的需求。
除了通信总线之外,电气规范还定义了定时和同步功能。其中包含PXI 10 MHz系统时钟的定义,该系统时钟分配至系统所有的外围模块。该通用参考时钟可用于同步测量或控制系统中的多个模块。除时钟功能外,PXI还具有触发功能,如多支触发总线和具有长度匹配的线路星型触发网络。8条PXI触发器线路构成了灵活多变、用途广泛的PXI触发总线。例如,触发器可用于同步多个PXI外围模块的操作。
图10:NI PXIe-1085机箱PXI触发总线连接图显示了触发传输至PXI外围模块的方式。
对于性能要求更高的应用,该规范通过规定PXI星型触发网络,为PXI系统提供了更高性能的同步功能集。星型触发网络在系统定时插槽(插槽序号旁边有标注,PXI和PXI Express分别以菱形和正方形表示)和其他外设插槽之间实现了一条专用触发线。定时同步模块(星型触发控制器)安装在该插槽中,为其他外围模块提供精确的时钟和触发信号。该模块还具有板载(TCXO,OCXO)、派生(DDS)或外部(铷源)时钟,可覆盖PXI机箱的板载VCXO精度,以定义机箱的高频系统参考时钟、10 MHz和100 MHz时钟。
图11:NI PXIe-1085机箱使用这种星型连接图,以确保每个插槽之间传输延迟的匹配度。
从下图可以看出PXI触发总线和PXI星形触发网络如何路由至每个插槽。为了确保所有功能间的兼容性,PXI引入SYNC 100来同步机箱内的10 MHz和100 MHz时钟。
图12:选择最合适的配置以确保定时和同步功能可满足您的应用需求。
PXI软件规范定义了软件架构,这是PXI平台的关键元素。由于PXI是基于软件定义的仪表架构,PXI本身并不包括硬件中用户可直接访问的功能,如显示屏、旋钮和按钮。所有用户可使用的功能都在软件中。软件框架为系统控制器模块和PXI外围模块定义了PXI系统软件要求。系统控制器模块和PXI外围模块必须满足操作系统和工具支持的特定要求,才能被视为符合给定的PXI软件框架。
图13:PXI软件架构
PXI规范呈现了基于Microsoft Windows操作系统的PXI系统软件框架。因此,该控制器可以使用行业标准的应用编程接口,如NI LabVIEW、NI Measurement Studio、Visual Basic、Visual C/C++和Python。PXI还需要模块和机箱供应商提供某些软件组件。对于PXI组件,用于定义系统配置和系统功能的初始化文件是必需的。最后,规范还规定了PXI必须能够实现仪表行业广泛采用的VISA,以配置和控制VXI、GPIB、串行以及PXI仪表。
图14:该图显示了PXI的完整软件架构。
以一个PXI系统的简单用例为例子:使用PXI模块(如NI PXIe-5433)生成信号。您使用基于Windows的控制器并使用LabVIEW软件编写程序。LabVIEW通过仪器驱动程序与仪器进行通信。Measurement & Automation Explorer (MAX)用于确保系统的设置可支持该通信。
图15:硬件设置和软件环境范例
通信之前,您需要运行一个在LabVIEW中编写的程序。LabVIEW程序在后台执行操作序列。以下是实现通信的步骤:
第1步:在PXI系统控制器上运行LabVIEW
编写应用程序代码,该代码会被编译并被转化为机器级代码。
第2步:PXI系统控制器将LabVIEW中编写的命令集传输给插在PXI外设插槽中的仪器
在PXI系统控制器的内存和处理器中,机器级代码转换为电信号,并沿着PCI或PCI Express通信总线传输。在此范例中,PCI Express通信沿着PXI机箱背板运行,用于连接系统控制器和外围仪器。
第3步:命令通过机箱背板上的通信总线进行传输
信号通过PCI Express通信总线传输到仪器所在的PXI插槽中。
第4步:代码传输至仪器
PXI模块读取发送的命令。在此范例中,NI PXIe-5433生成信号,因此仪器利用模块上的电路读取信号,执行所需的动作,生成信号并将其传输给模块前端的连接器。
图16演示了控制器和实际插槽之间的通信方式。
图16:通过背板传输信号范例