🏁Arbitrierung: Wer darf senden?
Wollen mehrere Steuergeräte gleichzeitig senden, beginnen alle mit SOF. Danach vergleicht jeder Sender Bit für Bit, was er sendet und was er vom Bus zurückliest. CSMA/CR – „Carrier Sense Multiple Access / Collision Resolution“: Kollisionen werden aufgelöst, nicht zerstört.
🎬Bitweise Animation
IDs ändern, abspielen oder mit ← → durchsteppen. Die Tabelle zeigt pro Bit, was jeder Knoten sendet und was auf dem Bus liegt.
Motor11 Bit
sendet …
ABS11 Bit
sendet …
Tester11 Bit
sendet …
Klima11 Bit
sendet …
Schritt 1 / 15 · Tasten ← →
| Feld | SOF | ID | ID | ID | ID | ID | ID | ID | ID | ID | ID | ID | RTR | IDE | S |
| Motor | 0 | ||||||||||||||
| ABS | 0 | ||||||||||||||
| Tester | 0 | ||||||||||||||
| Klima | 0 | ||||||||||||||
| Bus | 0 |
Bit 0 (SOF): Bus = 0 (dominant). Alle noch aktiven Sender senden dasselbe Bit – keiner merkt etwas.
🧠Die Regeln
💡 Wired-AND
Der Bus ist nur rezessiv (1), wenn alle rezessiv senden. Ein einziges dominantes Bit (0) überschreibt alles.
✅ Kleinste ID gewinnt
Die ID wird mit dem höchstwertigen Bit zuerst gesendet. Die erste Stelle, an der sich zwei IDs unterscheiden, entscheidet: 0 schlägt 1.
⚠️ Verlieren ohne Schaden
Der Verlierer hört einfach auf zu senden und empfängt den Gewinner-Frame. Er versucht es automatisch erneut, sobald der Bus frei ist.
- Daten- vor Remote-Frame: Bei gleicher ID entscheidet das RTR-Bit – dominant (Daten) gewinnt.
- 11 Bit vor 29 Bit: Mit gleicher Basis-ID sendet der Standard-Frame direkt nach der ID sein dominantes RTR, der Extended-Frame das rezessive SRR.
- Stuff-Bits stören nicht: Solange alle Sender dasselbe senden, stopfen sie auch an denselben Stellen.
- Folge für das Design: Wichtige Nachrichten (Bremse, Motor) bekommen kleine IDs. Diagnose (0x7DF, 0x7E8) liegt bewusst weit oben – sie hat niedrige Priorität.
- Latenz: Die Nachricht mit höchster Priorität wartet höchstens einen gerade laufenden Frame ab – das macht CAN deterministisch.