Quarze und AVR: Unterschied zwischen den Versionen

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche
K (hat „Quarz“ nach „Quarze und AVR“ verschoben: Seite wird in "Quarz" und in "Quarze und AVR" aufgesplittet.)
(kein Unterschied)

Version vom 15. Mai 2012, 11:51 Uhr

Ein Quarz, eigentlich "Schwingquarz", ist ein Bauteil zu Erzeugung einer bestimmten Frequenz. Die Genauigkeit von Quarzen liegt bei 10-100ppm (1ppm = 0,0001 %) und wird somit nur noch vom Quarzoszillator überboten. Außerdem sind Quarze im Gegensatz zum internen Oszillator weniger temperaturabhängig.

Verwendung

Quarze sind in folgenden Situationen sinnvoll / notwendig:

  • Kein interner Oszillator im µC eingebaut
  • Interner Oszillator des µC zu langsam
  • Interner Oszillator des µC zu ungenau
    • Bei Verwendung des UART
    • Bei zeitkritischen Anwendungen wie z.B. eine Uhr
  • In der Funktechnik zur genauen und stabilen Fequenzerzeugung
  • Als Quarzfilter in Empfängern?

Wahl der richtigen Frequenz

Vor allem als Anfänger denkt man sich, ich kaufe einfach mal 10MHz, das ist eine so schön gerade Zahl. Allerdings sind diese Quarze nur in den seltensten Fällen sinnvoll. Viel sinnvoller sind Baudratenquarze. Diese haben zwar auf den ersten Blick ziemlich "krumme" Werte, die aber zur Kommunikation über die serielle Schnittstelle viel höhere Baudraten ermöglichen.

"Runde" Frequenzen (4MHz, 8MHz, 10MHz....) sind meist leichter erhältlich und haben den Vorteil, dass man Verzögerungsschleifen und Rechendauern relativ leicht errechnen kann.

Ein Sonderfall ist 12MHz. Aus dieser Frequenz erzeugen Software-USB Programme oft den für USB notwendigen Takt.

"Baudrate"-Frequenzen sind ganzzahlige Vielfache der bei RS232 üblichen Baudraten. Mit Baudrate-Frequenz kann man mit den im Kontroller enthaltenen Teilern exakte Baudraten erreichen, mit "runden" Frequenzen entstehen u.U. einige Prozent Fehler.

Anschluss an einen AVR

Quarz Anschluss AVR.png

Die Kapazitäten von C1 und C2 entsprechen nicht der Lastkapazität des Quarzes! Sie errechnen sich folgendermaßen:

C=2xCL-(CP+CI)

  • CP: Leiterbahnen bedingte Kapazität
  • CI: Portbedingte Kapazität
  • CL: Datenblatt des Quarzes
  • CP+CI ca. 5pF

Am Beispiel von CL = 32pF:

C = 2x32pF-5pF = 59pF

C1 und C2 sind die vom Hersteller des Kontrollers empfohlenen Werte, mit ihnen wird die Schwingsicherheit der Oszillatorschaltung gewährleistet. C1 und C2 sollten in etwa eingehalten werden (so + - 20% machen aber nichts aus).

CL, der im Datenblatt angegebene Wert, wird beim Abgleich des Quarzes während der Herstellung benutzt.

Wenn CL nicht eingehalten wird, hat das keinen Einfluss auf das Schwingen des Oszillators (solange der Faktor2 nicht überschritten wird) sondern nur auf die Frequenz, aber das in einem Maße (max. 0,01%der Frequenz), das für die meisten Mikrokontrolleranwendungen bedeutungslos ist.

Einstellung der Fuses

Hier ist besondere Vorsicht geboten. Fast immer liegt hier das Problem, wenn ein Mikrocontroller nicht mehr läuft!

Ein Quarz ist keine "External Clock", sondern ein "External Crystal/Ceramic Resonator". Siehe auch: AVR_Fuses#Taktquellen_Fuse_Einstellung

In der Begriffswelt der fuses gibt es:

<internal Oscillator> meist die Grundeinstellung bei Auslieferung

<external Crystal> für Betrieb mit angeschlossenem Quarz und C1,C2

<external Oscillator> Steuerung durch externe Taktquelle

Verwechslungsgefahr besteht meist zwischen external crystal und external oscillator

Siehe auch

AppNotes von Atmel zum Thema Quarze: [1] [2]