Quarze und AVR
Diese Seite behandelt Schwingquarze im Zusammenhang mit AVRs. Die Genauigkeit von Quarzen liegt bei 10–100ppm (1ppm = 0,0001 %) und wird somit nur noch von Quarzoszillatoren überboten. Außerdem sind Quarze im Gegensatz zum internen RC-Oszillator weniger temperaturabhängig.
Verwendung
Quarze sind in folgenden Situationen sinnvoll / notwendig:
- Interner Oszillator des µC zu langsam
- Interner Oszillator des µC zu ungenau
- Bei Verwendung des UART
- Bei zeitkritischen Anwendungen wie Uhren
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. "Baudraten"-Frequenzen sind ganzzahlige Vielfache der bei RS232 üblichen Baudraten. Mit Baudrate-Frequenz kann man exakte Baudraten erreichen. Mit "runden" Frequenzen entstehen hingegen Fehler, weshalb damit oft nur sehr niedrige Baudraten möglich sind.
"Runde" Frequenzen (4MHz, 8MHz, 10MHz....) sind meist leichter erhältlich und haben den Vorteil, dass man Verzögerungsschleifen und Rechendauern relativ leicht errechnen kann.
Anschluss
Die Kapazitäten von C1 und C2 entsprechen nicht der Lastkapazität des Quarzes! Sie errechnen sich folgendermaßen:
C = 2·CL – (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 = 2·32pF – 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, also nicht mehr als ±20% von den ANgaben abweichen.
CL, der im Datenblatt angegebene Wert, wird beim Abgleich des Quarzes während der Herstellung benutzt.
Wenn CL nicht eingehalten wird, hat das — solange der Faktor 2 nicht überschritten wird — keinen Einfluss auf das Schwingen des Oszillators, sondern nur auf die Frequenz, aber das in einem Maße (max. 0,01% der Frequenz. Dies ist für die meisten Mikrokontrolleranwendungen bedeutungslos.
- Hinweis
- Soll ein Uhrenquarz eine Real-Time-Clock versorgen, so sind die Kapazitäten von großer Wichtigkeit. Die Uhr läuft bei falsch dimensionierten Kapazitäten gleich im 3-Stelligen ppm-Bereich falsch. Das bedeutet praktisch gleich mehrere Minuten pro Tag!
Einstellung der Fuses
- Warnung
- Hier ist besondere Vorsicht geboten. Fast immer liegt das Problem, wenn ein AVR nicht mehr läuft, an falsch eingestellten AVR Fuses!
- Ein Quarz ist keine "External Clock", sondern ein "External Crystal/Ceramic Resonator".
Wenn man wirklich auf Nummer sicher gehen will, sollte man:
- Immer das Datenblatt und den Abschnitt "Clock Source" aufmerksam lesen
- Per Fuse Calculator die Fuses berechnen lassen. Siehe dazu die Weblinks unten.
- Nochmals genau überprüfen
Siehe auch
Weblinks
- AppNotes von Atmel zum Thema Quarze:
- Fuse Calculator: [1]