Bit-Stuffing CAN

Gast #206781
Hallo!!

Ich sitz grad vor meinen Unterlagen und häng an nem kleinen
Problemchen. Da steht drin, dass das EOF Field aus 7 rezessiven Bits
besteht, und somit bewusst gegen die Bitstuffing-Regel verstoßen wird.
Warum wird bewusst dagegen verstoßen?

Fügt dann der Sender nach dem 5ten high ne 0 ein, oder wird das dann
beim EOF nicht gemacht?
Oder andersrum gefragt, prüft der Empfänger die komplette Nachricht
nach Bitstuffing-Fehlern oder wird nur ein bestimmter Bereich geprüft?

Wäre über jede Hilfe dankbar, übermorgen is Prüfung :-(
Gast #206783
CAN kann icht nicht, bitstuffing ist mir aber von HDLC ein Begriff.

Da war die Definition so: Nach 5 Einsen kommt zwangsläufig eine Null,
die beim Empfänger ignoriert wird. Damit bei NRZ wird sichergestellt,
daß eine bestimmte "Mindestfrequenz" erreicht wird.

Die "Flags", die am Anfang und Ende eines Paketes gesendet wurden,
hatten 7 Einsen und waren damit eindeutig zu identifizieren.

Ich vermute, daß jeder Fehler im bitstuffing zu ungültigen Daten führen
dürfte, spätestens wenn der CRC-Check zuschlägt.

> übermorgen is Prüfung :-(
<Elternmodus>Und seit wann weißt Du das?</Elternmodus>

Viel Erfolg,
Falk
Gast #206784
"Da steht drin, dass das EOF Field aus 7 rezessiven Bits
besteht, und somit bewusst gegen die Bitstuffing-Regel verstoßen wird.
Warum wird bewusst dagegen verstoßen?"

Ganz einfach, um es von Daten unterscheiden zu können.


Peter
Gast #206785
...
wenn ich es recht verstanden habe, dann sammelt der Controller die
Stuffing Bits wieder raus, so dass am Ende wieder die gemeinen Daten
rauskommen.
Gast #206786
>Da steht drin, dass das EOF Field aus 7 rezessiven Bits
>besteht, und somit bewusst gegen die Bitstuffing-Regel verstoßen
wird.
>Warum wird bewusst dagegen verstoßen?

Beim CAN will man einen Übertragungsfehler noch vor Abschluss der
betroffenen Nachricht an alle Teilnehmer melden. Wenn ein Teilnehmer
den DLC falsch liest (z.B.: 8 statt 4 Datenbyte) -> kommt er beim EOF
(da ja das Bit-Stuffing verletzt ist) drauf das der Rahmen schon zu
Ende ist und wird einen Fehler signalisieren...

>Fügt dann der Sender nach dem 5ten high ne 0 ein, oder wird das dann
>beim EOF nicht gemacht?
>Oder andersrum gefragt, prüft der Empfänger die komplette Nachricht
>nach Bitstuffing-Fehlern oder wird nur ein bestimmter Bereich
>geprüft?
Beim EOF wird bewußt das Bitstuffing verletzt um obigen Fehler zu
erkennen!
Gast #206787
Danke euch schonmal.

Hmmm..naja gut ok. Aber wird dann bei der Übertragung das Stuff-Bit im
EOF rein gemacht oder nicht? Dass die Stuff-Bits beim Empfang wieder
raus gemacht werden is klar. Könnte man das auch so begründen, dass
somit gewährleistet ist, dass mindestens einmal pro Nachricht das
Stuff-Bit zur Synchronisation vorhanden ist?
Gast #206788
"
Beim CAN will man einen Übertragungsfehler noch vor Abschluss der
betroffenen Nachricht an alle Teilnehmer melden. Wenn ein Teilnehmer
den DLC falsch liest (z.B.: 8 statt 4 Datenbyte) -> kommt er beim EOF
(da ja das Bit-Stuffing verletzt ist) drauf das der Rahmen schon zu
Ende ist und wird einen Fehler signalisieren...
"

Aber das widerum würde bedeuten, dass im EOF kein Stuff-Bit eingefügt
würde. Also gilt die Bit-Stuffing-Regel nicht für die ganze Nachricht,
sondern nur für nen bestimmten Teil?
Ok, das macht Sinn, aber dann muss der Empfänger eben auch das EOF
erkennen weil er sonst nen Bitstuffing Fehler meldet wenn 7  gleiche
Bits am tück kommen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.