100nF

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.

120 Ω120 Ω10 nodes of 222 the driver can load · stubs ≤ 1.33 m1 m10 m100 m1 km10 kmrate × L limit 100 mcapacitance limit 167 m40.0 m at 500 kbit/s
Fig 1 — A 40.0 m bus at 500 kbit/s: SLLA486's rate × length rule allows 100 m and its capacitance rule 167 m; stubs up to 1.33 m; 222 nodes before the driver sees under 45 Ω.
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

Rterm=120 Ω at each end  ⇒  60 ΩR_{term} = 120\ \Omega \text{ at each end} \;\Rightarrow\; 60\ \Omega
SLLA486 §4: the cable's 120 Ω characteristic impedance, terminated at both extreme ends.
RIDN∥60 Ω≥45 Ω  ⇒  Nmax=RID180 Ω\frac{R_{ID}}{N} \parallel 60\ \Omega \geq 45\ \Omega \;\Rightarrow\; N_{max} = \frac{R_{ID}}{180\ \Omega}
SLLA486 §9: 45 Ω is the minimum load the driver is specified into; 222 nodes at 40 kΩ.
fbit [Mbit/s]×L [m]≤50(L>100 m)f_{bit}\,[\text{Mbit/s}] \times L\,[\text{m}] \leq 50 \quad (L > 100\ \text{m})
SLLA486 §10: the arbitration bit must reach the far end and return within a bit time.
Ceff=L⋅50 pF/m+N⋅CID,3⋅60 Ω⋅Ceff≤0.75 TbitC_{eff} = L \cdot 50\ \text{pF/m} + N \cdot C_{ID}, \qquad 3 \cdot 60\ \Omega \cdot C_{eff} \leq 0.75\, T_{bit}
SLLA486 §11 eq 1–2: the recessive edge is an RC decay that must clear 500 mV before the sample point.
2⋅tpd⋅Lstub≤13tfall2 \cdot t_{pd} \cdot L_{stub} \leq \tfrac{1}{3} t_{fall}
SLLA486 §13 eq 3: 1.33 m at 5 ns/m for a 40 ns fall. ISO 11898-2 specifies 0.3 m.
fc=12π⋅30 Ω⋅Csplitf_c = \frac{1}{2\pi \cdot 30\ \Omega \cdot C_{split}}
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

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

Common CAN termination mistakes

Further reading