Buses, Peripherals & Protocolsfoundational
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.
