Overview of CAN Protocol Fundamentals
A Controller Area Network (CAN) is a robust serial communication protocol originally developed by Bosch for in-vehicle networking. It is a multi-master, message-based network that allows microcontrollers and devices (nodes) to communicate over a shared bus without a central host computer. All CAN nodes are connected to the same two-wire bus and each message transmitted is seen by every node, making CAN a broadcast system. Each message carries an identifier that denotes its priority and content rather than a specific destination address. This design enables any node to read a message and decide if it’s relevant, which adds flexibility for adding or removing nodes with minimal system impact.
One of the core strengths of CAN is its method for bus access arbitration. When multiple nodes attempt to send data simultaneously, CAN uses a non-destructive bitwise arbitration based on message identifiers. In practice, the node with the highest-priority message (which corresponds to the lowest numerical identifier) wins arbitration and continues transmission, while losing nodes automatically back off and retry later. This process occurs without destroying the winning message, ensuring that the highest-priority frame gets through with no collision on the bus. The arbitration is accomplished by using two logical bus levels – dominant (logical ‘0’) and recessive (logical ‘1’). Dominant bits override recessive bits on the bus; thus if one node transmits a dominant and another transmits recessive at the same time, the resulting bus state is dominant. Nodes detect this condition bit-by-bit: any node transmitting a recessive but seeing a dominant will cease transmission, allowing the highest-priority (dominant) message to prevail. This priority-based arbitration mechanism guarantees real-time determinism and efficient bus utilization.
Reliability and error handling are fundamental to CAN. Each CAN frame includes a 15-bit cyclic redundancy check (CRC) for error detection, and receivers will ignore any frame that fails the CRC check. CAN also defines an elaborate error management scheme: nodes send an error frame if a discrepancy is detected, and the network uses an automatic retransmission of faulty frames to maintain data integrity. Nodes keep internal error counters to gauge their transmit/receive error rates; a node that experiences excessive errors will enter an “error passive” state or even shut itself off (bus off) to preserve the communication of the remaining network. These features, combined with the inherent noise immunity of differential signaling (described below), make CAN very robust in noisy environments and well-suited for safety-critical applications. Standard (Classical) CAN supports data payloads of up to 8 bytes per frame, which is sufficient for many automotive and industrial uses, and operates at speeds up to 1 Mbit/s on a high-speed CAN bus. This classical CAN protocol has been widely adopted not only in automotive systems but also in industrial automation, robotics, and other domains that benefit from its real-time capability and fault tolerance.
Standard CAN Bus Topology and Physical Layer
Physical Medium: A CAN bus network is typically implemented as a linear bus topology using a twisted-pair cable with a characteristic impedance of about 120 Ω. All nodes are connected to this main bus line through short drop lines (stubs). The bus consists of two logical lines, CAN High (CANH) and CAN Low (CANL), which carry differential signals. In the recessive state (idle bus, or logical ‘1’), both CANH and CANL sit at a common mode voltage around 2.5 V with little to no differential voltage between them. In the dominant state (logical ‘0’), the CAN driver pushes CANH approximately 1 V higher (to ~3.5 V) and pulls CANL about 1 V lower (to ~1.5 V), creating a differential voltage of roughly 2 V between the lines. All transceivers on the network detect this differential; a difference above a threshold (typically ≥0.9 V) is read as a dominant bit, while a smaller or zero difference is read as recessive. This inverted logic (dominant = 0, recessive = 1) is what enables CAN’s wired-AND arbitration – any node driving a 0 forces the whole bus to that state. The use of differential signaling grants CAN a high immunity to noise and interference: external electromagnetic noise tends to affect both wires similarly (common-mode), which the differential receivers reject, and the twisted-pair wiring further helps cancel out noise by symmetry. This allows CAN networks to operate reliably in electrically harsh environments and contributes to controlled electromagnetic emissions.
Bus Topology and Termination: The standard CAN bus topology is a single linear bus terminated at both ends with resistors equal to the cable impedance (typically 120 Ω). The termination resistors serve two critical purposes: they prevent signal reflections on the transmission line by matching the line impedance, and they provide a return path to bias the bus to a stable recessive state when no driver is active. Only the two extreme ends of the bus should be terminated; intermediate nodes do not have terminating resistors. In practice, this means if a node happens to be physically located at one end of the cable run, it should have (or be connected to) a 120 Ω terminator, and the node at the opposite end of the cable should have the second terminator. No more than two terminators are used. Placing a termination resistor inside a mid-span node is discouraged (and if that node were unplugged, the bus would lose proper termination on that end). The parallel combination of the two 120 Ω terminators yields about 60 Ω between CANH and CANL when the bus is measured at rest, which is a useful diagnostic – a reading significantly different from 60 Ω indicates too many or too few terminators on the network.

