Baudratenquarz

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Baudratenquarze sind handelsübliche Quarze, aus deren Frequenz sich durch ganzzahlige Teilung die Baudrate einer seriellen Schnittstelle ergibt. Wenn sich die Baudrate nicht durch ganzzahlige Teilung aus der Quarzfrequenz ableiten läßt, ergibt sich ein Fehler, der zu Fehlabtastungen des seriellen Signals führt. Bei der Verwendung von Baudratenquarzen wird dieser Fehler nur durch die Toleranz des Quarzes bestimmt (±100ppm = ±0,01%).

Wofür steht der Begriff "baud" ?

Die Einheit Baud wurde nach dem Franzosen Jean-Maurice-Émile Baudot benannt und wird mit bd abgekürzt.

Was versteht man unter der Baudrate ?

Unter Baudrate versteht man die Schrittfrequenz eines Datensignals. Unter einem Schritt versteht man in der Datenübertragung das kürzeste Datensignal. Dieses Datensignal enthält mindestens ein Bit. Je nach Modulationsverfahren können aber auch wesentlich mehr Bits in einem Schritt übertragen werden.

Was hat es mit der "Abtastung" auf sich ?

Bei der asynchronen Übertragung ist der Zeichenbeginn für den Empfänger nicht vorhersehbar. Mit dem "Startbit" wird das Zeichen begonnen. Nach dem Startbit weiß der Empfänger, dass er eine halbe Bitlänge später das erste Datenbit abtasten kann. Eine weitere Bitlänge später das zweite Bit u.s.w..

Wenn nun die Abtastung schneller oder langsamer als die Datenübertragung stattfindet, weil der Abtasttakt mit zu grossem Fehler erzeugt wird, dann verschieben sich die Daten gegenüber dem Abtastsignal um einen geringen Zeitbetrag. Um das Datensignal möglichst fehlerfrei immer in der Bitmitte abtasten zu können, benötigt man deshalb einen stabilen und genauen Abtasttakt, der idealerweise von einem Baudratenquarz abgeleitet wird. Wenn die Frequenz um einige Prozent daneben liegt, wird die Verschiebung zwischen Datensignal und Abtastung nach wenigen Bits so gross, dass die Abtastung zu einem falschen Zeitpunkt stattfindet und ein Übertragungsfehler entsteht. Eine Beispielrechnung wurde vom Hersteller MAXIM schon einmal sehr ausführlich in einer Application Note (englisch) durchgeführt. Als theoretische Obergrenze sind 3% Frequenzversatz zwischen Sender und Empfänger möglich. Praktisch sollte man diese Grenze jedoch nicht ausreizen und sich auf Fehler kleinergleich 1% beschränken, um die Übertragungssicherheit und Fehlertoleranz zu erhöhen.

Zu dem vorstehend beschriebenen Abtasteffekt kommen noch die Fehler aus der Signalverzerrung auf dem Übertragungsweg hinzu. Die Verzerrung ist von der Leitungslänge und dem Übertragungsmedium abhängig. Eine präzise Abtastung des Signals im Empfänger ermöglicht einen höheren "Verzerrungsspielraum" auf dem Übertragungsweg. Deshalb ist es immer angeraten, die Abtastfrequenz mit einem Baudratenquarz zu erzeugen.

Berechnung von Baudratenquarzen

Da die integrierten UART-Bausteine das serielle Signal oftmals mit der acht- oder 16-fachen Frequenz abtasten, muß nach Teilung der Quarzfrequenz ein Takt entstehen, dessen Frequenz das acht- bzw. 16-fache der gewünschten Baudrate beträgt.

Mathematische Betrachtung

Vor über 50 Jahren hat man mechanische Fernschreibsysteme mit 50 bd, 75 bd und 100 bd benutzt. Die ersten Akustikkoppler wurden dann mit 300 bd betrieben. Man erkennt leicht, dass alle diese Werte ganzzahlige Vielfache von 25 sind. Außerdem ist 300 bd das kleinste gemeinsame Vielfache (kgV) der beiden üblichen Netzfrequenzen 50 Hz und 60 Hz. Netzsynchrone oder nahe-netzsynchone Systeme haben stets kleine übertragungstechnische Vorteile gegenüber „krummen“ Frequenzen.

Die niedrigste "übliche" Baudrate liegt bei 300 bd. Durch Primfaktorzerlegung ergibt sich:

  • 300 = 5 · 5 · 3 · 2 · 2.

Die Zahl 16 hat als Zweierpotenz die Primfaktoren

  • 16 = 2 · 2 · 2 · 2 = 24

Alle Baudratenquarze müssen deshalb mindestens diese Primfaktoren enthalten.

