Communication Protocols · Interview question

How does CAN arbitration work, and why is it called "non-destructive"?

A strong answer

CAN uses bitwise arbitration based on its dominant/recessive signaling, where a dominant bit (logic 0) always overrides a recessive bit (logic 1) on the wired-AND bus. When multiple nodes start transmitting at once, they all send their message identifier bit by bit while simultaneously monitoring the bus. If a node transmits a recessive bit but reads back a dominant one, it knows another node with a higher-priority (numerically lower) ID is transmitting, so it immediately stops and switches to receiving. The node sending the dominant bit doesn't even notice, it continues transmitting its frame uninterrupted and uncorrupted. That's why it's "non-destructive": unlike Ethernet's collision detection where colliding frames are destroyed and everyone backs off and retries, in CAN the winning (highest-priority) frame survives intact and is delivered with no delay, while losers simply retry once the bus is idle. The result is deterministic, priority-based, collision-free media access, which is exactly why CAN can be analyzed for worst-case message latency in real-time and safety systems. The design consequence is that your ID assignment is your priority scheme: lower IDs win.

What a weak answer sounds like

You know the answer. Do you know what gets you dinged?

Pro breaks down the answer most candidates actually give to this question — and the specific reason an interviewer marks it down. It’s the difference between sounding correct and sounding senior, on all 472 questions.

From the lesson

CAN Bus

The robust multi-master bus behind vehicles: differential dominant/recessive bits, non-destructive bitwise arbitration by message ID, and built-in error detection with fault confinement.

More CAN Bus questions

Browse all 472 interview questions
How does CAN arbitration work, and why is it called "non-destructive"? | EmbeddedPrep.io