Hallo, in meinem Programm sollen alle 200 ms etwa 600 Byte auf das STI100 Interface geschrieben werden. Könnte mir jemand sagen, wie man die ungefähre Schreib- bzw Sendedauer über UART bei 38400 baud ausrechnen kann? Danke!
@ krach (Gast) >Könnte mir jemand sagen, wie man die ungefähre Schreib- bzw Sendedauer >über UART bei 38400 baud ausrechnen kann? Ja, der Herr Adam Ries mit seinen Grundrechenarten, siehe RS232. MFg Falk
38400 Baud = 38400 bps (bits per second) Bei 8N1 benoetigt jedes Byte 10 Bits (Startbit + Datenbits + Stopbit). Es koennen also maximal 3840 Bytes pro Sekunde uebertragen werden. 600 Bytes benoetigen demnach gut 156 ms. Volker
Vielen Dank Volker, ich habe es mal auf 115200 baud gesetzt.
@ Volker Das was du schreibst stimmt nur wenn ein Zeichen genau ein Bit entspricht. Ein Zeichen entspricht normalerweise 10 bis 11 Bit, bei 8N1 sind es 10 Bit und damit sind 38400 Baud = 384000 bit/Sekunde. @ krach (Gast) Du möchtest 600 Byte übertragen und hast nur 200ms dafür Zeit. 600Byte * 5 = 3000 Baud sind dafür notwendig. Du kannst deine Sendegeschwindigkeit also auf 4800 Baud stellen.
>Ein Zeichen entspricht normalerweise 10 bis 11 Bit, bei 8N1 sind es 10 >Bit und damit sind 38400 Baud = 384000 bit/Sekunde. Hallo das ist genau falsch. Was Volker geschrieben hat ist richtig. Mit Baud wird die Symbolrate angegeben und die ist bei UART 1 Bit.
Die Praxis spricht auch für Volker, denn es klappt nun ;)
Ich schrieb:
> Mit Baud wird die Symbolrate angegeben und die ist bei UART 1 Bit.
Na dann gehen wir das mal durch, ein Zeichen besteht aus dem Start, Stop
und 8 Datenbits, kein Paritätsbit.
Das sind zusammen 10 Bit pro Zeichen.
@ krach (Gast)
Wenn es nicht mit 4800 Baud geht ist irgend etwas nicht in Ordnung.
Es sollte so laufen.
> Na dann gehen wir das mal durch, ein Zeichen besteht aus dem Start, Stop > und 8 Datenbits, kein Paritätsbit. > > Das sind zusammen 10 Bit pro Zeichen. Zweifellos. Deshalb ist in diesem Fall die Zeichenrate ein Zehntel der Baudrate. Letztere bezeichnet nämlich die Breite eines Schritts (Bitrate, die bei dieser Schnittstelle gleich der Symbolrate ist). Also sind 38400 Baud 3840 Zeichen/s.
Ein Zeichen bei UART hat 1Bit. Es kann nur zwei verschiedene Pegel einnehmen also beim RS232 minimal -3V und 3V. Also Entsprechen 9600Baud = 9600 Bit/s nun kann man nicht alle bit nutzen weil man auch Anfang und Ende der Übertragung erkennen muss gehen davon halt noch ein paar verloren. siehe auch: http://de.wikipedia.org/wiki/Baud
Okay, jetzt bin ich restlos verwirrt ... ich guck morgen Abend noch mal rein und es wär schön wenn da einer mal alles klar stellt. (mit Beweis) (Im Internet finde ich auch mehrer ... Meinungen dazu)
Ich bin etwas entsetzt - aber vielleicht liegt es daran, daß ich noch die Zeit, in der Daten über Modem übertragen wurden, aktiv miterlebt habe. 9600 Baud = 9600 bit/s (Brutto) = 7680 bit/s (Netto bei 8N1) = 960 Byte/s Wenn Du Deine 600 Bytes in 200ms übertragen möchtest, dann sind das also 3000 Bytes in 1s -> Mindestrate also 30000 Baud - nächsthöhere: 38400 Bd Was Volker anfänglich schrieb stimmt. Auch die 156ms kann ich bestätigen. (156,25ms um genau zu sein) Gruß Jobst
Jobst M. schrieb: > Ich bin etwas entsetzt - aber vielleicht liegt es daran, daß ich noch > die Zeit, in der Daten über Modem übertragen wurden, aktiv miterlebt > habe. Ich haette auch nicht gedacht, dass es bei einem solchen Thread tatsaechlich noch zur Diskussion kommen kann. Aber die Verwirrung zwischen Baud und bps habe ich auch schon zu Zeiten der Akkustikkoppler erlebt. ;) > 9600 Baud = 9600 bit/s (Brutto) = 7680 bit/s (Netto bei 8N1) = 960 > Byte/s > > Wenn Du Deine 600 Bytes in 200ms übertragen möchtest, dann sind das also > 3000 Bytes in 1s -> Mindestrate also 30000 Baud - nächsthöhere: 38400 Bd > > Was Volker anfänglich schrieb stimmt. Auch die 156ms kann ich > bestätigen. (156,25ms um genau zu sein) Genau so isses. Bei EIA-232 entspricht ein Symbol einem Bit, somit ist Baudrate = Bitrate. Wikipedia meint: > Die (zeitliche) Dauer der jeweiligen Bits hängt von der eingestellten > Bitrate ab, welche bei der EIA-232 gleich der Baudrate ist. http://de.wikipedia.org/wiki/EIA-232#Datenrahmen_und_Timing Volker
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.