115200Baud, wieviele Zeichen pro sekunde?

Gast #1749291
Hallo zusammen,
ich wollte mal nachfragen, wie das mit der RS232 ist. Wenn mein System 
mit 115200Baud läuft, bedeutet das, dass ich bei 8 datenbits und einem 
stopbit die baudrate durch 9 teilen muss, um auf die gesendeten zeichen 
zu kommen?
Danke und Gruß
Kleini
ALso das mit den 11520 Zeichen pro Sekunde ist immer noch sehr 
theoretisch mit einem PC, denn dazu muessten die Zeichen sofort 
nacheinander gesendet werden, was bei einem Betriebssystem wie Windows 
oder auch Linux schon mal sehr unwahrscheinlich ist. Da sind schon mal 
ein paar millisekunden verbraten bis das OS wieder mitspielt. Kannst 
also davon ausgehen, es wird auf keinen Fall schneller als 11520 Zeichen 
/ sekunde sein.

Robert
> es wird auf keinen Fall schneller als 11520 Zeichen / sekunde sein.

ganz sicher nicht, da in den allermeisten Fällen halt 11 bit, und nicht 
10 bit übertragen werden.

Es würden also theoretisch maximal 11470 Byte werden. Geh mal 
praktischerweise von max. 80% aus, dann bist du bei ca. 8 KByte/Sekunde
Persönliche Seite
Robert Teufel schrieb:
> ALso das mit den 11520 Zeichen pro Sekunde ist immer noch sehr
> theoretisch mit einem PC, denn dazu muessten die Zeichen sofort
> nacheinander gesendet werden, was bei einem Betriebssystem wie Windows
> oder auch Linux schon mal sehr unwahrscheinlich ist. Da sind schon mal
> ein paar millisekunden verbraten bis das OS wieder mitspielt.

Seit bald 20 Jahren verwenden die UARTs in PCs sowohl Sende- als auch 
Empfangs-FIFOs, die solche "Lücken" ausgleichen können.
Das reduziert auch die Interruptlast, weil ein Interrupt nur erzeugt 
wird, wenn der Füllstand des Sende-FIFOs beinahe leer ist (bzw. wenn das 
Empfangs-FIFO beinahe voll ist oder noch nicht abgeholte Daten längere 
Zeit darin liegen).
Diese FIFOs sind beim "Klassiker" der PC-UART 16550 je 16 Bytes groß, 
neuere UARTs, die auch höhere Baudraten als 115200 unterstützen (und 
entweder als USB-Seriell-Bridge oder auf PCI/PCIe-Karten zu finden 
sind), können auch 128 Byte oder mehr zwischenspeichern.

Der Treiber des Betriebssystemes schreibt soviele Daten auf einem Rutsch 
in das Sende-FIFO, wie hineinpassen bzw. liest soviele Daten auf einem 
Rutsch, wie im Empfangs-FIFO vorhanden sind.

Damit ist es auch Betriebssystemen wie Windows schon seit langem 
möglich, auch über längere Zeit einen kontinuierlichen Datenstrom mit 
maximaler Übertragungsrate zu senden und zu empfangen.

UARTs mit FIFO eignen sich nur schlecht für Übertragungsprotokolle mit 
byteweisem Handshake oder "Ping-Pong"-Betrieb, hier stören sie eher, als 
daß sie von Nutzen sind. In solchen Fällen ist es ratsam, die FIFOs zu 
deaktivieren.

Wegstaben Verbuchsler schrieb:
>> es wird auf keinen Fall schneller als 11520 Zeichen / sekunde sein.
>
> ganz sicher nicht, da in den allermeisten Fällen halt 11 bit, und nicht
> 10 bit übertragen werden.

Das variiert je nach Umfeld - für die Ansteuerung von Modems, Terminals 
oder Druckern ist 8n1 ziemlich verbreitet. 8e1/8o1 oder gar zwei 
Stopbits sind in diesen Fällen bereits exotisch.
Gast
Vielen Dank für die Antworten.

Wenn ich also mit 8n1 übertrage, dann übertrage ich 1 Startbit, 8 
datenbits und 1Stopbit. Wären 10 bits pro zeichen?
oder wird das Paritybit auch immer mit übertragen, egal ob 0 oder 1, 
also 11 bit Übertragung bei 8n1?

Danke nochmal an alle
Gruß Kleini
Korrekt, bei 8N1 sind es pro Byte 10-Bits die schlussendlich übertragen 
werden.
Jeder halbwegs vernünftige, moderne Mikrocontroller ist ebenfalls wie 
der PC in der Lage, ohne zusätzliche Pausen zwischen den Bytes zu 
senden. Auch hier kommt eine Art Buffer zum Einsatz, welcher allerdings 
meist nur ein Byte gross ist. Reicht aber mit Verwendung von Interrupts 
(oder DMA) und gescheiter Implementation der IRQ-Routine völlig aus.

Antwort schreiben

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