Forum: Mikrocontroller und Digitale Elektronik UART Baudratenabweichung


von Jan (Gast)


Lesenswert?

Hallo allerseits!!!

Ich verwende ein 8052 Derivat (ADuC812) und moechte das Teil mit einem 
16MHz Quarz betreiben. Jetzt habe ich mal die Timer-Berechnung fuer den 
UART-Takt durchgefuehrt (Timer2, 16Bit, Autoreload) und komme auf 
folgende Abweichungen:

Soll: 1200   Ist: 1199  => 0,1%
      2400        2403  => 0,2%
      4800        4807  => 0,2%
      9600        9615  => 0,2%
     19200       19230  => 0,2%

Sind die Abweichungen tolerierbar oder sollte ich doch besser 'nen 
anderen Quarz verwenden?

Gruss, Jan

von Joe (Gast)


Lesenswert?

Optimal sind "Baudratenquarze" wie z.B. 11,059. 7,37..., 22,118400 etc. 
Ein Fehler von bis zu 4% ist zulässig, kannste so lassen.

von Falk (Gast)


Angehängte Dateien:

Lesenswert?

@Joe

> Ein Fehler von bis zu 4% ist zulässig, kannste so lassen.

VORSICHT! Offiziell sind es 3%, dann muss aber die Gegenseite (meist der 
PC) mit 0% Fehler arbeiten (Tut er auch). Da gabs mal von Maxim eine 
Application note, wo das haarklein vorgerechnet wird. Bis 1% ist im 
Normalfall OK.

MfG
Falk

P.S. Hier mal mein UART-Deluxe Excel-Sheet

von Peter D. (peda)


Lesenswert?

Joe wrote:

> Ein Fehler von bis zu 4% ist zulässig, kannste so lassen.

Bei 4% ists nur noch ne reine Glückssache und über 19200 Baud geht 
garnichts
mehr.


Bis zu 1% ist o.k., darüber nimmt die Störanfälligkeit merkbar zu.


Peter

von Peter S. (psavr)


Angehängte Dateien:

Lesenswert?

Ich gehe von einem maximal zulässigen Fehler von 2% aus, unter der 
Berücksichtigung, dass die Gegenseite ebenfalls einen Fehler von 2% in 
die andere Richtung haben könnte. Um genügend Reserve zu haben, schaue 
ich sogar darauf, dass ich unter 1.5% Fehler bleibe.

Ich verwende oft 12 MHz als F_CPU, damit lasen sich die üblichen 
Baudraten ausreichend genau erzeugen.




von Jan (Gast)


Lesenswert?

Danke fuer Eure Antworten.

Viele Gruesse und schoene Weihnachten,

Jan

von Joe (Gast)


Lesenswert?

Na, sein max. Fehler liegt bei 0,2 %, darauf bezog sich "kannste 
lassen".

+- 2% sind doch 4% oder ;-)) mir ist klar das man üblicherweise das 
Optimum sucht daher der Hinweis auf Baudratenquarz.

Warum seid ihr so empfindlich ? ist doch bald Weihnachten ;-))

von Calimero (Gast)


Lesenswert?

Hallo zusammen.
ich arbeite mit dem Board ADuC812 (8051er) von Phytec.
Mein Board läuft mit Timer 1 auf 9600 baud.

TMOD |= 0x20;  // mit 9600 Baud 8N1, mit 11,059 Mhz Quarz
TH1  = 0xFD;
TR1  = 1;
PCON &= 0x7F;
SCON = 0x52;

Vielleicht weiss einer wie ich mit dem Timer 2 die Baudrate auf 19200
erhöhen kann.
Welche Parameter muss ich für

SCON
TMOD
TCON
RCAP2H
RCAP2L

eingeben?

Thanx Calimero

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.