Microcontrollers (MCUs) no longer operate in isolation. Distributed computing resides everywhere, from the plant floor to automobile interiors. MCUs with dual Ethernet or CAN (controller-area network) interfaces are readily available—and that's only the tip of the iceberg. Networks come in
Networks come in all shapes and sizes. Many embedded systems have multiple networks. The new Advanced TCA (Telecom Computing Architecture) is noted for its switch-fabric network. It has an Ethernet network and uses a pair of inter-integrated circuit (I2C) buses to support the IPM Controller (IPMC) that's part of the shelf management support (see "Advanced TCA: A High-End Switch Fabric That Costs Less," March 17, p. 36).
Choosing a network and matching MCU is relatively easy these days, even if the communication software can get rather complex. Partitioning an application into multiple nodes or networks can benefit from making the solution more robust. Networking can also minimize cabling requirements, distribute processors to where they're needed most, and allow systems to consist of an array of low-cost MCUs instead of a couple of high-performance processors.
MCU networks cover a wide range of embedded environments. Ethernet is the most popular, especially for Internet and local-area network connectivity (Table 1). RS-232 interfaces are popular, but these tend to be used for controlling a single device. Applications like network gateways dictate the interface. But many embedded design problems let developers choose one or more suitable network interfaces.
NETWORK AND PERIPHERALS
Many popular network interfaces are popping up in MCUs (Table 2). Serial interfaces are very popular, but they tend to be used for serial interface devices rather than network support. Some are implemented for a SLIP (serial link interface protocol) or PPP (point-to-point protocol) connection to the Internet via modem.
Ethernet is finally common now that high-speed hardware can be easily incorporated into a system-on-a-chip (SoC). Ethernet's addition has been critical to linking devices to the Internet.
Lately, the Universal Serial Bus (USB) has appeared in more MCUs, primarily so that an MCU can be a USB peripheral. USB host support is often available where MCUs are used with PC-style devices like keyboards. But it works equally well for storage devices and other USB peripherals. USB is becoming more important in external embedded networks that are close to the host.
The interface that has yet to creep into MCUs is 1394. This may change with the advent of 1394b and its emphasis as a multimedia networking infrastructure.
CAN (controller area network) is one network interface whose popularity is on par with Ethernet, especially when it comes to automotive and process control environments.
MCU networks are more commonly linked using CAN, LIN, SPI, I2C, and 1Wire (see "1Wire Networking," below). Although these interfaces run slower than Ethernet, they're easier to implement. Some device masters, like the 1Wire protocol, can be implemented completely in software. Few devices can do this for Ethernet.
CAN has found a home in the auto and process control industries. It's widely supported and suits a range of embedded applications. CAN is often used in a hierarchical network with LIN.
At 20 kbits/s, LIN fits low-performance networks. Targeting the automobile industry, LIN comes in handy for sensor networks in other embedded applications. CAN and LIN have the advantage of a one-wire design. As with most one-wire designs, a common ground is assumed to be available to devices.
National Semiconductor and Motorola developed SPI. It uses a master/slave architecture with slaves daisy-chained together (Fig. 1). Slaves are very easy to implement and require only a shift register and latch in the simplest case. The downside is that each slave requires its own chip select. The architecture works well for a small network of up to a dozen slave devices, although any number can be handled.
I2C, which uses a two-wire clocked bus, supports a master/slave or multiple master architecture. It has found a home in a wide range of embedded applications, from Advanced TCA to battery monitoring. A high-performance version runs at 3.4 Mbits/s, but it works equally well in the 100-kbit/s range. Philips, for one, has been a proponent of I2C.
I2C's synchronous nature and its per-byte acknowledgement make it relatively easy to implement in hardware. It doesn't lend itself to a UART implementation without a good deal of software overhead. I2C enjoys wide vendor support comparable to Ethernet, CAN, and LIN.
The 1Wire architecture is a proprietary, one-wire, master/slave network. Masters can be developed by anyone, but slaves must be licensed. Various sources offer the 1Wire slave devices. The architecture is very useful for simple, low-power devices.
Individual network interfaces have been available on MCUs for quite some time. Lately, a greater number of MCUs are appearing with more than one interface. This allows the MCUs to act as gateways between networks.
MCUs with a pair of network interfaces run the gamut from Ubicom's low-cost IP3023 wireless network processor, which can handle six networks (see "Multi-Threading Hardware Revs Up Internet Edge Processors," April 14, p. 46), to NEC's 400-MHz, 64-bit Vr7701 processor with a pair of 10/100Base Ethernet interfaces. These MCUs can handle residential gateway and set-top-box applications with ease. A number of MCU vendors now deliver solutions in this area. Ethernet-to-Ethernet gateways remain popular in the SOHO environment. But in terms of shipment, CAN-to-CAN gateways lead Ethernet because they sit inside most automobiles.
Bridge applications constitute the other area where MCUs are getting play. In these applications, different networks are linked together. CAN-to-LIN bridges, like Mitsubishi Electric's M16C line, infuse automotive environments that may incorporate multiple bridges to isolate different parts of a car's electronics (Fig. 2).
Today, Ethernet-to-I2C and Ethernet-to-SPI are virtually indigenous within computer-systems management. Similar CAN devices are popular in the process-control environment. Examples include Microchip's line of PIC MCUs and Hitachi's H8 line with CAN 2.0b and support for either an SPI or I2C network.
There are even unique devices like the Lantronix Xport, which uses the x186-based DSTni LX MCU with built-in Ethernet that bridges serial devices. The entire system fits inside an extended RJ45 jack.
Certainly nowadays, wireless networking prevails, but integration with MCUs has yet to take place. Popular wireless solutions such as 802.11, Bluetooth, and ZigBee (802.15) all require major chunks of hardware outside of the MCU. Network protocol support is on the same order as Ethernet, making them more difficult to incorporate into small networks. ZigBee looks to be the easiest to incorporate into an MCU because of its slower operation, low power requirements, and simplified protocol.
Residential gateways, especially those that are wireless, require a bit more security than an isolated, embedded network. This is why chips like IDT's RC32365 incorporate encryption hardware. Designed to provide VPN (virtual private network) support, the MCU also includes a pair of Ethernet MACs (media access controllers) and an SPI.
Distributed embedded solutions are now easy to construct with MCUs that incorporate most, if not all, the hardware needed for one or more networks. Choosing the right network may be a more difficult task, but at least a sizable range of options is available.
|Need More Information?|
Maxim Integrated Products