Chammarychammary

CANBUS – Networking so simple, even YOU can understand it!

Dave's Garage · 23:06 · 3 days ago

CAN Bus is a robust, distributed communication protocol that allows multiple devices to share data over a simple two-wire connection without a central controller. It manages traffic through a built-in priority system where messages with lower identification numbers automatically take precedence during contention, ensuring reliable data delivery in noisy environments.

  • Differential signaling — Data transmission relies on the voltage difference between two wires (CAN High and CAN Low) rather than absolute voltage levels, which rejects common-mode electrical noise .

  • Dominant and recessive states — A logical zero is "dominant" and forces the wires apart, while a logical one is "recessive" and allows both wires to settle at a neutral middle voltage .

  • Non-destructive arbitration — When multiple devices broadcast simultaneously, the system compares identifiers bit-by-bit; the device with the lower numerical identifier (higher priority) wins the bus, while the others yield without corrupting the message .

  • Shared broadcast network — Every message is visible to all connected devices, allowing individual controllers to simply listen for and process identifiers relevant to them .

  • Termination requirements — Attaching 120-ohm resistors at both ends of the network prevents signal reflections that would otherwise occur at wire ends .

  • Bit stuffing — To maintain timing synchronization, a transmitter inserts a bit of opposite polarity after five identical bits, which receivers then identify and remove .

  • Fault confinement — If a device repeatedly generates errors, the system progressively isolates it, eventually putting it into a "bus off" state to prevent a single broken component from blocking all communication .

  • Lack of authentication — The protocol does not verify the source of a frame, allowing any device with knowledge of the message format to masquerade as another .

  • How does bus termination affect signal integrity?

  • What determines the priority of a message on the network?