All CAN nodes interface to the bus through a transceiver, which isolates the controller from the bus levels and drives the differential pair. In a high-speed CAN (ISO 11898-2) network, up to 30 nodes can theoretically be attached on a bus segment of 40 m at 1 Mbit/s. There is no strict architectural limit on node count from the protocol’s perspective, but electrical constraints (bus loading and line length) ultimately govern the maximum. Each node’s stub—the short cable from the node’s CAN transceiver pins to the main trunk line—should be kept as short as possible (see design guidelines below) to minimize signal reflections and ringing. It’s important to note that a CAN bus is not a ring or star network: it is a single line (with minor branching only in the form of short stubs) that runs from one termination to the other. Complex topologies like stars or rings are generally avoided because they create impedance mismatches and multiple reflection points that can severely distort the signals. Instead, nodes are daisy-chained along the bus, and the entire network behaves as one continuous transmission line. The physical layer may use shielded or unshielded twisted-pair cable; using a shield (grounded at least at one point) and a defined common reference ground (CAN_GND) is recommended in electrically noisy environments or when the bus extends over long distances. High-speed CAN transceivers also often include common-mode choke filters and other features to suppress electromagnetic interference. Overall, adhering to the intended linear topology and proper termination is essential for maintaining signal integrity across all nodes in the CAN network.

Design Rules and Best Practices for CAN Network Layout
Implementing a CAN network requires careful attention to physical layout rules to ensure robust communication. Key design guidelines include:
-
Termination: Always terminate the bus with 120 Ω resistors at each end of the main line. These two terminators should be the only line-end terminations in the network. Having both ends properly terminated guarantees the bus sees about a 120 Ω load on each end, matching the cable’s characteristic impedance and thus preventing signal reflections that could interfere with communication. Ensure that exactly two terminators are present – no more, no less. (If you measure ~60 Ω between CANH and CANL with power off, it indicates two 120 Ω resistors in parallel, which is correct.) Additional or “stray” terminators will lower the impedance and excessively load the drivers, while missing terminators or incorrect values will cause waveform distortions and potential data errors. Some CAN interface modules provide built-in terminators that can be enabled via jumpers or DIP switches; use these with care such that only the true end-of-line nodes have them activated.
-
Stub Length: Minimize stub lengths – the short drop cables from the main trunk to each node’s transceiver – as much as possible. Long stubs act like unterminated transmission line branches, causing reflections each time a fast signal edge hits the junction. The ISO 11898-2 standard recommends a maximum stub length of 0.3 m (about 1 ft) for a 1 Mbit/s network. As a rule of thumb, try to keep stubs under 30 cm for high-speed CAN; in many cases, much shorter (just a few centimeters on a PCB trace or wiring harness) is ideal. If multiple devices must connect at a single location, consider “daisy-chaining” the connections rather than branching off with long wires. In general, avoid stubs entirely or keep them extremely short. This ensures that the network behaves like a single consistent transmission line and that each node sees nearly the same signal waveform with minimal distortion.


-
Bus Length and Data Rate: The allowable length of a CAN bus is inversely related to the bit rate due to signal propagation delays. A faster bit rate has a shorter bit time and thus tolerates less delay from one end of the network to the other. For classical CAN, typical maximum bus lengths are on the order of 40 m at 1 Mbit/s, 100 m at 500 kbit/s, and up to 500 m at 125 kbit/s (using high-quality cable). These values can be exceeded in some cases by lowering the bit rate further (e.g., CAN networks can reach several kilometers at 50 kbit/s or less), but for reliable operation one should adhere to published guidelines or calculate the propagation delay budget carefully. When designing the network, estimate the total cable length from one terminator to the other and choose a bit rate that the length can support with adequate margin. If a long physical length is required, you may need to reduce the bit rate to stay within timing constraints. Conversely, if a high bit rate is needed for bandwidth, ensure the bus wiring is short and straight enough to meet the propagation delay requirements.

