Software has become the key element enabling test system designers to keep pace with rapidly changing designs. It is at the heart of today's virtual instrument systems. The availability of a powerful, yet easy-to-use graphical programming language, such as National Instruments' LabVIEW, has accelerated virtual instrumentation into the mainstream of test system design and product design.
Product designers have identified many instances where reconfigurability is needed at the hardware level: providing highly deterministic performance and true parallel execution are two examples. Most designs now employ FPGAs to get this easily reconfigurable performance. It should be no surprise that test instrument designers are also using FPGAs to bring flexibility and power to their instrument architectures. However, this power and flexibility is only available to them and not the broader community of test-system designers.
Test-system designers have experienced the same pressures as the developers of individual test instruments—driving the need for FPGA-based reconfigurable I/O (RIO) devices. RIO devices alone were not enough to drive the adoption of FPGAs in test systems. Again, it is graphical programming systems that are moving the process away from traditional FPGA development complexity, allowing designs to be produced rapidly. RIO technology brings together high-performance FPGA devices with flexible I/O. The I/O-enabled FPGA is then connected to a processor, often running an RTOS, and then packaged to suit the application. Common configurations include PCI or PXI boards for use in traditional PCI-based desktop PCs or more rugged PXI-based modular systems, with the FPGA and I/O hosted on the board, and the connection to the system processor made via the standard PCI/cPCI bus. Addressing requirements for greater ruggedness, portability and integration, the NI CompactRIO system integrates the FPGA into the CompactRIO backplane, with industrial-grade I/O provided by a range of hot-swappable I/O cartridges and a direct connection to an embedded 32-bit CPU running LabVIEW Real Time.
RIO technology is allowing test-system developers to have all the benefits of custom hardware development without drastically increasing development time. A typical test application of RIO is engine simulation for testing ECUs. RIO technology is ideal for this application. Once a single cylinder in the engine is simulated using an RIO device, the other cylinders are easily added by replicating the first. The FPGA means that all cylinder simulations operate truly in parallel. Redeveloping the system to add support for ECUs for larger engines also becomes a much shorter task.
Looking to the future, it will soon be possible to open up the FPGA in high-performance modular instruments, allowing it to be reconfigured using LabVIEW. The FPGA is used in many timing, synchronisation, and triggering functions. Allowing for reconfiguration right on the modular instrument means the test-system developer has much greater control over these features, and will lead to much more tightly integrated custom synchronisation solutions. In fact, virtual instrumentation including RIO technology is expanding into a broader range of applications across not only test, but control and design as well.
In control, RIO technology, when allied with a real-time OS and industrial-grade hardware, brings tight timing and true parallel, deterministic control to a much broader range of users. Graphical programming and RIO technology are allowing control engineers to build sophisticated motion-control solutions without having to resort custom hardware designs.
In system design, RIO technology enables the rapid prototyping of sophisticated designs at lower cost. With many modern electronic-system designs being based on a 32bit CPU, connected to an FPGA, RIO technology is now part of the ideal rapid prototyping platform, allowing system designers to try out design approach and algorithms in the real-world before committing to custom hardware development. Off-the-shelf RIO technology even enables the rapid deployment of embedded systems for low to medium volume applications like custom machine control.
The real world is inherently parallel, just like FPGAs, and just like graphical programming languages. Whether you are testing real-world products, controlling real-world processes, or designing real-world systems, graphical programming and RIO technology is the best approach to building systems faster.