Forum: Mikrocontroller und Digitale Elektronik Berrechnung von Toleranz-Fehler bei UART


von gast (Gast)


Lesenswert?

hallo zusammen,
ich habe eine Frage. Im Datenblatt(Seite 202) von Mikrocontroller
at90can128 gibt es eine Formel für die Fehler während einer serielle
Kommunikation.Die Formel ist:Error[%]=(1- Baudrate closet
Match/Baudrate)*100%
kann jemanden mir sagen was ist die Baudrate closet Match?

Danke

von Z8 (Gast)


Lesenswert?


von Robert T. (robertteufel)


Lesenswert?

Closest match bedeutet, es gibt je nach Frequenz des Quarzes nur eine 
Naeherung an die gewuenschte Baudrate. Bei dem Teilerfaktor n, ist die 
Baudrate noch zu hoch, bei n+1 ist sie dann zu niedrig. Der Wert von n 
oder n+1 ist "closest match". (Uebrigens, "closet" match waere etwas mit 
dem Kleiderschrank und wuerde echt wenig Sinn machen)

Brush up your English ;-)

Gruss, Robert

von gast (Gast)


Lesenswert?

verstehe nicht. ist es die Clock-Frequenz?

von Z8 (Gast)


Lesenswert?

>verstehe nicht. ist es die Clock-Frequenz?

Was denn sonst? Die Freq. Deines U-Hosenwechsels bestimmt nicht. Z8

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nein, sondern die mit dem vorhandenen Baudratenteiler aus dem zur 
Verfügung stehenden Takt erzeugbare Baudrate, die am nächsten an der 
gewünschten Baudrate liegt.

Angenommen, der Takt beträgt 1 MHz, und es ist eine Baudrate von 19200 
gewünscht.

1 MHz / 19200 = 52.0833

Da der Baudratenteiler aber nur mit ganzen Zahlen arbeiten kann, ergibt 
sich ein Teilerwert von 52.

Und damit lässt sich die tatsächlich erzielte Baudrate berechnen:

1 MHz / 52 = 19230.77

19230.77 / 19200 = 1.0016

Also ist dieser Wert 0.16 % zu groß - schon ziemlich genau.


Reale UARTs aber verwenden einen Vorteiler von i.d.R. 16, so daß der 
Ausgangstakt in unserem Beispiel nicht 1 MHz, sondern tatsächlich nur 
62500 Hz beträgt.

62500 / 19200 = 3.255

62500 / 3 = 20833.33

20833.33 / 19200 = 1.085

Somit ist dieser Wert erhebliche 8.5 % zu groß, eine fehlerfreie 
Übertragung ist damit praktisch unmöglich.

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.