-
Cable and Impedance Control: Use twisted-pair cable specified for CAN (120 Ω impedance) to connect nodes. The twisting of the pair helps maintain the characteristic impedance and reduces electromagnetic interference. Avoid sharp kinks, untwisted sections, or spurs in the cabling that could introduce impedance discontinuities. The consistent 120 Ω impedance along the bus is what makes the two 120 Ω terminators effective; any significant impedance mismatch (for example, a branch or an improperly terminated stub) can cause part of the signal to reflect back into the line. If the CAN network extends through connectors or backplanes, ensure that the trace routing and connector pin assignments preserve the differential pair routing and impedance as much as possible. Where necessary, use proper termination in sub-networks or backbone lines to maintain signal integrity. It is also advisable to include a common reference ground (CAN_GND) in the wiring to ensure all transceivers share a similar ground potential – this helps the transceivers maintain the common-mode range for the differential signals. In electrically noisy environments or for very long runs, using a shielded twisted pair and grounding the shield can provide additional noise suppression.
-
Node Placement and Spacing: There is no strict requirement for equal spacing of nodes, but consider the physical layout so that no large clusters of stubs exist. The worst-case propagation delay occurs when two nodes at opposite ends of the bus communicate, so the bus length is essentially the distance between terminators. Intermediate nodes only add very small propagation delays (a few nanoseconds through each transceiver). Nevertheless, avoid putting a large number of nodes at one extreme end with a very long cable to a single node at the far end, as this effectively creates one very long stub. It’s better to distribute nodes along the bus length. Also, be mindful of the electrical loading: ISO 11898-2 high-speed CAN transceivers have an input impedance such that up to about 30 nodes can be accommodated on the bus (this is implied by the 40 m/30 node guideline for 1 Mbps). If more nodes are required, bus extenders or lower-speed CAN (which allows more nodes by using active drivers or partial networking) might be needed.
By following these best practices – proper termination, short stubs, appropriate cabling, and an awareness of length vs. speed trade-offs – a CAN network can be expected to communicate error-free and with minimal signal integrity issues. In addition, advanced techniques such as split termination (where each end uses two 60 Ω resistors split by a capacitor to ground at their center tap) can be employed to improve electromagnetic compatibility by shunting high-frequency common-mode noise to ground without affecting DC bias. This split termination is an optional refinement but illustrates the level of detail often applied in automotive CAN bus designs to ensure robust operation. Overall, the simpler and more uniform the bus layout, the more reliable the CAN network will be.
CAN FD: Impact and Considerations for Flexible Data-Rate CAN
Controller Area Network with Flexible Data-Rate (CAN FD) is an extension of the CAN protocol that allows significantly higher data throughput. Introduced in 2012 and standardized in ISO 11898-1:2015, CAN FD retains the same physical layer and frame format as Classical CAN in many respects, but with a few critical differences. First, CAN FD frames can carry up to 64 bytes of data in the payload, compared to the 8-byte limit of Classical CAN. Second, CAN FD permits a second, higher bit rate during the data field of the frame. A special bit called the BRS (Bit Rate Switch) in the CAN FD frame’s control field signals whether the transmitter will switch to the faster rate for the data and CRC portion of the frame. Arbitration and acknowledgment are always done at the nominal bit rate (the same rate used by Classical CAN, typically 500 kbps or 1 Mbps) to maintain compatibility and allow co-existence of CAN FD and Classical CAN nodes on the same bus (any CAN FD frame appears as an error to a Classical CAN node, but CAN FD nodes will arbitrate at the normal rate before speeding up). Third, to support the larger payload and higher speeds, the CAN FD specification includes a longer CRC and some adjusted protocol rules (e.g. a different stuffing mechanism), though those changes are largely transparent to system designers at the network layout level.
From a network design perspective, the most significant impact of CAN FD comes from the higher bit rates used in the data phase. The physical wiring and topology for CAN FD remain a two-wire differential bus with 120 Ω terminations – in fact, one selling point of CAN FD is that it can operate on existing CAN bus wiring, provided the transceivers and controllers are upgraded. However, achieving reliable communication at say 2 Mbps or 5 Mbps data rates (vs. 500 kbps or 1 Mbps in classic CAN) demands stricter attention to layout and timing. The propagation delay and ringing that could be tolerated at a 1 μs bit time (1 MHz) might cause errors when the bit time is only 200 ns (5 MHz). Therefore, CAN FD accentuates the need for short, well-controlled network interconnects. In practice, engineers often find that a traditional multi-drop CAN network which ran at 500 kbps can be upgraded to CAN FD with a 2 Mbps data phase without physical changes, because during the faster data phase only one node is driving the bus (there are no arbitration conflicts). As long as the bus was good enough for the nominal rate arbitration (which is the more demanding case with multiple drivers and potential phase shifts), it can typically handle a doubling of bit rate in the data section. Many automotive CAN FD implementations use 500 kbps nominal and 2 Mbps data rate for exactly this reason – it provides a fourfold increase in data bandwidth with minimal changes to the wiring. If the network is very short and well-behaved, even higher data rates like 5 Mbps can be used, but pushing to these extremes requires a careful analysis of the physical layer.
Electrical and Timing Differences: Electrically, CAN FD uses the same voltage levels on CANH and CANL and the same differential signaling scheme as Classical CAN. There is no new line coding or additional wires – the improvements come purely from allowing faster toggling and more data bytes per frame. However, not all existing CAN transceivers can support the fast bit timing; CAN FD-specific transceivers are designed with faster rise/fall times and tighter propagation delay symmetry to handle up to 5 Mbps or more. For example, the ISO 11898-2:2016 standard (which covers CAN FD transceivers) specifies maximum loop delay times to ensure the transmitter and receiver stay synchronized at high speed. When upgrading a CAN network to FD, it’s essential to use transceivers rated for the intended data bit rate. Legacy high-speed CAN transceivers might reliably handle 1 Mbps but could distort signals at 5 Mbps due to slower slew rates or filtering designed for the older spec. Furthermore, the higher frequency content of CAN FD signals means that control of impedance and termination is even more important. At 5 Mbps, a 1 ns edge corresponds to only a fraction of the network length, so any impedance discontinuity (long stub or poor termination) can create reflections that overlap the bit sampling point. Thus, the general topology guidelines for Classical CAN – single line bus, no star connections, minimal stub lengths – become almost mandatory for CAN FD at high rates. Bus-line topology with very short stubs is the only way to achieve the top speeds; attempts to use star or tree topologies will severely limit the attainable data rate due to reflections. In fact, industry network design recommendations (such as CiA 601-3) indicate that multi-drop CAN FD buses in automotive environments (−40 °C to +125 °C) are typically limited to around 2 Mbps unless special measures are taken. To reach 5 Mbps, the network might need to be a nearly point-to-point link or use enhanced transceivers with ringing suppression features. Each CAN FD node and connector should be scrutinized for signal integrity – for instance, use of damping resistors or choke coils might be adjusted, and the wiring harness quality becomes even more critical at higher frequencies.
From a timing perspective, CAN FD controllers must be configured with two sets of bit timing parameters: one for the nominal (arbitration) phase and one for the data phase. The data-phase segment of the bit is much shorter, so the propagation segment and phase buffer segments in the CAN bit timing must be set appropriately to sample the bit in the right place. Often, the sample point as a percentage of bit time is slightly different between nominal and data phases (e.g., one might use an 80% sample point at 500 kbps but perhaps a 70% sample point at 2 Mbps) to account for the shorter bit and the need to accommodate propagation delays with less absolute time. Figure 2 compares a Classical CAN frame and a CAN FD frame, highlighting the use of two bit rates.
During a CAN FD transmission with bit rate switching, all nodes listen at the nominal rate through the arbitration field, and once the BRS bit is detected as recessive (indicating a switch), all FD-capable nodes seamlessly adjust their timing to the pre-configured data rate for the remainder of that frame. After the data and CRC are sent at the high speed, the transmitter switches back down to nominal speed for the ACK slot (and any following bits), so that even nodes that may not support the higher rate can still acknowledge the frame (in a mixed network scenario). This switching happens in the span of one bit (the BRS bit) and requires that all nodes are precisely synchronized to handle the sudden jump in speed. The network propagation delay must be low enough that every node still receives the fast bits in the data section with adequate setup and sampling time. Consequently, the maximum bus length for a given data phase rate is even more constrained than for the arbitration rate. For example, a CAN FD bus running at 5 Mbps data rate might only tolerate a few meters of cable if there are many nodes, whereas that same network could run 1 Mbps arbitration over tens of meters. System designers often consult the CiA 601-3 guidelines or automotive OEM standards (such as SAE J2284/4 for CAN FD) which provide recommended limits on bus length, stub length, and transceiver parameters for various CAN FD speeds.
In summary, CAN FD provides a significant performance boost over Classical CAN (higher data bandwidth and payload capacity) while preserving the robustness and flexibility of the CAN bus topology. However, to fully leverage CAN FD’s benefits, engineers must pay close attention to the network design. The physical layer wiring should be kept as close as possible to the ideal 120 Ω transmission line: shorter cables, fewer nodes, and minimal stubs are the straightforward ways to accommodate higher bit rates. Additionally, using CAN FD-rated transceivers and properly tuning the controller’s bit timing for both nominal and data phases are crucial to ensure reliable communication. With these considerations in mind, CAN FD can be deployed across various domains (automotive, industrial, etc.) to achieve faster data exchange without fundamentally changing the proven two-wire CAN bus architecture. The result is a more capable CAN network that remains backward-compatible and able to coexist with classical CAN, offering an evolutionary path for systems that demand higher performance.
A Comprehensible Guide to Controller Area Network
A Comprehensible Guide to Controller Area Network (CAN) offers an accessible yet technically robust introduction to the fundamentals of CAN technology. Designed for engineers, technicians, and enthusiasts, the guide explains how CAN enables reliable communication among multiple microcontrollers and devices using a shared two-wire bus. The book breaks down complex topics such as message arbitration, error detection, and frame structure into understandable segments, providing a clear view of how CAN supports real-time data exchange in automotive and industrial systems.
The guide also delves into practical implementation aspects, including physical layer design, termination techniques, and bit timing requirements. It emphasizes best practices for wiring, node configuration, and troubleshooting common network issues. Whether you’re developing embedded systems or simply looking to understand how modern vehicles and machines communicate internally, this guide serves as a concise and practical resource for mastering CAN architecture. More information…










Comments are closed.