Getting Off The Bus To Expand I/O
Article by Earle Foster
(As appeared in PC/104 and Small Form Factors Resource Guide 2007)
I/O choices for small form factor SBCs are diminishing and in some cases becoming problematic. This is especially true for solutions locked into a legacy ISA bus. A new approach using several interfaces serial, Ethernet, and USB for I/O expansion is starting to improve designers options.
For many years, system designers have depended on SBCs as the processing engine for a variety of embedded instrumentation and test applications. Recently, the industry has come to a crossroads over how to best implement I/O for a wide variety of small form factor SBCs.
PC/104 has long been a common solution for adding I/O to SBCs with hundreds of off-the-shelf expansion boards readily available. However, chipsets intended for the latest CPUs lack support for the original PC/104 ISA bus interface. Some SBC manufacturers are dealing with this by implementing a PCI-to-ISA bridge circuit to add this support. Some have moved to PC/104-Plus, with both ISA and PCI bus connections brought out to connectors on the board. Others have moved to PCI-104, abandoning the ISA bus and all the legacy I/O boards designed for PC/104 by including only the PCI signals on the I/O expansion connector. A few manufacturers have chosen to implement proprietary expansion buses intended to interface custom-designed I/O boards. In the latest development, several manufacturers are adding PCI Express to interface graphics, data communication, and other boards that require more bandwidth.
With the choices continuing to evolve, system designers may have difficulty deciding which SBC and expansion architecture to choose. New SBCs implementing the PC/104 ISA bus standard are increasingly difficult to find. While PCI-104 and PCI Express offer fast data rates, relatively few compatible I/O boards are available today. Besides the PC/104 variants, SBCs based on EBX, EPIC, Mini-ITX, and other small form factors provide PC-compatible platforms that enable rapid application development but present even more diverse I/O bus options.
Fortunately, selecting the best SBC for the job does not depend on hardware bus expansion options. Many designers are choosing I/O solutions using features common to most small form factor SBCs such as serial ports, Ethernet, and USB. Many manufacturers offer a wide variety of these products supporting the I/O necessary for embedded test and instrumentation requirements. Using this approach, engineers can choose the best SBC for their application without subjecting their system design to a particular expansion standard’s limitations.
Serial Expansion: RS-232/485 and Modbus
RS-232 and RS-485 serial ports are typically included on most industrial SBCs. Although I/O modules that communicate using the original RS-232 interface are available, RS-485 products are much more prevalent. RS-485 permits connection of up to 32 devices on a single twisted-pair wire and uses differential signaling that is less susceptible to noise commonly found in industrial environments. SBCs that only provide RS-232 ports can be easily upgraded to RS-485 using small, low-cost RS-232 to RS-485 serial adapters.
Many RS-485 I/O devices implement the Modbus RTU serial communications protocol. Products that conform to Modbus, an open standard in use since 1979, guarantee interoperability among devices from multiple manufacturers on the same RS-485 network. Modbus communications require that the host poll the I/O device to receive data, so it is generally not suitable for real-time data acquisition and control applications.
As an example of an RS-485 I/O device, Advantech’s ADAM family offers a wide range of Modbus RTU-compatible products including digital, analog, and counter/timer functionality. The small size and relatively low per-module I/O count make these modules attractive for mounting in space-constrained environments. Some models, such as the ADAM-4018+ thermocouple input (Figure 1), include built-in intelligence that returns measurements in engineering units for easy use in the host application program.
Figure 1
Most third-party data acquisition software such as National Instruments LabVIEW and AzeoTech’s DAQFactory supports Modbus RTU devices. These packages provide a popular way to quickly create applications that acquire, analyze, and display I/O data. For a list of vendors and Modbus-compliant I/O devices, visit www.modbus.org.
Ethernet: Growing in Embedded Popularity
Interfacing I/O using Ethernet is a booming trend in test and measurement applications. Most SBCs provide at least one or more Ethernet ports, so interfacing these to I/O devices is a natural choice. Due to network implementation overhead, Ethernet I/O devices are more expensive than RS-485 products. However, the benefits of connecting the I/O to a network are often worth the cost. For example, Measurement Computing Corporation manufactures an Ethernet-based DIO system, the E-PDISO16, which offers 16 isolated AC or DC inputs and 16 electromechanical relays. The inputs monitor 24V AC or DC inputs, while the output relays provide 6 A (Form C, SPDT) outputs at 240 Vac or 28 Vdc. The company includes their InstaCal and TracerDAQ software with the unit.
Some Ethernet I/O products also take advantage of the Modbus protocol to simplify software development and provide interoperability with other Ethernet I/O devices. Modbus TCP transports the Modbus data packets using TCP/IP. Like with Modbus RTU, third-party test and measurement software supports Modbus TCP. Acromag markets a family of Modbus TCP-compatible analog I/O devices, including the BusWorks 900EN Series with modules offering analog input and output interfaces to voltage and current signals. The modules are compact and mount on a DIN rail for easy installation in a custom test system or instrumentation cabinet.
USB: I/O for Embedded, Too
Once associated only with desktop peripherals, USB is now commonly used for connecting I/O in industrial and OEM applications. USB is easy to implement and, with the introduction of USB 2.0, can be very fast, offering a raw data rate of 480 Mbps. SBCs often include a convenient internal header connector with two or more USB ports in addition to the USB ports available from standard USB Type A connectors.
The interface’s point-to-point nature limits USB implementation for I/O-intensive applications. Typically, one USB port must be dedicated for each USB peripheral. Even when using USB hubs, cabling can be an issue.
To address this USB port and cabling limitation, Sealevel Systems has created a method of interfacing multiple modules from a single USB port with the SeaI/O-OEM USB data acquisition products. Each SeaI/O-OEM USB module connects to the host with a high-retention USB Type B connector to eliminate accidental disconnection, and includes an RS-485 Modbus RTU downstream connection to other slave modules. Up to 246 Modbus RTU slave I/O modules can be daisy-chained together to achieve the required I/O count. Each module is assigned a unique Modbus address that can be set by hardware switch or via software. The host computer uses the standard Modbus protocol or SeaMAX software libraries to communicate with these modules. Figure 2 shows the SeaI/O-OEM Board with a Modbus RTU expansion board.
Figure 2
The Relio family of solid-state industrial computers has both SeaI/O-OEM and Sealevel’s iPorthole footprints for I/O expansion. An Ampro ReadyBoard EPIC SBC controls 96 digital and analog I/O points via two internal USB ports available from a header connector on the ReadyBoard, as shown in Figure 3. Developers can use software drivers to easily access the I/O from their application program. Test and utility programs are included to assist with installation and troubleshooting.
Figure 3
Getting off the bus gives better results
Developments in chipset and processor technology have made new SBCs with support for the PC/104 ISA bus increasingly difficult to find. Other standards such as PCI-104 and PCI Express have emerged, but without consensus in the industry or widespread movement to redesign I/O boards compatible with one new bus expansion standard, the best choice for adding the I/O a real-world signal interface needs can be unclear.
System designers can eliminate the need to choose the correct hardware bus by expanding via the serial, Ethernet, and USB ports provided on SBCs. Many off-the-shelf products offer the I/O required for test and instrumentation applications. The need for hardware bus expansion especially in applications that require real-time data acquisition/control or massive data transfers still exists. However, for more common test and instrumentation applications, serial, Ethernet, and USB I/O products offer an efficient, cost-effective, and easy-to-implement alternative.