Trotz elektromagnetisch verträglichem Design und Differenzsignalübertragung kann aufgrund der widrigen Kfz-Umgebung nicht davon ausgegangen werden, dass keine Übertragungsfehler auftreten. Die Wahrscheinlichkeit, dass verfälschte CAN-Nachrichten unerkannt bleiben, ist außerordentlich gering. Dafür verantwortlich sind die im CAN-Protokoll definierten Fehlererkennungsmechanismen. Dazu gehören auf der Empfängerseite neben dem CRC (Cyclic Redundancy Check), mit dem sich bis zu fünf Fehler innerhalb einer CAN-Nachricht detektieren lassen, die Überprüfung des Formats (Form Check) und die Bit-Stuffing-Regel (Stuff Check). Der Sender führt ein Bit-Monitoring durch und wertet den ACK-Slot aus.
Eine Bitzeit nach der Feststellung eines Übertragungsfehler bricht der fehlererkennende CAN-Knoten die reguläre Datenübertragung durch das Auflegen eines Fehlersignals (Error-Flag) ab. Dieses setzt sich aus sechs dominanten Bits zuammen, und verletzt bewusst die Bitstuffingregel, so dass netzwerkweit jeder CAN-Knoten den bis dahin lokalen Fehler wahrnimmt und infolgedessen die Nachrichtenübertragung ebenfalls mit dem Aufschalten eines Error-Flags abbricht. Diese Methode stellt die für die Datenintegrität verteilter Anwendungen so wichtige netzweite Datenkonsistenz sicher.
Die Fehlerbehandlung wird durch die Wiederholung der abgebrochenen CAN-Botschaft durch den entsprechenden Sender abgeschlossen. Dazu muss der CAN-Bus frei sein. Dies ist dann der Fall, wenn der entsprechende CAN-Knoten 11 rezessive Bits detektiert hat. Es gibt aufgrund des prioritätengesteuerten Buszugriffs keine Garantie für das sofortige Wiederholen. Mit anderen Worten: je weniger prior die betroffene CAN-Botschaft, desto länger muss auf die Wiederholung gewartet werden. 

Kontakt