UART - Mindestabstand zwischen 2 Frames

#3440700
Lesenswert?

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.
#3440715
Lesenswert?

> 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.
Gast #3440739
Lesenswert?

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
#3440776
Lesenswert?

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
#3440858
Lesenswert?

> 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
Moderator Persönliche Seite #3440889
Lesenswert?

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. ;-)
#3440949
Lesenswert?

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.
Gast #3441196
Lesenswert?

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. 
;)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren