mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 115200Baud, wieviele Zeichen pro sekunde?


Autor: Kleini (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: codehamster (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau!

Autor: User (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Startbit vergessen

Autor: Mho (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Startbit | 8 Bit Daten | Parity ? | Stopbit

Das sind 11 Bit, ohne Parity 10 Bit.

Autor: Robert Teufel (robertteufel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Kleini (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Johnny B. (johnnyb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kleini schrieb:
> oder wird das Paritybit auch immer mit übertragen, egal ob 0 oder 1,
> also 11 bit Übertragung bei 8n1?

Das 'n' steht für no parity, also kein Paritätsbit. Damit sind es 10 
Bit pro übertragenes Byte.

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja, da konnte ich wohl nicht bis 10 zählen (1 Start + 8 data + 0 Parity 
+ 1 stop)

Autor: MCUA (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>ich wollte mal nachfragen, wie das mit der RS232 ....
(RS232 hat nichts mit UART oder Protokoll zu tun)

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MCUA schrieb:
>>ich wollte mal nachfragen, wie das mit der RS232 ....
> (RS232 hat nichts mit UART oder Protokoll zu tun)

Dass die beiden Sachen nix miteinander zu tun haben, alte ich hingegen 
aber auch für übertrieben.

Eine UART lässt sich eben über RS232 (EIA-232) realisieren. Also hat es 
schon was miteinander zu tun.

Autor: GKor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MCUA schrieb:
> (RS232 hat nichts mit UART oder Protokoll zu tun)

Das ist ungefähr so als würdest du sagen: "Reifen haben nichts mit 
Rädern zu tun"

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.