RS323- Verbindung

OP (Firma: Hochschule MUC) #5050018
Servus,
habe hier eine RS232-Verbindung und will damit einen Wert mit 16 Bit 
Länge verschicken.
Dazu habe ich eine Übertragungsgeschwindigkeit von 19200 Baud gewählt.
Ich bin mir jetzt aber nicht sicher, wie ich auf die richtige Dauer der 
Übertragung komme.

Kann mir wer bitte helfen?

MfG
Gast #5050023
Nores M. schrieb:
> Wert mit 16 Bit
> Länge verschicken

Den musst Du wohl oder übel in 2 Bytes à 8 Bit übertragen. Die 
Uebertragung dauert dann 2 RS232 Sequenzen lang (noch je nach Anzahl 
Stoppbits).

Geht's Dir um die Zerlegung des Werts in 2 Bytes? Also Softwareseitig?

Gruss Chregu
#5050026
16 Bit wirst du als 2 Bytes mit je 1 Startbit, 8 Datenbits und 1 Stopbit 
verschicken. Feiglinge nehmen 2 Stopbits. Es sind also 20 (22) Bits zu 
senden. bei 19200 Bits pro Sekunde dauert die Übertragung minimal etwas 
über 1ms.
#5050030
Georg G. schrieb:
> 16 Bit wirst du als 2 Bytes mit je 1 Startbit, 8 Datenbits und 1
> Stopbit
> verschicken. Feiglinge nehmen 2 Stopbits. Es sind also 20 (22) Bits zu
> senden. bei 19200 Bits pro Sekunde dauert die Übertragung minimal etwas
> über 1ms.

Meinst du 8 Bits die gelesen bzw. geschrieben werden + Acknowledge und 8 
Bits Daten + Acknowledge?
Mit Start und Stopbit sind das dann die von dir gewählten 20?

Gruß Berni
OP (Firma: Hochschule MUC) #5050037
Georg G. schrieb:
> bei 19200 Bits pro Sekunde

Reden Sie über die Bitrate?
Mir ginge es um die Baudrate aber ich kann mit der Einheit Symbole pro 
Sekunde nicht viel anfangen.

Christian M. schrieb:
> Geht's Dir um die Zerlegung des Werts in 2 Bytes? Also Softwareseitig?
Richtig aber es geht hier nur um die Übertragungsdauer, die ich gerne 
wissen würde.
Gast #5050050
Nores M. schrieb:
> Richtig aber es geht hier nur um die Übertragungsdauer, die ich gerne
> wissen würde.

Oh nein, es geht bei dir vor allem um das prinzipielle Verständnis, was 
mir zu fehlen scheint.

Also: per RS232 kannst du keine 16 Bit Zahlen übertragen. Punkt. Das muß 
erstmal begriffen werden.

Du kannst hingegen Zeichen übertragen, ein jedes maximal 8 Bit lang 
(jedenfalls bei normalen Übertragungsarten). Üblich sind 5..8 Bit.

Also mußt du dir Gedanken machen, wie du deine 16 Bit sinnvoll derart 
zerlegst, daß du auf der Empfangsseite erkennen kannst, wo das jeweilige 
erste Stück im Empfangsstrom sich befindet. Kurzum, eben die 
Synchronisation.

Dann bedenke, daß zu deinen Nutz-Bits eben noch mindestens 1 Startbit 
und 1 Stopbit hinzukommt. Besser sind jedoch 1 1/2 oder 2 Stopbits, wenn 
man lückenlos zu senden einplant. Sonst kann es nämlich gegegentlich zum 
Verheddern kommen.

Möglicherweise willst du deine Übertragung per Paritätsbit etwas 
sicherer machen, dann kommt eben noch ein Bit zu jedem gesendeten 
Zeichen hinzu.

So, jetzt hast du alle Bestimmungsstücke, die du zu deiner Berechnung 
benötigst.

W.S.
OP (Firma: Hochschule MUC) #5050087
Vielen Dank !

Also was ich verstanden habe :
16 Bits sind 2 Bytes das heißt, ich muss 20 Symbole(2 Startbits + 2 
Stopbits + 16 Bit)  mit 19200 Baud schicken
um die minimale Dauer des Übertragungs gilt die folgende Formel :
1 Baud = Bits/s

Die Dauer = Bitsumme/ Baud = 20/19200 = 1ms.
#5050117
Nores M. schrieb:
> Die Dauer = Bitsumme/ Baud = 20/19200 = 1ms.

Ja, aber Du solltest dabei wissen:
Das ist ohne jegliche Datensicherung und Synchronisierung.

Datensicherung: z.B. Parity, Cheksum, Quittung
Synchronisierung: wenn die Daten lückenlos übertragen werden kann der 
Empfänger im Datenstrom nicht erkennen, was das erste und was das zweite 
Byte ist.

D.h. je nach Anforderungen dauert die Übertragung erheblich länger.
Gast #5050126
Nores M. schrieb:
> Dazu habe ich eine Übertragungsgeschwindigkeit von 19200 Baud gewählt.
> Ich bin mir jetzt aber nicht sicher, wie ich auf die richtige Dauer der
> Übertragung komme.

Rechne einfachheitshalber damit, dass du insgesamt 3 Bytes übertragen 
musst. Pro Byte kommen noch ein Start- und mindestens ein Stopbit dazu, 
so dass die Übertragung insgesamt mindestens 30 Bitzeiten oder 1.563ms 
dauert. Falls du ununterbrochen senden möchtest - s.o. Thema 
Resynchronisation bei Fehlern.

Antwort schreiben

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