Find the priority
Lower CAN identifiers have higher priority because dominant 0 bits overwrite recessive 1 bits during arbitration.
Inspect Classical CAN arbitration, frame fields, ACK/error behavior, and bus-load tradeoffs.
Watch two nodes contend for a shared CAN bus, inspect the exact arbitration bits that decide priority, and connect frame fields, CRC/ACK behavior, bit stuffing, and bus load to what a real protocol analyzer reports.
Lower CAN identifiers have higher priority because dominant 0 bits overwrite recessive 1 bits during arbitration.
The analyzer separates SOF, arbitration, control/DLC, data, CRC, ACK, EOF, and intermission so the wire is not a mystery.
Inject CRC, ACK, or stuff errors to see why a node aborts a frame, sends an error flag, and retries later.
Change payload, bitrate, and frame rate to estimate how much airtime the message consumes on a shared bus.
A safety-critical brake frame starts at the same time as a body-control frame. The lower identifier keeps transmitting; the losing node sees a dominant bit while sending recessive and backs off without corrupting the winning message.
0x080
Data frame, 4 byte payload
0x420
Backs off after arbitration
ACK slot
Drives ACK dominant when the frame checks out.
500 kbit/s
Decodes fields and flags errors.
The lower identifier keeps the bus because its dominant bit appears while the competing node is sending recessive. The losing node stops and retries after the bus becomes idle.
Use these segments to decode what the analyzer is showing without hunting through a protocol manual.
CAN arbitration compares the identifier bit by bit. Numerically lower IDs usually win because they place dominant 0 bits earlier.
Dominant 0 overwrites recessive 1 on the shared bus. A transmitter that sends 1 but reads 0 loses arbitration.
Classical base format uses an 11-bit identifier and a data field from 0 to 8 bytes.
Extended format adds identifier extension bits for a 29-bit ID. With the same base ID, a standard data frame wins over an extended frame.
The DLC announces how many data bytes follow. In Classical CAN this workbench limits payload to 0 through 8 bytes.
Receivers check the CRC sequence before acknowledging. A bad CRC causes an error frame and retransmission later.
The transmitter sends recessive in the ACK slot. Any receiver that accepts the frame drives the slot dominant.
Long payloads, low bitrate, and high message rate consume bus capacity and increase latency for lower-priority traffic.
These checks turn the animation into a self-study tool for students who have not used a hardware CAN analyzer before.
This workbench models Classical CAN/CAN CC behavior for teaching. The frame-time readout is an analyzer-style estimate: fixed frame fields plus payload bits plus an approximate stuffing allowance. It is suitable for comparing scenarios, not for replacing bit-exact timing analysis.
The terminology follows the ISO 11898 CAN family and CAN in Automation descriptions of Classical CAN, CAN FD, and CAN XL, plus the Bosch CAN specification for arbitration, frame fields, error handling, and bit stuffing. Sources: CAN in Automation CAN CC, CAN in Automation ISO 11898 series overview, and Bosch CAN Protocols.