With a laundry list of design constraints, including a combination of real-time requirements, reliability/durability requests, and functionality and performance needs, it’s not surprising that engineers may find successfully building a competitive embedded solution difficult. To simplify the process, National Instruments developed a rugged, new high-performance embedded system, called CompactRIO, that combines the processing power and flexibility of a field-programmable gate array (FPGA) with the reliability of a real-time processor.
CompactRIO is based on new reconfigurable I/O (RIO) technology, the core functionality of which is provided by a user-programmable FPGA that can be accessed and configured using NI LabVIEW graphical development software. Typically, programming an FPGA requires detailed knowledge of the specific hardware setup as well as the use of a low-level description language such as VHDL, which has a steep learning curve. RIO technology reduces the complexities of embedded hardware and low-level languages to provide simple access to FPGAs. For example, you can use RIO in LabVIEW to set up functionality such as hardware I/O PID, filtering, signal processing, or data transfer through direct memory access (DMA) with only a few function blocks. Similar functionality would take pages of VHDL code to implement. The result is a customizable off-the-shelf embedded system that reduces system development time for embedded design engineers.
Embedded System Design Takes on a New Look
The CompactRIO architecture is composed of three main parts: the embedded real-time controller, the reconfigurable embedded chassis containing the FPGA, and hot-swappable I/O modules. The integration of these three parts allows for the rapid creation of embedded applications, as well as system prototypes for control and measurement applications, by removing the need to implement the low-level hardware details required in embedded systems. With the direct connection between the I/O modules and the FPGA, you can tightly integrate timing and triggering between I/O modules through the FPGA and gain a high level of system flexibility. The CompactRIO real-time embedded controller features an industrial 400 MHz Freescale MPC5200 processor that reliably and deterministically executes LabVIEW Real-Time applications. Users can choose from thousands of built-in LabVIEW functions to build a multithreaded embedded system for real-time control, analysis, data logging, and communication. Simply develop the real-time application code on a host computer using graphical programming and then download the application to run on the CompactRIO real-time controller that contains an off-the-shelf real-time operating system. To save time, existing C/C++ code can also be integrated within LabVIEW Real-Time applications.
The CompactRIO real-time controller features a 10/100 Mb/s Ethernet port for programmatic communication over the network (including e-mail) and built-in Web (HTTP) and file (FTP) servers and dual 9 to 35 VDC supply inputs. The reconfigurable chassis containing the RIO FPGA core is the heart of a CompactRIO embedded system. The RIO FPGA chip is connected to the I/O modules in a star topology, providing direct access to each module for precise control and flexibility in timing, triggering, and synchronization. A local PCI bus connection provides a high-performance interface between the RIO FPGA and the real-time processor. Each NI C Series I/O module contains built-in signal conditioning and screw-terminal, spring-terminal, BNC, or D-Sub connectors. By integrating the connector junction box into the modules, the CompactRIO system significantly reduces the space requirements and cost of field wiring. A variety of I/O types are available including thermocouple inputs; accelerometer inputs; strain and load cell inputs; up to ±60 V and ±20 mA analog inputs; up to ±10 V and ±20 mA analog outputs; 12/24/48 V industrial digital I/O with up to 1A current drive; and 5 V/TTL digital I/O for encoders, counter/timers, and pulse generation.
The CompactRIO system’s robust design and form factor provides a safe enclosure for the internal components, removing the need to invest resources in developing a custom mechanical enclosure. The product’s design is rated for a -40 to 70 °C (-40 to 158 °F) temperature range, 50 g shock, and hazardous locations or potentially explosive environments (Class I, Division 2). Most I/O modules feature up to 2,300 Vrms isolation (withstand) and 250 Vrms isolation (continuous), and each component comes with a variety of international safety, electromagnetic compatibility (EMC), and environmental certifications and ratings. CompactRIO is also designed for extreme applications in harsh environments, such as power plants and other challenging industrial environments, as well as situations where space is at a premium, such as the control of unmanned underwater vehicles. By taking advantage of the deterministic and reconfigurable nature of FPGA devices, CompactRIO is able to deliver reliable and reconfigurable control and acquisition capabilities in a compact, rugged package. A four-slot reconfigurable embedded system measures 179.6 by 88.1 by 88.1 mm (7.07 by 3.47 by 3.47 in.) and weighs just 1.58 kg (3.47 lb). An eight-slot system filled with 32-channel I/O modules delivers a mass channel density of 9.7 g/ch (0.34 oz/ch) and a volumetric channel density of 8.2 cm3/ch (0.50 in3/ch). The typical power consumption of an entire CompactRIO embedded system is on the order of 7 to 10 W.
Because CompactRIO is an open platform, NI offers a module development kit for engineers that includes tools for building custom CompactRIO modules. The kit contains module development software, complete technical documentation, and the license right to develop and manufacture custom CompactRIO modules. Examples of custom modules for the CompactRIO platform include modules for 802.11 wireless, GPS, GSM, MIL-1553, and ARINC 429 protocols as well as vehicle engine prototyping. Using the power of the FPGA core in CompactRIO, you can design 1 MHz digital control loops without performance reductions when you increase the number of logic computations and run 100 kHz analog PID control loops using 32-bit, integer-based calculations in the FPGA.
Machine builders are using the speed and customization of CompactRIO to integrate ultra-high-speed motion control for multi-axis servo and stepper motors. With CompactRIO and NI SoftMotion, you can implement custom motion control algorithms in the FPGA and obtain control loop rates as low as 5 μs. The NI SoftMotion Development Module for LabVIEW includes functions for trajectory generation, spline interpolation, position and velocity PID control, and encoder implementation on LabVIEW Real-Time and/or LabVIEW FPGA. Upgrading embedded systems to meet new application demands has always been a challenging process involving the addition and integration of new hardware, as well as the creation of software to implement the required functionality. With CompactRIO’s embedded FPGA, when you need to modify the functionality of a system, you simply plug in a new module, change the LabVIEW code, and download a new silicon bit-stream configuration to the FPGA hardware.
CompactRIO is already being used to improve the performance and quality of steel rolling mills; to monitor wind turbines and power generators; to prototype embedded control systems; and to log data for a variety of vehicles including planes, trains, and automobiles. CompactRIO applications continue to evolve into areas such as heavy machinery control, semiconductor control, rapid control prototyping, machine condition monitoring, and mobile/portable dynamic signal analysis. Other potential applications include:
- In-vehicle data acquisition, data logging, and control
- Machine condition monitoring and protection
- Embedded system prototyping
- Remote and distributed monitoring
- Embedded data logging
- Custom multi-axis motion control
- Electrical power monitoring and power electronics control
- Servohydraulic and heavy machinery control
- Batch and discrete control
- Mobile/portable noise, vibration, and harshness (NVH) analysis.