CAN bus termination and length calculator
A CAN bus is terminated with 120 Ω at each of its two ends and nowhere else, so a transmitter drives 60 Ω, and unlike RS-485 the termination is not optional: the dominant-to-recessive edge is the bus discharging through it. From there the physical layer is four numbers. The driver is specified into 45 Ω, so 40 kΩ receivers stop at 222 nodes. Over 100 m the bit rate in Mbit/s times the length in metres must not exceed 50. The bus capacitance must decay through 60 Ω within three quarters of a bit — 4.2 nF at 1 Mbit/s, 83 m of 50 pF/m cable. And a stub must be short enough that its reflection is over within a third of the edge: 1.33 m for a 40 ns fall. Enter the rate, the length, the nodes and the transceiver figures to check all four.
The arbitration bit rate. For CAN FD this is the nominal (arbitration-phase) rate, which is what the length rules are about; the data-phase rate is bounded by the transceiver's timing, not the cable.
Cable length between the two terminations.
Nodes on the bus, each hanging its receiver's differential input resistance and capacitance across it.
Receiver differential input resistance, the datasheet minimum. SLLA486 uses 40 kΩ for the ISO1044.
Differential input capacitance per node, from the transceiver datasheet. 0 leaves only the cable in the capacitance budget.
Transceiver dominant-to-recessive fall time; SLLA486 uses 40 ns typical for the ISO1044. Sets the stub limit.
Propagation delay of the cable. SLLA486 uses 5 ns/m for CAT5e twisted pair.
Mutual capacitance of the pair. SLLA486 uses 50 pF/m for CAT5.
Split-termination capacitor from the centre tap of each 2 × 60 Ω termination to ground. 0 = plain 120 Ω. SLLA270 calls 4.7 nF typical for high-speed CAN, "a 3 dB point at 1.1 Mbps"; the corner reported here is 1/(2π · 30 Ω · C), which gives that figure.
- Termination: 120 Ω at each end, driver sees
- 60.0 Ω · 59.1 Ω with 10 receivers
- Nodes the driver can load (45 Ω minimum)
- 222
- Bit time · one-way cable delay
- 2.00 µs · 200 ns
- Rate × length (limit 50 over 100 m)
- 20.0 · allows 100 m at this rate, 1.25 Mbit/s at this length
- Bus capacitance · limit from 3RC ≤ 0.75 T
- 2.00 nF · 8.33 nF → 167 m of cable
- Stub limit at 40 ns fall
- 1.33 m
- Split termination, common-mode corner
- 1.13 MHz
Within ISO 11898-2's 40 m at 1 Mbit/s envelope (0.3 m stubs) as SLLA486 quotes it; the stub figure above is the note's longer rule of thumb for a known transceiver.
How this is calculated
Standard: TI SLLA486; TI SLLA270; ISO 11898-2 as quoted there
- SLLA486 §4: the cable's 120 Ω characteristic impedance, terminated at both extreme ends.
- SLLA486 §9: 45 Ω is the minimum load the driver is specified into; 222 nodes at 40 kΩ.
- SLLA486 §10: the arbitration bit must reach the far end and return within a bit time.
- SLLA486 §11 eq 1–2: the recessive edge is an RC decay that must clear 500 mV before the sample point.
- SLLA486 §13 eq 3: 1.33 m at 5 ns/m for a 40 ns fall. ISO 11898-2 specifies 0.3 m.
- Split termination: the two 60 Ω halves in parallel into the centre-tap capacitor. Derived here; it reproduces SLLA270's "3 dB point at 1.1 Mbps" for its typical 4.7 nF.
Assumptions
- Two terminations, both at the extreme ends. A bus terminated in the middle, or once, or at every node, is outside every rule here.
- Cable figures are SLLA486's for CAT5e: 5 ns/m and 50 pF/m. Automotive and industrial CAN cable differs; use the datasheet.
- The rate × length rule is SLLA486's conservative rule of thumb for buses over 100 m; shorter buses are bounded by the capacitance rule and ISO 11898-2's 40 m at 1 Mbit/s.
- The capacitance rule ignores chokes, TVS and connectors, which SLLA486 lists and leaves out "just for simplicity"; they subtract from the cable budget.
- For CAN FD the arbitration rate governs the length rules; the data-phase rate is a transceiver timing question the tool does not model.
What sets a CAN bus's termination, length and node count
ISO 11898 specifies the medium and the termination together. TI's physical-layer note puts the standard's envelope in one sentence: "a maximum signaling rate of 1 Mbps with a bus length of 40 m and a maximum of 30 nodes", with "a maximum un-terminated stub length of 0.3 m", on "a shielded or unshielded twisted-pair with a 120-Ω characteristic impedance". The cable "is terminated at both ends with 120-Ω resistors, which match the characteristic impedance of the line to prevent signal reflections", and the note adds the rule people break most: "placing RL on a node should be avoided since the bus lines lose termination if the node is disconnected from the bus."
CAN's termination is not the optional refinement it is on RS-485, and TI's isolated-CAN note explains why: "the dominant-to-recessive signal edge is not actively driven, so the RC decay of the bus brings that transition. If no termination is present on the bus, the dominant-to-recessive transition may be missed." The driver pulls the bus dominant; the 60 Ω of two terminations in parallel lets it go. That single fact sets the capacitance rule below, and it is why the tool treats the two 120 Ω resistors as fixed and computes everything else around them.
Node count is a loading question. Each receiver's differential input resistance sits across the bus, and "the equivalent parallel resistance that a driver should see needs to be more than 45 ohm because 45 ohm is the minimum load a driver is specified to drive and produce a minimum differential voltage of 1.4 V". With 40 kΩ receivers that is 222 nodes — "the theoretical limit"; "practical system aspects will limit this further", and the standard's own recommendation is 30.
Length is a timing question twice over. During arbitration a bit "needs to reach the farthest receiver and back to the transmitter which monitors via RXD for it to move to the subsequent bit", so the rate and the length trade against each other: SLLA486's rule for buses over 100 m is "Signaling Rate (Mbps) × Bus Length (m) ≤ 50", and SLLA270's table of suggested lengths — 40 m at 1 Mbit/s, 100 m at 500 kbit/s, 200 m at 250, 500 m at 100, 1000 m at 50 — is that product at 40 to 50 down the column. And the recessive edge, being an RC decay through the 60 Ω, "should complete going below 500 mV … just before 75 % of bit width", which with 50 pF/m of cable caps the capacitance and so the length at each rate.
Worked example: 500 kbit/s, 40 m, ten nodes
The calculator's defaults, with SLLA486's ISO1044 figures: 40 kΩ receivers, a 40 ns fall time, CAT5e at 5 ns/m and 50 pF/m.
termination 120 Ω × 2 = 60 Ω to the driver
loading 40 kΩ / 10 = 4 kΩ ∥ 60 Ω = 59.1 Ω (≥ 45 Ω; limit 222 nodes)
bit time 1 / 500 kbit/s = 2 µs; one-way delay 40 m × 5 ns = 200 ns
rate × length 0.5 × 40 = 20 (rule applies over 100 m; 50 allows 100 m)
capacitance 40 m × 50 pF = 2.0 nF
limit 0.75 × 2 µs / (3 × 60 Ω) = 8.3 nF → 167 m of cable at this rate
stub 40 ns / 3 / (2 × 5 ns/m) = 1.33 m (ISO 11898-2 says 0.3 m)
split cap 1 / (2π × 30 Ω × 4.7 nF) = 1.13 MHz corner (SLLA270: "1.1 Mbps")
at 1 Mbit/s: capacitance limit 4.2 nF → 83 m; rate × length allows 50 m; ISO says 40 m
At 500 kbit/s the 40 m bus has room on every axis. Pushed to 1 Mbit/s the same bus is inside the capacitance rule (83 m) and inside SLLA486's product rule (50 m), and sits at the standard's 40 m envelope — which is the number to design to, because the two rules above are conservative estimates for a known transceiver and cable, and the envelope is what every conformant transceiver is tested against.
Where the CAN model stops being valid
- The rules are rules of thumb. SLLA486 calls the product rule "a conservative rule of thumb for bus lengths over 100 meters" and the stub rule "a conservative rule of thumb"; both notes ask for testing. SLLA270 reports that "an actual safe signaling rate with 1000 m of 120-Ω … cable is indeed approximately 50 kbps" — the table is not a margin-free limit, but it is not an exact one either.
- The capacitance budget leaves parts out. Chokes, TVS diodes and connectors all add to the bus capacitance, and SLLA486's equation ignores them "just for simplicity". A common-mode choke and a TVS array at each node can be as much as the node itself.
- CAN FD's data phase. The length rules are arbitration rules: every node has to see every bit in time to arbitrate. In the data phase only one node transmits and the limit becomes the transceiver's timing distortion and the controller's sample point. The tool takes the arbitration rate.
- DC drop on long cables. SLLA486's first factor for distance is "I·R drop of cable due to DC resistance" against the 900 mV the farthest receiver needs for a dominant; at hundreds of metres of thin cable it matters, and the tool does not compute it. SLLA270's answer for long buses is a repeater.
- Split termination is for noise, not signalling.SLLA270 describes it as a way "to couple high frequency noise to a solid ground potential" and warns that the two ~60 Ω halves must be matched "so as to not reduce the effective immunity". The corner frequency the tool reports is that common-mode filter; it does not change the differential termination.
Common CAN termination mistakes
- A termination resistor on every node. Ten nodes make 12 Ω across the bus; the driver cannot reach a dominant level. Two, at the ends.
- Termination inside a node that can be unplugged. SLLA270 says to avoid it for exactly that reason; the bus loses its termination when the node leaves. If it must be there, SLLA486's software-switched termination — a photorelay under GPIO control — keeps the hardware common and the termination at whichever nodes are the ends.
- No termination on a short bench bus "because it works". It works until a fast bit pattern outruns the RC decay; the missed dominant-to-recessive edge is a bit error, not a signal-quality complaint.
- Long stubs to save cable. Every stub is an unterminated line whose reflections "drive signal levels back and forth across a receiver's input thresholds"; 0.3 m per the standard, or the rule above for a known transceiver, and a daisy chain through each node's connector rather than a star.
- Sizing the bus from the data-phase rate of CAN FD. The arbitration rate is the one the length rules apply to; a 2 Mbit/s data phase on a 500 kbit/s arbitration bus is bounded by 500 kbit/s.
Further reading
- The RS-485 termination calculator: the other 120 Ω bus, where termination is optional and failsafe biasing is the question.
- Reflections you can see: what an unterminated stub does to an edge, on a scope.
- How a common-mode choke works, for the part SLLA486 puts next to the split termination in a noisy system.