Expansion I/O for LabVIEW RIO Systems: An In-Depth Comparison

Overview

​​NI reconfigurable I/O (RIO) products are used in system-level applications that require high-speed, closed-loop control with high-precision measurement on a flexible development platform. Sometimes, these applications require more channels or a more distributed architecture than the core system can provide. Expansion I/O systems make a 1-to-N system topology possible with one controller and “N” field-programmable gate arrays (FPGAs) and I/O nodes for flexible, high-channel-count systems that can perform both distributed control and localized processing.​

Contents

It All Starts with the Bus

The needs for high-channel-count systems are diverse, and the expansion I/O platform from NI offers a complete range of products to meet the varied needs of these systems. The main difference between the expansion I/O options is in the bus that separates the I/O from the processor, as seen in Figure 1.  Each bus offers unique benefits and advantages that make it ideal for a subset of expansion I/O applications.

Figure 1: Expansion I/O decouples the processor from the I/O. Each expansion option implements a different communication bus between the two and suits different application areas.

Expansion Comparison for CompactRIO Chassis

Each expansion I/O option is based on a unique communication bus (Ethernet, EtherCAT, or MXI) that dictates certain features of the system. Table 1 summarizes some key differences between each expansion I/O option.

 

Ethernet RIO

You can use the rugged 4- or 8-slot Ethernet RIO chassis to add distributed, FPGA-enabled I/O to any Ethernet network. With the flexibility of standard CAT-5 cabling, you can connect Ethernet RIO systems to almost any host that supports Ethernet, including NI CompactRIO, real-time PXI controllers, and the NI industrial controller. You can also connect Ethernet RIO expansion systems to Windows-based PCs to create a highly distributed, flexible network of FPGA-enabled, mixed-signal-conditioned I/O. With the onboard FPGA, you can implement custom signal analysis, control, and safety interlocks that are local to each chassis, creating a truly modular system. Ethernet RIO-based systems are ideal for applications in which ease of use, cost, and flexibility are key concerns. These applications include distributed monitoring for single-point measurements such as temperature and flow.

EtherCAT RIO

Ethernet Control Automation Technology (EtherCAT) RIO is an 8-slot slave chassis that implements communication over Ethernet with the deterministic EtherCAT protocol. EtherCAT RIO allows you to add FPGA-enabled I/O to your high-channel-count or distributed I/O system with a defined amount of determinism and synchronization. Using EtherCAT RIO, you can daisy chain multiple slave devices from a single master and synchronize the I/O to a single master clock. EtherCAT RIO is best suited for distributed, single-point control and motion applications that require hard determinism over multiple synchronized chassis. Customers use EtherCAT RIO for structural monitoring of wind turbines, synchronized test rigs, and long-distance control applications. 

MXI-Express RIO (EOL)

NI no longer offers the MXI-Express RIO expansion chassis; consider using the EtherCAT or Ethernet RIO expansion chassis instead. Use Table 1 as a comparison to determine which migration path is best for you.

I/O Count

Ethernet, EtherCAT, and MXI-Express RIO

Ethernet RIO, EtherCAT RIO, and MXI-Express RIO systems can connect to any sensor on any bus through C Series I/O modules. The I/O is directly available to the FPGA, where you can implement inline signal processing, custom timing, specialized triggering, and closed-loop control. Each C Series I/O module contains built-in signal conditioning and screw terminal, BNC, or D-SUB connectors. Currently, there are more than 100 NI and third-party C Series modules for different measurements including thermocouple, voltage, resistance temperature detector (RTD), current, resistance, strain, digital (TTL and other), accelerometers, and microphones. Channel counts on the individual modules range from three to 32 channels to accommodate a wide range of system requirements.

FPGA

Ethernet, EtherCAT, and MXI-Express RIO

FPGA chip adoption across all industries is driven by the fact that FPGAs combine the best parts of application-specific integrated circuits (ASICs) and processor-based systems. FPGAs provide hardware-timed speed and reliability, but they do not require high volumes to justify the large upfront expense of custom ASIC design.

Reprogrammable silicon also has the same flexibility of software running on a processor-based system, but it is not limited by the number of processing cores available. Unlike processors, FPGAs are truly parallel in nature, so different processing operations do not have to compete for the same resources. Each independent processing task is assigned to a dedicated section of the chip, and can function autonomously without any influence from other logic blocks. As a result, the performance of one part of the application is not affected when you add more processing.

 

Network Topology

EtherCAT RIO

