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!
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.
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
>Viele MCs haben keine dezidierte Möglichkeit, Break zu erkennen. Meist bei Älteren. Neuere (ua PICs, STM8) haben meist dieses LIN-Feature drin.
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.