www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega-USART: U2X


Autor: mr.chip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Der Atmega32 (vermutlich auch die anderen Megas) haben in der
USART-Konfiguration ein Bit, das die Baudrate verdoppelt, indem ein
Taktteiler halbiert wird. Doch was hat das für einen Sinn? Warum setzt
man ggf. nicht einfach die Baudrate doppelt so hoch bzw. warum wird
dieser Taktteiler nicht von Haus aus halbiert, wenn doch so eine
schnellere Übertragung möglich ist?

Auszug aus dem Datenblatt des Mega32:

Bit 1 – U2X: Double the USART Transmission Speed

This bit only has effect for the asynchronous operation. Write this bit
to zero when using
synchronous operation.
Writing this bit to one will reduce the divisor of the baud rate
divider from 16 to 8 effectively
doubling the transfer rate for asynchronous communication.


Gruss

Michael

Autor: Ingo H. (putzlowitsch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man direkt bei der Beschreibung zum U2X nachliest, steht da noch
folgendes:
"Note however that the Receiver will in this case only use half the
number of samples (reduced from 16 to 8) for data sampling and clock
recovery, and therefore a more accurate baud rate setting and system
clock are required when this mode is used. For the Transmitter, there
are no downsides."

Man erkauft sich die höhere mögliche Baudrate also mit einer größeren
Fehleranfälligkeit beim Empfang.

Gruß
Ingo

Autor: mr.chip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Achsoo läuft das ;-) Hätte ja auch selbst darauf kommen können, mal
noch etwas weiter im Datenblatt zu lesen.

Ich habs nun mal ausprobiert: Atmega32, 4 MHz Quarzoszillator, ich
schreibe ins Windows Hyperterminal, der Controller schickt es zurück.
Noch ohne aktiviertes U2X.
9600 Baud, funktioniert.
19200 Baud, funktioniert.
38400 Baud, funktioniert nicht mehr.
38400 Baud, mit aktiviertem U2X, funktioniert! Habe beim "chatten"
mit dem Controller bisher keinen Übertragungsfehler feststellen können.
Da ich relativ unkritische Daten (Bilder einer Kamera) übertragen will,
könnte ich ab und an einen Ausrutscher auch verzeihen.

Gruss

Michael

Autor: Ingo H. (putzlowitsch)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Was nicht weiter verwunderlich ist, ergibt sich doch ohne U2X bei 4MHz
und 38400 Baud ein Fehler von etwa -7%, mit U2X aber nur tolerable
0,16% (siehe Tabelle).

Gruß
Ingo

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ingo: Da hast du aber eine schöne Tabelle gemacht. Die könnte man aber
auch im Datenblatt auf Seite 164 finden... ;-)

Autor: mr.chip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So gesehen ist also U2X eine Art Entscheidung Qualität vs.
Geschwindigkeit. Da ich bisland keine Probleme hatte mit gesetztem U2X,
werde ich wohl mal dabei bleiben.

Was mich aber sehr interessieren würde: Wann muss denn mit
Übertragungsfehlern, begünstigt durch U2X=1, gerechnet werden? Wenn die
Baudrate voll ausgeschöpft wird? Bei schlechteren Signalen durch
Störungen/lange Leitung? Wenn die Gegenseite selbst nicht ganz sauber
(z.B. Baudrate oder Signalform) sendet?

Gruss

Michael

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.