Understanding MXI-Express Enumeration and Compatibility

Publish Date: Jan 11, 2019 | 2 Ratings | 5.00 out of 5 | Print

Table of Contents

  1. Understanding PC Compatibility Challenges
  2. Tips to Successfully Use Remote Controllers
  3. Other Controller Options
  4. Additional Questions and Information
  5. Related Resources


NI MXI-Express remote control kits give you the ability to control your PXI system directly from a PC with a transparent, high-speed link that requires no programming. With MXI-Express you can take advantage of the latest high-performance, low-cost desktop PCs or laptops for control of your PXI system. The MXI-Express link uses cabled PCI Express as the communication technology to extend the PCI Express signaling from a peripheral slot in the PC to external systems such as PXI or PXI Express chassis. The link consists of a PCI Express board in your computer and a PXI module in slot 1 of your PXI system, connected by a copper or fiber-optic cable.

The PXI platform uses PCI and PCI Express as the system data communication bus in the chassis backplane and all PXI modules appear to the OS as standard PCI devices. MXI-Express remote controllers use the PCI Express signaling provided by the PC and forward it to the PXI Express chassis backplane. Figure 1 illustrates this configuration.

Figure 1. System Configuration When Using MXI-Express Remote Controllers for Controlling a PXI Chassis


MXI-Express is successfully used on a variety of name-brand PCs, laptops, and motherboards containing a PCI, PCI Express, or ExpressCard slot. However complex, MXI-Express configurations may pose a challenge for the BIOS of the host system to correctly allocate all of the necessary resources. This may cause the system to freeze during the boot process or not enumerate all devices in the system correctly.

The below sections outline the types of compatibility challenges that can occur, tips to reduce the risk of incompatibility, and alternative options to ensure compatibility.


1. Understanding PC Compatibility Challenges

While MXI-Express is successful on several name-brand compute machines, there are a few BIOS types that are known to cause compatibility problems. Chassis, controllers, and instruments require a certain number of PCI buses to be available in the BIOS. The total number of required buses depends on the hardware in the PXI configuration.

There are several ways host systems allocate these available resources. Below are some of the most common types of BIOSs and how resources are reserved in those systems.


PCI Fully Specification-Compliant BIOS


With a fully compliant BIOS, the host system can enumerate up to 256 PCI buses, including all onboard devices and any expansion devices connected via PCI Express slot.

Figure 2. The host PC’s BIOS allows all buses to be enumerated.


The maximum number of buses available is 256, as stated in the PCI specification. In an ideal, compliant BIOS, all 256 of these buses can be enumerated, regardless of bus topology. This is the best scenario for MXI-Express because it gives you the ability to connect several chassis in a daisy-chain configuration to the same PCI Express slot and significantly reduces the risk of incompatibility.


Artificially Limited BIOS


Each available bus resource in a system takes 1 MB of pre-reserved address space, which may limit memory in 32-bit OSs. To optimize boot-time performance for certain use cases, some BIOS vendors have limited the number of supported buses. It is not uncommon to find BIOSs that only allow for 64 or 128 PCI bus resources maximum across the entire PCI hierarchy.

In several cases, PXI may still enumerate correctly in a system with a limited BIOS if the amount of required buses does not exceed the amount available. This limitation reduces the amount of chassis that can be connected to the host computer. These systems are more likely to enumerate correctly when using a single chassis, and less likely to enumerate correctly as the complexity of the topology approaches the artificial limit of the host computer.


User-Selectable BIOS


To optimize performance in some applications while still allowing for the flexibility of applications requiring a large number of bus resources (such as PXI), several vendors give the user the ability to select the maximum number of buses available. In this configuration, the default is typically 64 and users have options such as 64, 128, and 256. This varies from system to system.

To mimic a fully compliant BIOS state, ensure the BIOS settings are set to 256 bus numbers. If this setting is set to anything lower than 256, the system may or may not enumerate depending on how many bus numbers are required by the attached system.


Bus Split


Some systems might allow for enough bus numbers for a PXI system, but these resources are split between two or more root buses or PCI Express slots. When this happens, only some of the bus resources are accessible via one PCI Express slot (see Figure 3).

