Hi, kann man eigentlich bei einem ATmega88 (168, 328) die Taktquelle per Software umschalten? Also z.B. mit dem internen Oszillator starten und dann auf den externen Quarz umschalten?
Die "kleinen" USB-AVRs können das (AT90USB162, ATmega*U2/U4), sowie alle Xmegas. Ansonsten bliebe noch die Variante, den RC-Oszillator gegen einen 32-kHz-Takt an Timer 2 als Referenz zu justieren.
Das mit dem Justieren scheitert aber leider daran, dass ich nicht bis 20 MHz justieren kann. :( Und die brauche ich.
Was versprichst du dir davon ? Zum Stromsparen macht man sleeps und dreht nicht irgendwie am Takt rum (der darf sich auch nur um 1% pro Takt ändern verschluckt sich die CPU weil die intern den Takt iwie mehrphasig nutzt (read, modify, write) so kommt der AVR auch auf die ziemlich sportlichen 1MIPS/MHz )
Hauptsächlich sinnvoll wäre es, um defekte Quarze leicht zu erkennen.
Heini schrieb: > Das mit dem Justieren scheitert aber leider daran, dass ich nicht bis 20 > MHz justieren kann. Beim ATmega88 nicht, da ist bei ca. 13 MHz das Ende der Fahnenstange des RC-Oszillators erreicht.
Einige AVRs können allerdings den SysClk Prescaler im Betrieb umschalten - wenn das helfen würde. Die 48/88/168/328 bieten das allerdings nicht.
Matthias Sch. schrieb: > Die 48/88/168/328 bieten das allerdings nicht. Doch, natürlich haben die das.
Hallo, könnte man nicht einen Attiny oder vergleichbares nehmen, und diesen dann zum gesteurten umfusen eines atmegas nutzen? sinn macht es nicht viel, aber möglich wäre es. per software ist das auf jeden fall nicht. alternativ: per ttl signal einen takt an den µc geben, das geht. wenn man dann noch einen vom atmega selber verstellbaren frequenzteiler ansteuern kann, könnte man etwas mehr über software die frequenz ändern.
Ne, das ist zu viel Aufwand. Es ging erstmal nur darum, den Quarz auf Funktion testen zu können. Wenn der uC tot ist oder der Quarz kann man das ja erstmal nicht auseinanderhalten. Wenn die Software erst umschalten müsste, ginge das. Habe mich leider schon ein paar Mal damit herumschlagen müssen. Das "Justieren" mit einem externen Uhrenquarz hätte noch den Vorteil einer integrierten RTC (die ich sonst extern haben müsste). Zusätzlich zum o.g. Feature. Aber leider komme ich ja, wie gesagt, nicht auf die nötige Taktfrequenz. Tja, schade schade!
Heini schrieb: > Aber leider komme ich ja, wie gesagt, nicht auf die > nötige Taktfrequenz. Tja, schade schade! Das ginge zum Beispiel mit einem ATtiny85, der lässt sich intern mit 16 MHz takten. Per Kalibrierung kommt man dann locker auf über 20 MHz. Beim ATmega88 geht das nicht, aber vielleicht gibts andere AVR, die das können?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.