The theoretical device limit for an EtherCAT network is 65,535 slaves, and Fast Ethernet (100 Mbit/s) limits are similarly high. The real limiting factor in the maximum number of devices in this system is the number of I/O channels you are deploying, the speed of the controller, and the application you are running.

Note that all chassis in a daisy chain share the same “pipe” or bandwidth back to the host controller when configuring a system and calculating total throughput requirements. Also, loop rate is affected by device count and data on the bus, as each chassis and cable adds latency to the system.

MXI-Express RIO (EOL) 

On MXI-Express RIO, you can use star or daisy-chain configurations. The number of chassis possible is system dependent—but, in general, you can achieve up to six chassis per daisy chain. Total chassis in a star configuration is dependent on available PCI bus segments in the host controller, with more than 40 chassis possible on a single controller.

Distance

MXI-Express RIO is limited to 7 m distances between chassis on the bus. Both Ethernet RIO and the EtherCAT slave chassis support up to 100 m before needing a hub, switch, or repeater between devices.

Note: To extend the range of an EtherCAT network, you must use an EtherCAT-compatible device; a normal Ethernet switch is not compatible with an EtherCAT network. 

Multidevice Synchronization

Timing and synchronization allow for the correlation or coordination of events in time, which is an integral part of many control and measurement applications, especially as they scale to high channel counts.

EtherCAT RIO

EtherCAT RIO is synchronized to other parts of the system automatically because the EtherCAT bus communication standard defines a master system clock that all devices on the network reference. This makes the EtherCAT bus an ideal choice for systems that require tight synchronization (less than one microsecond) and hard determinism.

MXI-Express RIO and Ethernet RIO 

MXI-Express RIO and Ethernet RIO chassis do not support native synchronization over the communication bus (MXI-Express and Fast Ethernet, respectively). Clock sharing is not built into the bus architecture and the delay induced by missed packets or collision due to network topology is not accounted for (communication between nodes on the system is asynchronous). However, all modules in a single chassis can be synchronized because they share the chassis backplane, and multiple MXI-Express RIO or Ethernet RIO chassis can be synchronized using a C Series digital I/O module to distribute a reference clock signal among chassis.  

Communication Jitter

This specification refers to the jitter introduced by the communication bus only. The main source of jitter in a system is usually associated with the controller rather than the communication bus (especially if it’s a Windows controller). Also, jitter in a system is dependent on the system architecture and the number of chassis the data must negotiate in a daisy chain to reach the host. 

Deterministic communication is important in applications where communication of data between distributed real-time computing nodes is an integral part of the control loop. This means that any jitter induced by the network results in jitter for the control loop. Acceptable control loop jitter depends on the system in question, but a standard range is ±10 percent of the control-loop time. Considering a 1 kHz control loop, this means each iteration could execute in anywhere from 900 to 1,100 μs and the system would still respond appropriately. 

The communication jitter for EtherCAT RIO and MXI-Express RIO is less than 10 microseconds and less than one microsecond, respectively. Ethernet RIO devices do not have a specification for jitter. This is because Fast Ethernet and wireless transmission are not deterministic methods of transferring data.

Bus Throughput

MXI-Express RIO provides the biggest pipe back to the controller with 250 MB/s maximum theoretical bandwidth compared to 25 MB/s for Ethernet RIO, and 12.5 MB/s for EtherCAT. Keep in mind that bus performance depends on more than just the theoretical maximum bandwidth of the bus; consider factors such as latency, implementation, power requirements, and your application in addition to bandwidth. For high-throughput applications, MXI-Express RIO is the best option. The throughput capabilities of Ethernet RIO and EtherCAT RIO are sufficient for most control and monitoring applications.

API

An application program interface (API) is a set of routines used as the building blocks for software applications. There are two methods of programming expansion I/O targets: NI CompactRIO Scan Mode or the NI LabVIEW FPGA Host Interface API.

You can use NI CompactRIO Scan Mode (also called the RIO Scan Interface or RSI) on the EtherCAT and Ethernet chassis. CompactRIO Scan Mode automatically detects your I/O modules and adds them to a LabVIEW project. You can then drag and drop the I/O variables onto your LabVIEW Real-Time and host VI block diagrams and instantly read and write scaled, calibrated I/O data without any FPGA programming or compiling. 

Figure 2: Using CompactRIO Scan Mode

If you want to program the FPGA directly, use the LabVIEW FPGA Module. Once you have written your FPGA VI, it is compiled to a bitstream and deployed to the FPGA. To communicate with the FPGA from your host application, use the LabVIEW FPGA Host Interface API. This allows you to perform functions such as reading and writing to registers, and DMA transfers.