Figure 3. Some systems split the available buses between two separate PCI Express slots.


Figure 3 shows an example of a system that has 256 resources available, but the PXI system can take advantage of only 128 of these resources. If the system requires less than 128, then it will likely enumerate correctly. However, if the required resources exceed 128 (for example, several 18-slot chassis daisy chained together), then it may fail to boot, only enumerate partially, or not enumerate at all.


Back to Top

2. Tips to Successfully Use Remote Controllers


Identify the Amount of Required Resources


To gauge incompatibility risk when using MXI-Express remote control kits, it is necessary to calculate the number of total bus resources the PXI system will require. Chassis, MXI-Express remote controllers, and certain I/O hardware in the system require a specific number of buses.

In general, use the below table to get an idea of how many resources your PXI system requires:


Hardware Bus Requirement
Large Chassis (18 slots) ~25
Compact Chassis (4-9 slots) ~10
MXI-Express Host Card (PCI Express) ~3
MXI-Express Controller Card (PXI Express) ~7
MXI-Express Peripheral Card (PXI Express) ~2


Table 1. PXI chassis, controllers, peripheral cards, and some modules require computer resources to correctly enumerate. Note that this list is not all-inclusive and should be used for only a general estimate of required buses. For more detailed information, contact NI.


Run Root Bus Detection Utility on the PC


After estimating what your system takes, run the Root Bus Detection Utility  to see what the system has available (see Figure 4).


Figure 4. Running the Bus Detection Utility helps determine how many root buses your system has and how many buses are available.


Ensure that the utility ran successfully without any errors. This utility tells the number of root buses in the system, which indicates the level of support advertised by the host system BIOS. It also tells a range of bus resources available across the various root buses.

It is important to ensure the required number of buses is well below this range as the host PC and other devices in the system also require some of these resources.


Upgrade the PC BIOS to the Latest Version


After determining that the host PC cannot enumerate more buses than required by the downstream system, the next step is to update the PC BIOS. Some PC venders release new or updated BIOSs to remedy this issue. Determine if a more recent version of the PC BIOS has been released, and if so, update the PC’s BIOS to possibly open up additional buses.


Use MXI-Express BIOS Compatibility Software


When upgrading the BIOS of the host PC running a Microsoft Windows OS still does not allow for full functionality, another option is to use the MXI-Express BIOS compatibility software. The MXI-Express compatibility software allows for the enumeration of the downstream hardware to be conducted by the software after booting up, rather than the BIOS during the boot process. By allowing the computer to fully boot and then enumerate the hardware using the MXI BIOS compatibility software, several BIOS incompatibility issues can be solved including limited or inefficient allocation of PCI resources. MXI-Express BIOS compatibility software cannot increase the bus number limits as shown by the Bus Detection Utility.


Rearrange the Hardware


Some computers have complex, split root buses. A complex root bus means that the total number of buses that can be enumerated by the host PC is split between PCI Express slots, rather than being shared by all PCI Express slots. If this is the case, switching the MXI-Express remote controller to a different slot may allow for a larger number of buses to be available to the downstream hardware, allowing for full enumeration of the hardware.


Back to Top

3. Other Controller Options


If you are unable to use a computer that does not have BIOS incompatibilities, there are alternative options to control a PXI system. Below outlines some of the other options to guarantee compatibility.


NI Embedded Controllers


PXI embedded controllers from National Instruments use an optimized BIOS to enumerate the most complex PXI configurations allowed by the PCI and PCI Express specifications. In contrast to MXI-Express, these controllers are compact enough to fit inside the chassis.

View the PXI embedded controller options
View the design advantages of PXI embedded  controllers


NI Rack-Mount Controllers


NI offers rack-mount controllers that have been tested for compatibility and performance. Consider using an NI rack-mount controller to ensure system compatibility.

View the NI rack-mount controller options


Back to Top

4. Additional Questions and Information


For additional questions, contact NI technical support at ni.com/support.


Back to Top

5. Related Resources


To learn more about the PXI platform and the differences between PXI and PXI Express, read the Developer Zone Tutorial: What Is PXI?

Back to Top

Bookmark & Share


Rate this document

Answered Your Question?
Yes No