Hallo, weiß jemand ob es einen eindeutig definierten Mindestabstand zwischen zwei UART-Frames gibt? Darf nach dem Stoppbit des einen UART-Frames direkt das Startbit des nächsten Frames gesendet werden? Vielen Dank schon mal für eure Hilfe Grüße Max
Das Stopbit ist der definierte Abstand. Mehr als eine Wartezeit ist das Stopbit ja nicht.
Also darf das Startbit direkt nach dem Stoppbit gesendet werden?
Student schrieb: > Also darf das Startbit direkt nach dem Stoppbit gesendet werden? http://www.rn-wissen.de/index.php/UART Da steht: [...]und 1-2 Stopbits übertragen. Das 2. Stopbit ist je nach Ausführung der UART nötig, wenn der Sender etwas schneller ist als der Empfänger. Teste es einmal mit einem, wenns nicht klappt, dann mit zwei. Für die von mir aufgebauten Atmel<->PC und PIC<->PC -Verbindungen reichte immer eins.
Student schrieb: > Also darf das Startbit direkt nach dem Stoppbit gesendet werden? Ja, das ist so üblich. Wenn allerdings aus mehreren Zeichen ein "Telegramm" gebildet wird, kann es je nach Protokoll nötig sein, dass zwischen 2 Telegrammen eine größere Pause erforderlich ist (Synchronisierung auf Telegrammbeginn bei Übertragungsfehlern). Gruß Dietrich
> weiß jemand ob es einen eindeutig definierten Mindestabstand zwischen zwei
UART-Frames gibt?
Kann es sein, dass hinter deiner Frage mehr steckt, als du uns verraten
willst?
Denn es gibt da noch eine 2-te zu berücksichtigende Komponente. Das
Stoppbit ist die eine Sache und ist so gesehen eigentlich nur eine
vorgeschriebene kurze Verzögerung nach dem letzten Datenbit, damit der
Empfänger etwas Zeit hat, das zuletzt empfangene Byte erst mal aus dem
Weg zu schaufeln.
Was damit allerdings nicht ausgesagt ist, ist die Fragestellung: was
macht dann der Empfänger in weiterer Folge mit diesem Byte? Das wird ja
im Normalfall in irgendeiner Form ausgewertet. Und wenn diese Auswertung
schon mal länger dauert, dann reicht eben ein Stoppbit alleine unter
Umständen nicht aus, um dem Empfänger 'die Luft zu geben' die er braucht
um seinen Teil komplett abzuarbeiten.
Karl Heinz schrieb: >> weiß jemand ob es einen eindeutig definierten Mindestabstand zwischen zwei >> UART-Frames gibt? > Denn es gibt da noch eine 2-te zu berücksichtigende Komponente. Das > Stoppbit ist die eine Sache und ist so gesehen eigentlich nur eine > vorgeschriebene kurze Verzögerung nach dem letzten Datenbit, damit der > Empfänger etwas Zeit hat, das zuletzt empfangene Byte erst mal aus dem > Weg zu schaufeln. Nee, da verlängert man nicht das stopbit sondern pappt wie beim 16550 eine FIFO an den UART. MfG
Hallo, also ich sehe das so: das Stop-Bit garantiert, daß am Beginn des Startbits eine Flanke erzeugt wird. Das Thema Verarbeitungszeit eines Frames ist beim Design dieser Schnittstelle sicher keines gewesen, denn da handelte es sich um den Impuls für den Anschlag eines Fernschreibers. Wenn Verarbeitungszeit einzuplanen ist, dann muß das im Übertragungsprotokoll festgelegt werden (siehe z.B. MODBUS). Schließlch ist ein Stopbit je nach Baudrate ja ein recht unterschiedlicher Zeitraum. Gruß, Michael
Michael Appelt schrieb: > Hallo, > > also ich sehe das so: das Stop-Bit garantiert, daß am Beginn des > Startbits eine Flanke erzeugt wird. Dann müsste man es aber nicht in unterschiedlichen Längen anbieten.
> Dann müsste man es aber nicht in unterschiedlichen Längen anbieten.
Hallo,
Mal in historischer Reihenfolge:
1,5 Stopbits stammen von den Fernschreibern mit current loop
Schnittstelle
2 Stopbits waren INHO notwendig für asynchrone Übertragungen per Modem
1 Stopbit ist ausreichend für RS232 mit moderner Hardware
Im 2. Fall hatte man pro Bit immer 1 oder 2 Signalwechsel (NRZ & Co),
bei den 2 Stopbits blieb der Wechsel dann aus. Nur so konnte man beim
letzten Zeichen per Timeout das Ende erkennen, denn eine
Sop-Start-Flanke nach dem letzten Zeichen gibt es nicht.
Gruß,
Michael
:
Bearbeitet durch User
Karl Heinz schrieb: >> also ich sehe das so: das Stop-Bit garantiert, daß am Beginn des >> Startbits eine Flanke erzeugt wird. > > Dann müsste man es aber nicht in unterschiedlichen Längen anbieten. Ausgleich von Drehzahltoleranzen. Indem man das Stopbit etwas länger macht, ist sichergestellt, dass die Abtastwelle eben auf jeden Fall erstmal angehalten wird, bevor das nächste Startbit sie neu startet. Wäre sicher selbst damals nicht unbedingt nötig gewesen, hat man einfach nur mal so festgelegt gehabt. Damals war's ja auch noch ein 5-bit-Code, also mit Start- und Stopbit dann 7,5 bit brutto. ;-)
> 2 Stopbits waren INHO notwendig für asynchrone Übertragungen per Modem
Ganz sicher nicht. Ich habe noch nie 2 Stopbits benutzen müssen. Weder
beim 300 Baud modem, noch bein 57k Modem.
Jörg Wunsch schrieb: > Ausgleich von Drehzahltoleranzen. "Hä?!?" wird sich jetzt mancher der Youngsters fragen! :-) Aber es ist doch schön, dass das Wissen über die Herkunft solcher Dinge noch nicht verloren ist.
Was ich an der Frage nicht ganz verstehe: Geht es hier um Soft-UART? Weil ansonsten prüfe ich ob der Sendepuffer frei ist und wenn ja packe ich das zu sendende Byte rein, bzw. besser habe einen Ringpuffer und schieb das nächste Byte rein, wenn die UART mir via Interrupt signalisiert daß das letzte Byte gesendet wurde. Sprich sobald ich ein UART Modul in meinem µC habe dann lasse ich den das machen.
Udo Schmitt schrieb: > Weil ansonsten prüfe ich ob der Sendepuffer frei ist und wenn ja packe > ich das zu sendende Byte rein, ...womit Du die Wartezeit "Null" gewählt hättest. Die in der Theorie auch reicht.
Konrad S. schrieb: > Jörg Wunsch schrieb: >> Ausgleich von Drehzahltoleranzen. > > "Hä?!?" wird sich jetzt mancher der Youngsters fragen! :-) > Aber es ist doch schön, dass das Wissen über die Herkunft solcher Dinge > noch nicht verloren ist. Ich fragte mich wie sowas ausgehen hat, dachte da zuerst an eine Dampfmaschine wenn ich Fliehkraftregler lese: Ziemlich unten im Text: http://www.radiomuseum.org/forum/grossgraf_telegraphen_apparat_typendruck.html?language_id=1 Die Scheiben sind auch geil, das ganze Trum aus Gusseisen, fehlt nur noch ein Esel vor der Türe der im Kreis läuft und das Ganze über ein Getriebe und Gestäng antreibt, wie bei historischen Mühlen oder Pumpen. ;)
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.