Note that with the EtherCAT chassis, you can use only user-defined I/O variables to talk between the controller’s real-time VI and the expansion chassis’ FPGA VI. (User-defined I/O variables are used to synchronize FPGA data with the NI Scan Engine.) This means that for the expansion chassis’ FPGA VI, you have no FPGA host interface, DMA transfer functions, or front panel debugging.

You can only use the LabVIEW FPGA Host Interface API to interface with the MXI-Express RIO. 

There are also some limitations on the types of C Series modules that are compatible with each chassis based on the modules’ ability to support NI Scan Mode. Because MXI-Express RIO supports only LabVIEW FPGA, modules that rely on NI Scan Mode, such as the NI 986x CAN modules, are not compatible with MXI-Express RIO. For a complete list of C Series compatibility, see the NI C Series Compatibility Chart.

Host Controllers

All four expansion options use different buses, so they require different connections on the controller side.

Ethernet RIO

Ethernet RIO can plug into any system that has an Ethernet port and can be used with most standard network topologies. To connect the Ethernet RIO directly to the secondary Ethernet port of a real-time controller, see Connect an Ethernet RIO Expansion Chassis to a Secondary Ethernet Port on a Real-Time Controller. The NI-9149 and NI-9147 Ethernet RIO chassis also include a USB port for easy device configuration. This port is not, however, meant to be used in place of the Ethernet port. 

EtherCAT RIO 

The EtherCAT RIO chassis is compatible with all real-time controllers with two Ethernet ports, including the CompactRIO, PXI, and industrial controller platforms. Note that for EtherCAT, if a real-time PXI controller does not have two Ethernet ports, you must include an NI PXI-8231/8232 Ethernet interface (the NI-8234 Ethernet interface is not compatible), which is supported only on real-time controllers. You also need the NI-Industrial Communications for EtherCAT driver software, and the second Ethernet port must be in EtherCAT mode.

MXI-Express RIO (EOL)

MXI-Express RIO requires an MXI-Express interface to the host system: options include multicore CompactRIO, PXI, or industrial controllers, as well as PCs running a Windows or real-time OS that have an MXI-Express PCI card interface. You can use an MXI-Express ExpressCard adapter to connect the MXI-Express RIO chassis to controllers that don’t already have an MXI-Express interface but do have a built-in ExpressCard slot such as the NI PXIe-8115. You can also use the NI PXIe-8364 MXI-Express interface to connect an MXI-Express RIO to your PXI system. You can use an MXI-Express to PCI or PCI Express adapter to connect MXI-Express RIO to a PC.  

 EthernetEtherCATMXI (EOL)
 Add FPGA-enabled I/O to anywhere on your Ethernet network.Use deterministic I/O over EtherCAT for distributed applications.Use the high-performance expansion chassis for high-channel-count applications.
I/O Count4 or 8 C Series slots8 C Series slots8 or 14 C Series slots
FPGAArtix-7Artix-7Virtex-5 (LX50/LX85/LX110
Network TopologySame as EthernetDaisy Chain/StarDaisy Chain/Star
Distance100 m before hub100 m before repeater7 m between chassis
Multidevice SynchronizationFPGA-based DIOImplicit in busFPGA-based DIO
Communication JitterNo Spec<1 μs<10 μs
Bus Throughput25 MB/s12.5 MB/s250 MB/s
API SupportFPGA Host Interface/RSIRSIFPGA Host Interface
HostWindows/Real-TimeReal-Time OnlyWindows/Real-Time

 

Table 1: A Comparison of Key Expansion I/O Features

 

ChassisFPGAGatesFlip-FlopsLUTsMultiplierBlock Ram (kbit)
Ethernet
NI-9149Artix-7106,40053,2002204,480
NI-9147Artix-7106,40053,2002204,480
NI-9148 (EOL)Spartan-3 2000 2 million40,96040,96040720
NI-9146 (EOL)Spartan-6 LX 4554,57654,576582,088
EtherCAT
NI-9145Artix-7106,40053,2002204,480
NI-9144 (EOL)Spartan-3 20002 million40,96040,96040720
MXI-Express
NI-9159 (EOL)Virtex-5 LX11069,12069,120644,608
NI-9157 (EOL)Virtex-5 LX8551,84051,840483,456
NI-9155 (EOL) Virtex-5 LX8551,84051,840 483,456
NI-9154 (EOL)Virtex-5 LX50 28,80028,80048 1,728

 

Table 2: See FPGAs used in Expansion RIO products.