Höhere Datenraten, wie z. B. 9600 bd, liegen oftmals um mehrere Zweierpotenzen darüber:

  • 9600 = 5 · 5 · 3 · 2 · 2 · 2 · 2 · 2 · 2 · 2 oder kurz: 52 · 31 · 27

Ein Quarz mit der Frequenz 77,5 kHz ist nicht als Baudratenquarz brauchbar. Die Primfaktorzerlegung ergibt:

  • 77500 = 2 · 2 · 5 · 5 · 5 · 5 · 31

Es fehlt der Primfaktor 3. Deshalb ist die Baudrate von 300 bd nicht durch Teilung zu erreichen. Das bedeutet wiederum, dass auch Vielfache wie z. B. 1200 baud, 9600 baud etc. nicht ohne Fehler erzeugt werden können. Der Primfaktor 31 zeigt, dass eine ganzzahlige Teilung nicht ohne weiteres möglich ist. Wenn umgekehrt die Sendefrequenz des Senders DCF77 mit einem 1-MHz-Oszillator synchronisiert werden soll, geht das nur mit aufwendigen Auslassteilern.

Beispiele für Baudratenfrequenzen

  • 1,8432 MHz (das ist die klassische Frequenz des PC-Baudratengenerators)
  • 3,6864 MHz
  • 4,9152 MHz
  • 6,1440 MHz
  • 7,3728 MHz
  • 9,8304 MHz
  • 11,0592 MHz
  • 12,2880 MHz
  • 14,7456 MHz
  • 18,4320 MHz
  • 19,6608 MHz
  • 22,1184 MHz

Viele Frequenzen sind Vielfache zueinander. Die Basisfrequenz 1,8432 MHz ist so z. B. auch als 2-fache, 3-fache, 4-fache, 5- und 6-fache Frequenz üblich. Hier einige solcher „Familien“

  1. 1,8432 MHz; 3,6864 MHz; 7,3728 MHz; 11,0592 MHz; 14,7456 MHz; 18,432 MHz; 22,1184 MHz
  2. 2,4576 MHz; 4,9152 MHz; 9,8304 MHz; 14,7456 MHz; 19,6608 MHz
  3. 6,144 MHz; 12,288 MHz; 18,432 MHz

Nicht jeder „krumme“ Quarz ist ein Baudratenquarz! Häufige Nicht-Baudratenquarze in der Bastelkiste sind:

  • PAL- und NTSC-Quarze
  • Binär-Quarze, bspw. 1024 kHz, oder der 32768-Hz-Uhrenquarz

Quarze wie sortieren?

Quarze sortiert man als Mikrocontroller-Bastler nach jenen Kategorien:

  • Glatte (dezimale) Quarze, unterteilt in {<10 MHz, ≤20 MHz, >20 MHz}
  • Baudratenquarze (faktisch stets im Bereich 1..20 MHz)
  • Sonstige Quarze, unterteilt in {<1 MHz, <20 MHz, >20 MHz}

Da Quarzoszillatoren und Resonatoren eine deutlich andere Bauform haben, tut man sie entsprechend zu den Quarzen einsortieren.

Moderne hohe Baudraten

Mit dem Niedergang der seriellen Schnittstelle zugunsten von USB ist die Tendenz zu „glatten“ Baudraten zu beobachten. Schon früher wurde die Baudrate von Profibus auf 1,5 MBaud festgelegt, was witzigerweise die Datenrate von Low-Speed-USB ist. Ab etwa 100 kBaud und darüber sind solche Baudraten gängig, was mit daran liegt, dass der Urvater aller seriellen Schnittstellen maximal 115200 Baud konnte und modernere Schnittstellen mit höheren Frequenzen und gebrochenem Teiler arbeiten können. Jenseits von 1 MBaud sind „krumme“ Baudraten gänzlich unüblich geworden. Die höchste gesichtete UART-Baudrate ist 10 MBaud (beim C2000 Delfino). Dessen Dual-UART-zu-USB-Konverterchip FT232H fährt dazu bereits USB Hi-Speed!

Die Baudratenquarze an Mikrocontrollern werden heutzutage nur noch benötigt, wenn

  • eine relativ hohe „krumme“ Baudrate benutzt werden muss,
  • kein gebrochener Baudratenteiler im Mikrocontroller zur Verfügung steht.

Neuere AVRs mit Fractional Baud Rate Generator

Bis zum Erscheinen der tinyAVR 0-/1-series (ca. 2017) gab es noch keine AVR-Controller mit gebrochenem Baudratenteiler (Fractional Baud Rate Generator), daher musste man hier noch häufig zum Baudratenquarz greifen. Bei den neueren AVRs seit 2017 (u.a. auch megaAVR 0-series, AVR-DA/-DB/-…) sind dank dieses neu eingeführten Features keine Baudratenquarze mehr notwendig.