UART: Was ist "Break Field" ?

OP #3676860
Lesenswert?
• ▲
▼
Hallo Zusammen,

eigentlich ist meine Frage ganz einfach bzw. zumindest hoffe ich das. 
Ich arbeite nun das erste mal mit UART und in dem Manual des 
Controllers, den ich verwende, ist immer wieder die Rede von "BF - Break 
Field".
Wenn ich "UART Break Field" google, bekomme ich zwar einige Treffer, 
kann es mir dennoch nicht ekrlären, was genau das sein soll. Weiß einer 
von euch vielleicht mehr und könnte es kurz erklären?

Vielen Dank für eure Hilfe!
#3676878
Lesenswert?
• ▲
▼
Wenn du uns jetzt noch verraten würdest, welcher Controller das ist, 
könnte man sich die Sache im Datenblatt auch mal im Zusammenhang 
ansehen.

Ich rate mal ins Blaue, dass mit einem "Break" gemeint ist, dass die 
UART Einstellung nicht stimmt, und an der Stelle, an der eigentlich das 
Stop-Bit sitzen sollte, ein Datenbit vorgefunden wurde. Mit anderen 
Worten: Irgendwas stimmt nicht - die Übertragung kann nicht korrekt 
sein.
Gast #3676919
Lesenswert?
• ▲
▼
Normalerweise bezeichnet man als Break einen dauerhaften Low-Pegel auf 
der UART-Leitung. Meistens wird Break erkannt, wenn die Leitung auf Low 
geht und dann für alle Bits + Stopbit(s) auf Null bleibt. Das heisst 
aber auch: die Länge des Null-Pegels, der als Break erkannt wird, hängt 
von der vereinbarten Baudrate ab.

Break wird z.B. verwendet beim DMX-Protokoll.

Viele MCs haben keine dezidierte Möglichkeit, Break zu erkennen. Oft 
wird deshalb ein empfangenes Null-Byte, in dem ein Frame-Error (== 
Stopbit ist auch Null) auftaucht, als Erkennung eines Break-Zustands 
verwendet.

Gruß Stefan
Gast #3677577
Lesenswert?
• ▲
▼
Vermutlich handelt es sich um den LIN-Modus, auf den auch der Link vom 
VP 'buhu' verweist. Wenn der UART das kann, muß er auch speziell in 
diesen Modus geschaltet werden. Das Break Field ist dabei zwischen 11 
und 13 Bits lang, was den empfangenden UART (am anderen Ende) dazu 
veranlasst, zuerst einen falsch formatierten Rahmen und im zweiten 
Schritt tatsächlich ein Break-Signal erkennen zu können (wie 'Stefan' 
schon schrieb). Das ist die Synchronisation im LIN-Protokoll. Danach 
kann die Kommunikation starten.
Siehe hierzu:
https://en.wikipedia.org/wiki/Local_Interconnect_Network#Header
Der LIN-Modus des STM32 funktioniert auf diese Weise.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 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.