>Ist der exakte Wert der Oszillatorfrequenz wirklich so entscheidend?
Für meine Anwendung schon. Geplant war, einen Uhrenbaustein PCF8583 und
ein EEPROM ST24C04 und auch noch diverse IO-Schieberegister +
Schrittmotorlogik zu ersetzen und über IIC anzusteuern.
Im Ruhezustand sollte dann die Uhr im 'power save' Modus weiterlaufen.
Wenn diese Uhr innerhalb eines Jahre wenige Minuten von der Sonnenzeit
abweicht, ist daß akzeptabel. Aber bei 100ppm ist das fast eine Stunde.
Da Meßwerte mit Zeitstempel versehen werden sollen, ist die Abweichung
viel zu groß.
Programmiert man T2 mit Vorteiler /128 so erhält man alle Sekunde einen
Überlauf, der den Sekundentakt erzeugt. Die Stromaufnahme liegt beim
324P bei ca. 1,3µA bei 3V, was völlig in Ordnung ist.
Da T2 nur 8Bit breit ist, kann man keinen Teilungsfaktor von 32771
einstellen, wie das bei T1 der Fall ist. Und um T1 mit 32,768kHz zu
betreiben, müßte man den kompletten µP Takt auf 32,768kHz einstellen.
Damit würde zum einen T1 "vergeudet" und die Prozessorleistung nicht
genutzt werden können.
Nun kann man sicherlich die Uhr durch tagtäglichen Feinabgleich dazu
bringen, über ein Jahr die Zeit genau zu halten. Aber bei den
aufgetretenen 200ppm Grundabweichung fürchte ich, daß jeder Prozessor
einzeln abgeglichen werden muß. Für eine Serienfertigung ist das zu
riskant und aufwendig. Da nehme ich dann doch lieber einen fertigen
Uhrenbaustein.
Interessanterweise tickt der Mega48 ja ganz anders. Atmel scheint das
Problem nicht zu kennen, sonst hätte man den Oszillator doch so
aufgebaut, daß er für alle Modelle gleich verwendbar wäre
(Quarz+Kondensatoren).
Ärgerlich bei AVR ist ja auch schon immer, daß der/die/das UART nicht
mit dem internen kalibrierten Oszillator betrieben werden kann. Zum
einen ist die Drift zu groß und zum anderen ist der werksseitige
Abgleich so ungenau, daß man auch jeden Prozessor nachgleichen muß.
Was im Datenblatt so schön aussieht, ist in der Praxis nicht zu
gebrauchen.