Fünf Fehlererkennungs­mechanismen

Zur Erkennung verfälschter Botschaften definiert das CAN-Protokoll fünf Maßnahmen: Bitmonitoring, Überwachung des Botschaftsformats (Form-Check), Überwachung der Bitcodierung (Stuff-Check), Auswertung des Acknowledgements (ACK-Check) und Auswertung der Prüfsumme (Cyclic Redundancy Check).

Aufgaben für Sender und Empfänger

Die Fehlererkennungsmechanismen Bitmonitoring und ACK Check werden vom Sender einer CAN-Botschaft wahrgenommen. Unabhängig von der Akzeptanzfilterung kümmern sich die Empfänger um Form Check, Stuff Check und Cyclic Redundancy Check. Die Grafik „Fehlererkennung“ zeigt Ihnen, welche Felder eines Data oder Remote Frames von den einzelnen Fehlererkennungsmechanismen betroffen sind.

Stuff Check,
Empfänger

Der Stuff Check dient der Überprüfung des Bitstroms. Das CAN-Protokoll schreibt dem Sender aus Gründen der Synchronisation vor, nach fünf homogenen Bits ein komplementäres Bit zu übertragen. Ein Stuffingfehler liegt dann vor, wenn ein Empfänger nach fünf homogenen Bits ein weiteres Bit derselben Polarität entdeckt.

Bitmonitoring,
Sender

Im Rahmen des Bitmonitorings vergleicht der Sender jeden gesendeten Bitpegel mit dem tatsächlichen Buspegel. Ein Bitfehler liegt vor, wenn der Sender eine Diskrepanz zwischen beiden Pegeln entdeckt. Das Bitmonitoring sorgt dafür, dass alle globalen Fehler und alle lokal beim Sender auftretenden Fehler entdeckt werden.

Form Check,
Empfänger

Der Form Check dient der Überprüfung des Formats einer CAN-Botschaft. Jede CAN-Botschaft weist an bestimmten Stellen immer dieselben Bitsequenzen auf. Dabei handelt es sich um den CRC-Delimiter, den ACK-Delimiter und um das EOF. Diese Botschaftskomponenten werden vom Sender stets rezessiv übertragen. Ein Formatfehler liegt dann vor, wenn ein Empfänger mittels Form-Check einen dominanten Buspegel innerhalb einer dieser Botschaftskomponenten entdeckt.

Cyclic Redundancy Check (CRC),
Empfänger

Beim Cyclic Redundancy Check (CRC) geht man davon aus, dass das dem ankommenden Data oder Remote Frame entsprechende Polynom R(x) einem Vielfachen des durch die ISO 11898-1 spezifizierten Generatorpolynoms G(x) entspricht. Wenn dies nicht der Fall ist (CRC-Fehler), dann wurde das Data oder Remote Frame während der Übertragung vom Sender zum Empfänger verfälscht.

ACK Check,
Sender

Der im CAN-Protokoll definierte Bestätigungsmechanismus (Acknowledgement) sieht vor, dass alle Empfänger jede ankommende CAN-Botschaft im Anschluss an den Cyclic Redundancy Check bestätigen müssen. Eine einzige positive Bestätigung reicht aus, um dem Sender zu signalisieren, dass mindestens ein Empfänger die von ihm übertragende CAN-Botschaft korrekt empfangen hat. Wenn keine einzige positive Bestätigung beim Sender eintrifft, dann liegt ein Bestätigungsfehler (ACK-Fehler) vor.

Zuletzt geändert: Mittwoch, 22. September 2021, 11:12