Hallo,
vielleicht kann mir hier jemand helfen. Ich versuche mittels Uhrenquarz
den Timer eines ATMega8 asynchron zu takten.
Von der Softwareseite her ist alles ok. Aber die Hardware macht etwas
Probleme. Der Quarz schwingt nur sporadisch an. Meistens aber gar
nicht.
CKOPT ist an (also interne Kondensatoren sind aus)
als externe Kondensatoren benutze ich 2 Trimmerkondensatoren 2-35 pF
Auszüge aus dem Datenblatt des Quarzes:
Frequenz: 0,032768 MHz
Cl: 12 pF
Rsmax: 25 k-Ohm
TK: +/- 50ppm
Frequenztoleranz: +/- 30ppm
Danke für eure Tipps!
Hallo Marten,
nur mal so aus Neugier: Was passiert wenn du die Trimmerkondensatoren
abhängst und die internen Kondensatoren benutzt?
(immerhin sind die internen 36pF ja für Uhrenquarze gedacht)
Die Variante hatte ich zuerst. Leider keinen Erfolg damit.
Dann hab ich im Datenblatt des Mega8 unter Erratas gelesen das bei
bestimmten Versionen des Mega8 das CKOPT nicht funktioniert. (also die
Kondensatoren nicht zuschaltet)
Da ich mir auch nicht sicher bin welche Version ich von den Mega8 hab,
hab ichs dann mit den externen Kondensatoren versucht.
Die Version mit den 2 Trimmerkondensatoren finde ich aber äusserst
heikel. Wie willst du die zwei abgleichen?
Wenn beide Lastkondensatoren gleich gross sein, gillt die Formel:
CL1=CL2=2(CL-Cs)
Dadurch, dass die Lastkapazität deines Quarzes (CL) mit 12pF schon
recht klein ist, spielt die Streukapazität Cs schon eine nicht zu
vernachlässigende Rolle.
Ich hab gedacht mit den Trimmerkondensatoren kann man den Punkt
einstellen, ab den es anfängt zu schwingen ... also einfach
durchprobieren.
Hab hier noch als Auswahl: 12pF oder 18pF obwohl die ja schon fast zu
gross sind oder?
Also, ich habe 2003er Silizium, da funktioniert CKOpt nicht richtig,
es werden die internen Cs nicht zugeschaltet,
dadurch schwingt der Quarz sonstwo, aber nicht auf 32.768kHz.
Zusätzlich zu den Fuses, die nach Datenblatt gesetzt werden müssen,
habe ich einfach 2 x 33pF gegn Masse gelegt und gut war es.
Abweichung ohne Abgleich sowas um eine halbe Sekunde pro Tag.
Gruss
Jadeclaw.
Dürfen wir bitte den Schlüssel zum Erfolg erfahren?
Ich hätte noch vorgeschlagen, einen R (100k - 10M) parallel zum Quarz
zu schalten.
Evtl. einen 10-100 Ohm zwischen µC-out zum Quarz in Reihe.
Garnichts.
Der Parallelwiderstand hat einen ganz anderen Grund:
Bei vielen Oszillator-ICs fehlt der interne Bias-Widerstand zwischen
Ein- und Ausgang. Dort muss dann ein Widerstand auf die
Oszillatoranschlüsse gelegt werden. Bei Atmel-Controllern ist das
überflüssig, dort ist der passende Widerstand schon im IC drin.
Ein Widerstand in Serie zum Quarz hat andere Gründe:
Damit werden 1. parasitäre Obertonschwingungen unterdrückt und
2. wird die Quarzbelastung reduziert, speziell bei Uhrenquarzen
notwendig. Atmel-Controller brauchen auch diesen nicht, da die interne
Oszillatorschaltung über die Fuses umdimensioniert wird.
Der CD4060 beispielsweise braucht für einen 32kHz-Uhrenquarz beide
Widerstände.
Gruss
Jadeclaw.
Also ich verwende das von Reichelt mit 12pF Bürde ohne weitere
Cs am Quarz und direkt am Mega8, ca 5mm vom Quarz zum uC.
Er schwingt immer an, wichtig dabei:
Die Register setzen und 1000ms warten,(Nop, wait etc)
dann weiter im Programm.
Sonst wird das nix richtiges...
mfg
Oliver
Also ich muss sagen der Quarz läuft jetzt richtig stabil. Nehm ihn jetzt
allerdings als Taktfrequenz des Mega8.
Muss man dabei eigentlich noch was beachten?
Bloss mal so nebenbei: Wie bekommt man eigentlich die Revision des
Mega8 raus?
Marten