CAN Bus Continues Its Grand Popularity – Now in IoT and Automation

CAN Bus Continues Its Grand Popularity – Now in IoT and Automation

The Controller Area Network (CAN) bus originated with Robert Bosch GmbH and the protocol specification was officially released in 1986 at the Society of Automotive Engineers (SAE) conference. The first CAN controller chips, produced by Intel and Philips, came on the market in 1987. In 1991 Mercedes-Benz released the first production vehicle with a CAN-based multiplex wiring system. It is the standard automotive network, allowing cars to greatly reduce wiring harness size and weight.

Replacements for CAN connections have been proposed, but CAN is alive and growing. In fact, its usage is expanding well beyond the automotive space and into areas as diverse as factory automation and the internet of things (IoT). CAN transceivers are among the many analog building blocks that can strengthen your design. You might even call them a hero of analog.

CAN Bus Types

A CAN 2.0A device protocol uses 11-bit identifiers, and one that uses 29-bit identifiers is commonly called CAN 2.0B. Robert Bosh is still leading specifications. According to Wikipedia, the International Organization for Standardization released the CAN standard ISO 11898 in 1993, and it was later restructured into two parts. ISO 11898-1 covers the data link layer, while ISO 11898-2 covers the physical layer for high-speed CAN. ISO 11898-3 was released later and covers the physical layer for low-speed, fault-tolerant CAN.

The SAE J1939 standard is a widely used CAN protocol standard for trucks and buses. CAN bus is one of five protocols used in the on-board diagnostics (OBD)-II vehicle diagnostics standard, which has been mandatory for all cars and light trucks sold in the U.S. since 1996 and in Europe since 2001.

Alternatives to CAN

Alternatives to CAN include Local Interconnected Network (LIN) bus and Flexray. LIN bus is even less expensive than CAN. LIN is not a full replacement of the CAN bus, but is a good alternative wherever low costs are essential and speed/bandwidth is not important. In automotive applications, it is typically used within sub-systems that are not critical to vehicle performance or safety. Flexray has been in development since 2000, was used in a 2006 production BMW, and is now used in most German cars and SUVs. It enables faster 10Mbps data rates with deterministic time responses and is designed to be redundant. But, it is costly and much more complex than CAN and has only a 24m reach. There is also the MOST network that is used for infotainment systems. The very quick Ethernet connection is being proposed for infotainment and display applications in the car—and maybe more.

Extending CAN to the Industrial World

Luxury cars have as many as 150 automotive ECUs to control and regulate various functions, and every single new car now has at least 70 ECUs. These ECUs have to talk amongst themselves while controlling almost all aspects of the power train, the body, and the chassis. CAN connects each function to/from the various ECUs—from door locks to brakes, the accelerator pedal, and tail lights. Its popularity stems from very high reliability and simplicity—with low cost and low power.

CAN bus uses a simple 25Kbps to 1Mbps twisted-pair connection. Chips are now available to implement 2Mbps data. The bus will reach to 1000m at 50Kbps or 40m at 1Mbps. CAN’s vehicle popularity results from the elegant ways that developers have found to guarantee predictable error-free communications in the safety-conscious automotive environment. And such characteristics can be put to very good use on the factory floor as well.

CAN is carried differentially on a single pair of wires. This differential nature means that CAN is able to reject common mode noise. The structure also reduces emissions since the electric fields of differential communications tend to cancel each other.

An industrial system using motors requiring large currents to start, stop, and operate is a good example of where CAN shines. The electromagnetic emissions from motors can cause large amount of errors in RS-485 or similar communications, while CAN is able to soldier through. On top of the physical reliability, CAN includes other features to ensure robustness, including cyclic redundancy checks (CRCs) and acknowledgements that enable error detection.

Operating as a bus topology requires devices to understand when they can transmit. CAN uses Carrier Sense Multiple Access with Collision Detection (CSMA/CD), which is also used in Ethernet. When a device wants to transmit its message, it has to sense whether the bus is free and not being used. Collision detection allows it to detect when another device on the bus tries to transmit at the exact same time. CAN uses priority mechanisms for bus management.

As CAN bus became very popular, different implementations were made by competing vendors. Each implementation had different networking layers, even though the physical layers were common. CANopen was devised to enable compatibility so that designers could pick CAN-enabled devices and know that they would interplay. It is most popular in embedded systems used for automation applications. In terms of the OSI model, CANopen implements the layers above and including the network layer.

Figure 1. The OSI layer scheme for CAN bus.

Comparing CAN to RS-485

Compared with communication protocols like RS-485, CAN not only provides the physical media for the communication, it also provides all other mechanisms necessary for addressing data packets (messages), avoiding data collisions, detecting failures in the transmitted data, automatic repetition of disturbed messages, and ensuring data consistency over all nodes in a network. Furthermore, CAN specifies the structure of the data frame, with message identifier, data, and control bytes. An RS-485 connection only addresses layer 1 (the physical layer) and CAN also adds layer 2 (the data link layer) in the OSI model. Consequently, CAN is a real-time-compatible solution. Depending on the priority of a message by virtue of its ID, the maximum latency time can be predicted for each CAN message, independently of the busload or performance of the other nodes. Using RS-485 collision avoidance must be guaranteed with the application software.

CAN has advanced error management. If a message is not correctly received by a node (CRC or format error), the message is destroyed by the recipient via an error frame and is marked as invalid for all nodes. This action initiates an automatic repeat in the CAN controller.

CAN Implementation

These measures taken collectively (brief messages, differential transmission, error detection and troubleshooting, withdrawal of defective nodes) make CAN a very robust, secure, reliable network. This is why CAN is employed in many critical or safety-related applications in vehicles, ships, elevators, medical devices, aircraft, and industrial plants.

Due to the full implementation of the CAN protocol in hardware, the load on the microcontroller system is reduced (only one interrupt per message). Various layer 7 protocols such as CANopen, DeviceNet, and J1939 are available from many vendors and for almost all available MCUs, reducing risk and yielding faster time to market.

Rugged and Low-Current Transceiver ICs

Automotive applications will clearly require ICs that meet automotive-grade standards. For applications outside of this area, such as the industrial automation and IoT examples mentioned earlier, here are a couple of good CAN transceiver ICs that meet these application needs. The MAX3051 is a 3.3V, 1Mbps, low-supply-current CAN transceiver IC primarily intended for applications that do not require the stringent fault protection as specified by the automotive industry. It has four modes of operation: high-speed, slope-control, standby, and shutdown. With slope-control mode, the slew rate of the transmitter can be adjusted at up to 500Kbps data rates. This reduces EMI and reflections caused by improperly terminated cables and may allow the use of unshielded twisted cable.

Figure 2. A basic MAX3051 transceiver circuit.

The MAX3051 input common-mode range is from -7V to +12V, exceeding the ISO 11898 specification. It comes in 8-pin SO and SOT23 packages, and operates over the -40°C to +85°C range. The chip offers ±12kV HBM ESD protection, thermal shutdown, and current limiting.

Another CAN transceiver IC worth noting is the MAX13054A. This 2Mbps CAN transceiver features high protection levels and a 8-pin SO package. It has ±65V overvoltage fault protection and incorporates high ±25kV ESD HBM protection, along with an input common mode range of ±25V, short-circuit protection, and thermal shutdown. A pretty damn rugged device.

The chip offers a very broad 1.62 to 5.5V logic-supply range to ease interface difficulties. In standby mode the transmitter is switched off and the receiver is switched to a low-current/low-speed state. The bus line is monitored to detect a wake-up event. Standby mode takes only 11µA of supply current. The transceiver includes a dominant timeout to prevent bus lockup caused by controller error or by a fault on the TXD input. Maximum speed on large networks may be limited by the number of nodes, type of cabling, or stub length. The chip’s temperature range is -40° to 125°C and it comes in an 8-pin SOIC package (MAX13054AEASA+).

Figure 3. A multidrop CAN bus using the MAX13054A transceiver.

The MAX13054 (no A suffix) is a bit different. This version is fully compatible with the ISO11898 standard with ±8kV ESD per IEC 61000-4-2 and ±80V fault protection. Other specifications, including package, are similar to the MAX13054A. It is available in automotive or extended temperature ranges.

The Robust CAN Interface

Still popular with design engineers for very good reasons. Still growing in popularity. CAN bus will be a significant force for the foreseeable future and a great solution to many communication needs in a variety of application areas.