Search topics...

What is CAN, LIN, FlexRay? Where are they used? Have you ever used any?

0 upvotes
Practice with AISoon

These are the three classic automotive/industrial in-vehicle networking buses, often used together in a tiered architecture (high-speed backbone + low-cost local sub-buses).

CAN (Controller Area Network)

  • A robust, differential two-wire bus (CAN_H/CAN_L) with strong noise immunity, designed by Bosch for vehicles.
  • Multi-master, message-based (no node addresses; messages carry identifiers). Bus access uses non-destructive bitwise arbitration by identifier — the lowest-numbered ID wins automatically without corrupting the winning frame, giving deterministic priority.
  • Built-in error detection (CRC, acknowledgment, error frames) and fault confinement make it very reliable. Classical CAN runs up to 1 Mbps; CAN FD extends payload size and data-phase bit rate.
  • Use: the dominant vehicle bus for powertrain, body, and chassis ECUs; also widely used in industrial automation, medical, and robotics (CANopen, J1939).

LIN (Local Interconnect Network)

  • A low-cost, single-wire (plus ground) serial sub-bus, UART-based, much slower than CAN (up to ~20 kbps).
  • Single-master / multiple-slave with a deterministic, master-scheduled polling scheme (master sends a header, the addressed slave responds).
  • Use: cost-sensitive, low-speed body electronics — door modules, window lifts, mirrors, seat controls, rain/light sensors — typically as a local cluster hanging off a CAN node.

FlexRay

  • A high-speed, deterministic bus (up to 10 Mbps, often dual-channel for redundancy) using a time-triggered TDMA schedule (with static and dynamic segments) and tight clock synchronization.
  • Designed for safety-critical, real-time applications needing guaranteed timing and fault tolerance — x-by-wire (drive-by-wire, brake-by-wire), advanced chassis control, and active suspension.
  • More complex and costly than CAN, so it's reserved for the systems that require its determinism and bandwidth.

In short: LIN for cheap/slow local functions, CAN for the general-purpose robust backbone, and FlexRay for high-bandwidth deterministic safety-critical control.