Hints to help ensure multi-vendor interoperability in PXI-based systems
To meet a specific need, system creators often assemble test solutions that incorporate a variety of hardware and software elements. One key benefit of accepted industry standards is the ability to pick and choose among elements offered by multiple vendors.
Achieving success with—and confidence in—the integration of a multi-vendor solution depends on compatibility at the mechanical, electrical and software levels. Ensuring confidence is one of the primary goals of any standards organization. In the case of PXI, this is enhanced by the adoption of multiple standards. For example, chassis, controllers and instrumentation are based on specifications maintained by three separate groups: the Peripheral Component Interconnect Special Interest Group (PCI-SIG), PCI Industrial Computers Manufacturers Group (PICMG) and the PXI Systems Alliance (PXISA).
The PXISA tied these together in the PXI standard to create a framework for cross-vendor compatibility. The more rigorously vendors adhere to the standard, the more likely the end user will gain the benefits of true interoperability. To help system creators and end users reach that goal, this article offers hints that address the four key elements of every system: chassis, modules, controllers and software.
Creating context with a few relevant details
With PXI, the involved standards define three key elements: connectivity, enclosures and timing. Specifications for connectivity and communication come from PCI and PCI Express (PCIe), the standards for hardware enclosures come from Compact PCI (cPCI), and the details around timing and synchronization were added by the PXISA.
The communication backbone is built on PCI and cPCI—the same, standardized PCI bus that has been around for decades. Over the years, essential elements such as hardware chipsets, software BIOS and enumeration, and driver stacks have been developed, debugged and wrung out.
Delving briefly into the details, PXI incorporates the PCI and PCI Express (PCIe) bus structures. PCI is a 32- or 64-bit parallel bus that was the original communication layer incorporated into the PXI specification. Early PXI products that use parallel communication are now referred to as PXI-1. PCIe is a high-speed serial version of the PCI bus. It has been recently incorporated into the PXI standard and is known as PXIe. Inside a modular solution, the PXIe bus has three important advantages: data bandwidth, point-to-point messaging, and timing and synchronization.
Recognizing the need for backward compatibility, the standards organization has defined a PXI footprint that supports legacy PXI-1 designs as well as today’s faster PXIe designs. A key challenge was devising a way to route high-speed PCIe signals while maintaining compatibility with 32-bit parallel signal routing. This is discussed in the next section.
Physically, PXI modules come in two sizes, 3U and 6U. The 3U size has been the most popular, especially in the 32-bit PXI-1 format, and will be the focus of this article.
The other important physical attribute is the connectors that plug into the chassis backplane. The three main types of modules use related sets of connectors with distinct labels:
- A 3U PXI-1 modules has J1 (lower) and J2 (upper) connectors
- A hybrid-slot compatible PXI-1 module has J1 (lower) and XJ4 (upper) connectors
- A PXIe module has XJ3 (lower) and XJ4 (upper) connectors
Detailed functional descriptions of each connector are available from the PXISA website at www.pxisa.org. The descriptions and illustrations included here are intended to help ensure clarity in the subsequent discussion.
Backward compatibility was accomplished by routing the high-speed PCIe signals through the lower portion of connector J2, which is not commonly used by 32-bit PXI modules. This portion of J2 is left unpopulated in legacy-style PXI-1 modules; in newer-style PXIe modules it is populated with a special connector capable of the high data rates found in PCIe buses. PXI-1 modules configured in this way are known as hybrid-slot compatible (Figure 1). Within a chassis, slots are designed to accept either PXI-1 hybrid or PXIe connectors.
It is important to note that early versions of PXI-1 modules may include J1 and J2 connectors. Such PXI-1 modules cannot be installed into a hybrid slot in a chassis. Today, the majority of PXI-1 modules use the hybrid footprint.
Exploring the hints for successful interoperability
Part of the appeal of PXI is its ability to serve as a wrapper that shields system creators and end users from much of its underlying complexity. While this is a real benefit of PXI, practical experience offers a few considerations that can help ensure successful interoperability when using chassis, modules, controllers and software from multiple vendors.
From a hardware perspective, the chassis is the nexus: modules and embedded controllers plug in here. Today, many chassis are available and these can accommodate one or more module types: PXI-1, hybrid PXI and PXIe.
Hint #1: To accommodate present and future requirements, select a chassis that contains a large number of hybrid slots (Figure 2). This provides the flexibility to install modules in any slot, as needed. Flexibility is especially important with high performance RF and microwave modules that are highly dependent on module placement and signal routing.
Hint #2: To support PXIe modules with high throughput rates, select a chassis that supports x8 PCIe lanes and PCIe Gen 2 data rates. In addition, the PXIe specification allows two-link and four-link PCIe fabric configurations. Selecting a chassis that supports both configurations enables optimization for maximum throughput.
One benefit of any modular architecture is the potential to reuse existing modules in new solutions. This has at least two implications for system creators. First, the chassis needs to be backward compatible with the oldest standard to be used (e.g., PXI-1 or hybrid PXI). Second, it may be necessary to purchase new modules when high performance is needed—and “high performance” may refer to measurement speed, measurement accuracy, data handling, or some other attribute.
Hint #3a: Select PXI modules that are compatible with hybrid PXI slots. As a caveat, some older PXI-1 modules may not be compatible with hybrid slots.
Hint 3b: It may be possible to rework older PXI-1 modules and make them hybrid-compatible. Check with the module supplier to see if they offer this service.
Depending on system requirements or the usage scenario, a PXI-based system may use either an external or embedded controller. Several tradeoffs affect this choice: size and space, cost, computing performance, data-transfer speed, upgradability, and more.
Hint #4, external controller: Chose a PCIe adapter card that is designed to drive long PCIe lines. The card should also provide clock isolation with low jitter on the clock and data signals.
Hint #5, external controller: Select a controller that has been pretested to verify that the BIOS and signal characteristics are suitable for full enumeration of a PXIe chassis.
Hint #6: embedded controller: Match the form factors. A PXIe chassis requires use of a PXIe embedded controller and a PXI-1 chassis requires a PXI-1 controller.
System software may be created using a Windows-based programming language or system-design environment. In all cases, it is useful to think of the PXI chassis and modules as high-performance PCI peripherals. As such, a few key details will help verify and ensure proper installation, communication and operation.
Hint #7: Ensure that a complete software driver stack has been installed, including VISA software libraries and PXI module drivers. The software driver stack ensures successful communication to the PXI instrument. Be careful to follow the instrument supplier’s instructions when installing any software driver.
Hint #8: For a vendor-independent view, use the Windows Device Manager to determine if the installed PXI modules are present on the PCI bus and if a driver is associated with the instrument (Figure 3).
Hint #9: In rare cases, a peripheral module driver may attempt to control the chassis to configure trigger-bus lines. This occurs primarily in multi-module synchronous-test configurations. Because there is currently no common software layer for chassis communication, any attempt by a peripheral driver to control the chassis may generate an error. Fortunately, workarounds do exist and can be provided by the module or chassis manufacturer.
Hint #10: Use a vendor-provided tool such as Agilent Connection Expert (ACE) to view the PXI modules within a chassis.
Hint #11: Access each module’s soft front panel to quickly check for successful installation of both hardware and software. The soft front panel can also be used for final verification of installation prior to commencing development of application software.
Hint #12: If using VISA alias names or resource descriptors, use the corresponding vendor-specific tools to assign those attributes to the respective modules. For example, use only ACE to assign VISA aliases for Agilent products.
Looking to the future
The benefits of modular products and multi-vendor interoperation are undeniable, even when tempered by the challenges that may crop up. As manufacturers become more diligent about implementing the PXI standard at all levels—in hardware and software—the benefits of true multi-vendor interoperability will be fully realized. Until then, the hints provided here will help prevent or remedy some of the possible problems before or during system integration.