www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik RS-232: Wie groß darf der Fehler im Bit Timing sein?


Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin Moin,

kennt jemand ein Dokument, aus dem hervorgeht wie groß
die Abweichung beim Bit Timing einer RS-232 Kommunikation sein
darf, ohne das es zu Übertragungsfehlern kommt?

Ich habe im großen Internet Angaben gefunden, das es bis 5%
funktionieren soll. Und das man bis 1% keine Übertragungsfehler
findet.
Aber es sind alles Angaben ohne Nachvollziehbarkeit der 
Informations-quelle.
Leider habe ich bis jetzt im Internet keine Spezifikation für RS-232 
gefunden, in der speziell auf das Bit Timing eingegangen wird.

Ich muß das Bit Timing selber generieren, da ich auf grund der Hardware 
nicht auf eine richtige RS-232 Schnistelle zu greifen kann.

Vielen Dank,
ein Gast

Autor: Jupp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das läßt sich pauschal nicht beantworten. Hängt von der Implementierung 
der Empfängerseite ab.

Was ist denn Dein Problem? An sich spricht nichts dagegen das "Timing 
selbst zu erzeugen". Und das kriegt man in der Regel auch genau hin, 
wenn die Taktfrequenz an sich das zuläßt. Timer benutzen! Befehlszyklen 
auzählen!

Hier gibt es auch Beispiele für eine SW UART mit dem AVR.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In einem Dokument von Motorola wurde so gerechnet, daß maximal 3% 
Abweichung sein dürfen. Bei Übertragung von max. 11 Bit (Start, 8xDaten, 
Parität und Stopp) ergibt sich ein maximaler Versatz von 33% über ein 
Datum. Bei Abtastung in der Mitte jedes Bits wären <50% zulässig. Da 
aber meist Mehrfachabtastung in der Mitte angewendet wird und auch 
Anstiegszeiten der RS232-Signale zu addieren sind, bleibt man mit 3% auf 
der sicheren Seite.

Erfahrungsgemäß sind die AVR nicht so tolerant mit dem Timining. Das 
habe ich nie näher untersucht, empfehle aber eine Toleranz von max. 1%, 
was mit Quarzen oder keram. Resonatoren nie ein Problem sein sollte.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Erfahrungsgemäß sind die AVR nicht so tolerant mit dem Timining.

Schwachsinn.

>Das habe ich nie näher untersucht...

Aaaha!

3% Fehler wird von AVRs sehr wohl toleriert.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Schwachsinn.

Du mich auch!

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weißt Du wie das Dokument von Motorola heißt?

Mit der Implementierung habe ich kein Problem, es läuft alles.

Ich bin nur auf der Suche nach einem Dokument, welches ich als Refrenz
angeben kann, um meine Annahmen/Rechnung zu untermauern. Und ein
offzielles Dokument macht sich da immer Besser als ein Link ins
Internet ;-)

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Weißt Du wie das Dokument von Motorola heißt?

Es war eine App.note zum MC68901 oder MC6850.
Internet gab es damals noch nicht.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das läßt sich doch ganz einfach ausrechen:

Nehmen wir z.B. das Datenblatt des ATMega8.
Jedes Bit besteht aus 16 Takten, d.h. Start + 8Bit + Stop = 160 Takte.

Die Bits werden mit dem 8, 9, 10 Takt abgetastet, das Stopbit also mit 
dem 154. Takt. Das nächste Startbit darf also erst nach dem 155. Takt 
anliegen, sonst geht es flöten.
Also 161 Takte des Senders dürfen minimal 155 Takte des Empfängers lang 
sein.
Das ergibt dann folgende äußerst komplizierte Rechnung:

161/155 - 1 = 3,2%.

Nun machen wir noch ne Wurst-Käse Rechnung, d.h. jeder Teilnehmer nimmt 
sich das gleiche Recht für nen Fehler raus, aber in entgegengesetzter 
Richtung:

3,2% / 2 = 1,6%

1,6% ist also der maximal zulässige Fehler.

Die AVRs können auch 8 Takte pro Bit einstellen, dann muß der Fehler 
natürlich noch geringer sein. Aber das kann sich ja jeder selber 
ausrechnen.


Peter

Autor: Thomas R. (tinman) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gast schrieb:
> Moin Moin,
>
> kennt jemand ein Dokument, aus dem hervorgeht wie groß
> die Abweichung beim Bit Timing einer RS-232 Kommunikation sein
> darf, ohne das es zu Übertragungsfehlern kommt?


http://www.maxim-ic.com/appnotes.cfm/an_pk/2141

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke!

Sowas habe ich gesucht!

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.