Berrechnung von Toleranz-Fehler bei UART

Gast #1300958
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
#1300967
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
Persönliche Seite #1300992
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren