Back to Knowledge Base

CAN Bus Architecture: The Vehicle's Nervous System

Written & Reviewed by Christopher Anthony Mellers (Founder & Mobile Mechanic)

Before interpreting vehicle telemetry, you must understand the underlying physical medium. The Controller Area Network (CAN) bus is a high-speed vehicle bus standard (ISO 11898) designed to allow microcontrollers (ECU, TCM, ABS, BCM) to broadcast and exchange sensor packets without requiring heavy dedicated wiring harnesses.

High-Speed CAN Topology [ISO 11898-2]
[ECM] -------- [TCM] -------- [ABS] -------- [BCM]
  |             |             |             |
======== CAN HIGH (2.5V - 3.5V, Pin 6) ========
======== CAN LOW  (1.5V - 2.5V, Pin 14) =======
  ^---------------- [OBD2 16-PIN DLC] ---------------^

1. Understanding Differential Signaling

High-speed CAN uses two twisted wires: CAN High and CAN Low. The transmitted bit value is determined by the voltage difference ($V_{\text{diff}} = V_{\text{CAN\_H}} - V_{\text{CAN\_L}}$). In a recessive state (logical 1), both wires sit at 2.5V ($V_{\text{diff}} = 0\text{V}$). In a dominant state (logical 0), CAN High pulls up to 3.5V and CAN Low pulls down to 1.5V ($V_{\text{diff}} = 2.0\text{V}$). This differential design cancels electromagnetic interference generated by ignition coils and high-current alternators.

2. Termination Resistance & Network Faults

A healthy CAN network requires two 120-ohm termination resistors located at the physical extremes of the bus (typically inside the ECM and the instrument cluster). When measured with a multimeter across OBD2 DLC pins 6 and 14 with the battery disconnected, the total resistance must measure exactly 60 ohms (two 120-ohm resistors in parallel). A reading of 120 ohms indicates a broken termination resistor or open wire, while a reading of 0 ohms indicates a shorted bus causing network-wide communication fault codes (U0100, U0101, U0121).

3. The PID Addressing Layer

OBDAssistant communicates by issuing standard SAE J1979 request frames to specific ECU 11-bit or 29-bit CAN identifiers (e.g. 0x7E0 for Engine Control Module, 0x7E1 for Transmission Control Module) and receiving response frames (0x7E8 and 0x7E9). Our high-throughput polling engine multiplexes compatible parameter IDs (PIDs) to achieve 30-40Hz real-time sampling rates.

Connected Network Trouble Codes & Diagnostic Guides

Cross-reference these network communication DTCs and technical guides:

U0100 — Lost Communication with ECM/PCM U0101 — Lost Communication with TCM U0121 — Lost Communication with ABS Module P0601 — Internal Control Module Memory Checksum P0700 — Transmission Control System MIL Request
Fuel Trim Mastery → ECU Knock Logic → Network (U) DTC Hub →

Capture Real-Time CAN Bus Telemetry

Use OBDAssistant on Android with any ELM327 Bluetooth adapter to stream live engine telemetry and decode network communication trouble codes.

Download OBDAssistant Free