mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik UART Schreiben auf USB Geschwindigkeit


Autor: krach (Gast)
Datum:

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

Autor: Falk Brunner (falk)
Datum:

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

Autor: Volker Schulz (volkerschulz)
Datum:

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

Autor: krach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank Volker,

ich habe es mal auf 115200 baud gesetzt.

Autor: Mike J. (emjey)
Datum:

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

Autor: Ich (Gast)
Datum:

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

Autor: krach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Praxis spricht auch für Volker, denn es klappt nun ;)

Autor: Mike J. (emjey)
Datum:

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

Autor: Hc Zimmerer (mizch)
Datum:

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

Autor: Ich (Gast)
Datum:

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

Autor: Mike J. (emjey)
Datum:

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

Autor: Jobst M. (jobstens-de)
Datum:

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

Autor: Volker Schulz (volkerschulz)
Datum:

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

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.