How engineering works.

Clear explanations with interactive examples. Diagrams simplify reality and do not control any real equipment.

CAN bus

Several nodes share a bus; the frame identifier also sets arbitration priority.

INTERACTIVE EXAMPLESIMULATION

Who communicates with whom?

Classical CAN has no central master or mandatory slave addresses on the bus layer. Any node may transmit when the bus is free; the identifier conveys meaning and arbitration priority, not inherently a destination address. CAN ACK means at least one receiver accepted the frame at the data-link level. Actual execution requires application-level feedback. Higher layers such as CANopen or J1939 define their own addressing and interactions.

Voltage and waveform

Typical high-speed CAN transceivers show about 2.5 V on CAN_H and CAN_L when recessive. Dominant states typically bring CAN_H toward 3.5 V and CAN_L toward 1.5 V, about 2 V differential. These are examples, not universal limits. CAN FD can use the same high-speed physical layer; the chosen transceiver and physical layer determine levels.

Measuring with an oscilloscope

Use an appropriate differential probe across CAN_H and CAN_L or two safely referenced channels and H−L. Inspect dominant and recessive levels, edges, overshoot and recovery. Check termination with power disconnected.

The principle

In classical CAN, any node can begin transmitting while the bus is free. If nodes start together, they arbitrate bit by bit. A dominant zero overrides a recessive one. The losing node stops without corrupting the winning frame. Lower numerical identifiers have higher priority.

An example

Choose two identifiers and observe arbitration. The simulation shows the principle, not a complete frame or physical voltages.

Important

CAN defines data transfer. A higher layer or the application defines the meaning of an identifier and payload.

Technical source / documentation ↗