Logische Fehlerbehandlung

Netzwerkweite Datenkonsistenz

Das CAN-Protokoll schreibt aus Gründen netzwerkweiter Datenkonsistenz vor, dass bei lokalen Störungen der fehlererkennende CAN-Knoten alle im CAN-Netzwerk angeschlossenen CAN-Knoten davon in Kenntnis zu setzen hat. Dazu überträgt der fehlererkennende CAN-Knoten ein Fehlersignal (Error Flag), welches sich aus sechs dominanten Bits zusammensetzt. Damit wird bewusst die Bitstuffingregel verletzt und so ein Bitstuffing-Fehler verursacht.

Error Flags

Die Übertragung eines Error Flags sorgt also dafür, dass alle anderen CAN-Knoten ebenfalls einen Error Flag (sekundäres Error Flag) übertragen und somit ebenfalls wie der Sender des primären Error Flags die reguläre Datenübertragung abbrechen. Je nach Situation können sich primäres und sekundäres Error Flag auch überlagern.

Error Delimiter

Der Übertragung eines Error Flags schließt sich immer die Übertragung eines Error Delimiters an. Dieser setzt sich aus acht rezessiven Bit zusammen. Der Error Delimiter ersetzt den ACK-Delimiter und das EOF einer regulären Botschaftsübertragung, so dass sich zusammen mit der obligatorischen Sendepause (ITM - Intermission) auf dem CAN-Bus elf rezessive Bit ergeben (Bus-Idle-Kennung). 

Abschluss der Fehlerbehandlung

Die Fehlerbehandlung wird vom Sender der abgebrochenen CAN-Botschaft abgeschlossen, indem er nach dem ITM versucht, die abgebrochene CAN-Botschaft nochmals zu übertragen. Die Grafik „Fehlerbehandlung“ fasst alle Aktionen, die nach der Fehlererkennung in einem CAN-Netzwerk ablaufen, zusammen. Die Animation „Bitmonitoringfehler“ lädt Sie ein, sich mit der Fehlerbehandlung am Beispiel eines Bitmonitoringfehlers interaktiv auseinanderzusetzen.

 

Keine Garantie für sofortige Wiederholung

Aufgrund des prioritätengesteuerten Buszugriffs gibt es keine Garantie für die sofortige Wiederholung. Im besten Fall dauert es von der Fehlerentdeckung bis zum Wiederaufsetzen 17 Bitzeiten (primäres Error Flag, Error Delimiter, ITM). Es dauert 23 Bitzeiten, wenn sich primäres und sekundäres Error Flag nicht überlagern.

Suspend Transmission Time

31 Bitzeiten dauert es, wenn sich der CAN-Knoten im fehlerpassiven Zustand befindet. In diesem Zustand hat ein CAN-Knoten die sog. Suspend Transmission Time abzuwarten, ehe er wieder auf den CAN-Bus zugreifen darf. Bei der Suspend Transmission Time handelt es sich also um eine verordnete Sendepause von 8 Bits.

Zuletzt geändert: Dienstag, 3. Juli 2018, 14:08