Details
Allgemein:
Es sollen zwei Arduino Boards mit zwei selbst entwickelten CAN-Bus Shields über ein Kabel (RS232) verbunden werden um anschließend das Format, das Protokoll, die Arbitrierung und die Spannungspegel zu analysieren.
Technische Details:
Datentelegramm:
Das CAN-Bussystem kennt zwei Formate um ein Datentelegramm über
die Buskonfiguration zu verschicken. Das "Base-Frame Format"auch
CAN 2.0A besteht aus einem einem 11Bit Identifier während das
"Extended-Frame Format" oder CAN2.0B aus einem 29Bit Identifier
besteht. Die Unterscheidung erfolgt im ID Extension Bit.
Die eigentlichen Daten befinden sich im 8Bit- Data Field. Die
CRC-Checksumme dient dazu das Datentelegramm zu prüfen und
fehlerhafte Telegramme zu vermeiden. Das EOF-Field wird benötigt
um das Ende eines vollständigen Telegrammes zu signalisiern. Eine
Besonderheit ist die Bitstuffing-Methode die nach fünf gleichen
Pegeln einen invertierten Pegel einspeißt um weitere Fehler zu
vermeiden.
Arbitrierung:
Bei der Arbitrierung geht es um den Vorgang bei zwei gleichzeitig gesendeten Datentelegrammen eine Priorisierung eines der beiden Telegramme vorzunehmen. Beim CAN-Bus wird deshalb das Telegramm mit dem niedrigeren Identifier bevorzugt und als erstes gesendet. Erst wenn der Bus nicht mehr belegt ist, sendet der 2. Busteilnehmer sein Datentelegramm.