Forum: Mikrocontroller und Digitale Elektronik Hilfe bei Verständnis des Double Speed Operation Mode bei ATMEGA2560


von Georg M. (georg_m)


Lesenswert?

Servus Allesammt :)
Hoffe ihr habt alle einen schönen letzt Tag, morgen ist ja angeblich 
alles vorbei. ;)

Genau aus diesem Grund muss ich jetzt noch dieses eine 
Verständnisproblem lösen, dann kann die Welt untergehen.^^

Um es kurz zu machen.
Ich habe einen ATMEGA2560, sende diesem über UART Daten bei einer 
Baudrate von 57.6k Baud und er wird mit 16MHz getaktet.
Die Formel aus dem Datasheet ergibt nun für diese beiden Werte einen 
Fehler von 2.1% (siehe Datasheet).

Fehler_Baudrate [%]=((UBRR_gerundet+1)/(UBRR_genau+1)-1)

Jetzt kann ich den ATMEGA2560 in den "Double Speed Operation Mode" 
setzten in dem ich im Status Register UCSRnA das Bit für U2Xn setzte.
Dadurch halbiert sich der Divisor für die Formel für UBRR von 16 auf 8

UBRR_n=f_osc/(16*Baud)-1

Dadurch verdoppelt sich meine Transfer Rate und wenn ich jetzt den 
Fehler berechne komm ich auf 0.8% (siehe Datasheet).

Ok,das versteh ich soweit alles. Ich Taste nun also mit doppelter 
Geschwindigkeit ab.
Für den für UBRR berechneten Wert X (oben Transfer Rate genannt), wird 
nun ein Bit für X Prozessortakte abgetatstet bzw. auf die serielle 
Leitung gelegt, oder?
Rundet der ATMEGA den Wert X auf oder schneidet er ihn hinten ab?

Ich würde gerne nur wissen ob ich das soweit alles richtig verstanden 
habe :) und das mit dem aufrunden/abschneiden.

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.