Controller Area Network
CAN Bus
CAN bus (Controller Area Network) is the differential, multi-master serial bus used by virtually every modern vehicle to let ECUs share short messages without a central host.
Controller Area Network (CAN) is a multi-master serial bus standard developed by Bosch in the 1980s and now standardized as ISO 11898. It uses a pair of differential wires (CAN-H and CAN-L) so that controllers can share short messages with strong noise immunity, no central host, and built-in arbitration when two ECUs try to transmit at the same time.
A CAN frame carries an identifier (11-bit in CAN 2.0A or 29-bit in CAN 2.0B), up to eight bytes of payload, and a CRC. The lower the identifier, the higher the priority — when two ECUs start transmitting simultaneously, the one with the lower identifier wins and the loser backs off, all without losing the message it was trying to send.
CAN is the physical and link layer underneath J1939 (heavy-duty), OBD-II (light-duty), and most modern in-vehicle networks. CAN FD (Flexible Data-Rate) extends CAN with up to 64 bytes of payload and bit rates of several megabits per second; it is becoming common on newer vehicles but is not yet universal in the Class 8 truck market.
For diagnostic purposes, the relevant property of CAN is that any ECU on the bus can see every message — that is what allows a diagnostic tool to monitor the full picture from a single physical connection at the dash.
Related terms
J1939
SAE J1939
SAE J1939 is the standard CAN-based communication protocol used by heavy-duty trucks, buses, and off-highway equipment to share engine, transmission, brake, and emissions data on a single wiring bus.
UDS
ISO 14229 — Unified Diagnostic Services
UDS (Unified Diagnostic Services) is the ISO 14229 protocol that defines the request and response language used by modern diagnostic and reprogramming tools to talk to ECUs over CAN.
J1708
SAE J1708 / J1587
J1708 is the legacy serial bus used on heavy-duty trucks built before roughly 2007, with J1587 as the application-layer protocol carrying engine, transmission, and brake messages.
Looking for more?
Browse the full glossary, jump to the FAQ, or check what ecuLink supports today.