ATMEGA168 ohne quarz auf 20 MHz

Moderator Persönliche Seite #2280243
Lesenswert?

Erik H. schrieb:
> Ist es möglich einen ATMEGA168 ohne Quarz auf 20 MHz zu takten?

Nur mit einem Quarzoszillator, kostet Dich XTAL1 - also einen Pin.

> Bin nämlich mit meinen Ports ziemlich am Ende und würde ungerne 2 für
> den Quarz opfern.

Siehe oben: einen Pin müsstest Du opfern.

Der interne RC-Oszillator arbeitet mit fester Frequenz - keine Chance.
#2280249
Lesenswert?

Erik H. schrieb:
> Ist es möglich einen ATMEGA168 ohne Quarz auf 20 MHz zu takten?
> Taktstabilität und Genauigkeit ist unwichtig... muss nur ungefähr
> stimmen.

Nein, der interne Oszillator kann nur ca. 8MHz.

> Bin nämlich mit meinen Ports ziemlich am Ende und würde ungerne 2 für
> den Quarz opfern.

Je nachdem wie dringend Du die Pins brauchst: Eventuell kannst Du eine 
externe Clock realisieren, dann brauchst Du nur einen der zwei Pins.

Viele Grüße,
        Simon
Gast #2280394
Lesenswert?

Frank M. schrieb:
> Der interne RC-Oszillator arbeitet mit fester Frequenz - keine Chance.

Simon Budig schrieb:
> Nein, der interne Oszillator kann nur ca. 8MHz.

Na, so ganz stimmt das aber nicht. Zum einen kann man ja über die Fuses 
auch was anderes als 8 MHz einstellen, und zum anderen kann man mit dem 
OSCCAL-Register an der eingestellten Frequenz auch noch drehen.

Ich habe einen ATmega48 auch schon auf über 16 MHz aufgebohrt: 8 MHz 
über Fuses eingestellt und dann 0xFF ins OSCCAL geschrieben. Mehr geht 
nicht. Dann darf man auch keine Ansprüche mehr an die Genauigkeit 
stellen...

Gruß
Moderator Persönliche Seite #2280473
Lesenswert?

Joachim schrieb:
> Na, so ganz stimmt das aber nicht. Zum einen kann man ja über die Fuses
> auch was anderes als 8 MHz einstellen, [...]

Du kannst zwar den Vorteiler ändern, aber deshalb ändert der 
RC-Oszillator noch lange nicht nicht seine Frequenz. ;-)

> und zum anderen kann man mit dem
> OSCCAL-Register an der eingestellten Frequenz auch noch drehen.

Von welchen Größenordnungen sprechen wir hier?

> Ich habe einen ATmega48 auch schon auf über 16 MHz aufgebohrt: 8 MHz
> über Fuses eingestellt und dann 0xFF ins OSCCAL geschrieben. Mehr geht
> nicht. Dann darf man auch keine Ansprüche mehr an die Genauigkeit
> stellen...

Echt? Ich dachte bisher, hier könnte man lediglich Korrekturen um wenige 
Prozent erreichen...
Gast #2280666
Lesenswert?

Frank M. schrieb:
> Du kannst zwar den Vorteiler ändern, aber deshalb ändert der
> RC-Oszillator noch lange nicht nicht seine Frequenz. ;-)

Ups, da hast du recht... Hab ich mit einem anderen Controller 
verwechselt.


Frank M. schrieb:
> Von welchen Größenordnungen sprechen wir hier?

hab ich doch geschrieben :)

Frank M. schrieb:
> Echt? Ich dachte bisher, hier könnte man lediglich Korrekturen um wenige
> Prozent erreichen...

Nee, da geht mehr :) . Das staht leider nicht in allen Datenblättern 
ordentlich drin. Ich hab das glaub ich in irgendeiner Application Note 
gefunden... Da ist sie ja: "AVR053 - Calibration of the internal RC 
oscillator"
Ich hab einfach 0xFF in das Register geschrieben und dann nachgemessen. 
Gerechnet hab ich da nix ;)
#2280721
Lesenswert?

Joachim schrieb:
> Nee, da geht mehr :) . Das staht leider nicht in allen Datenblättern
> ordentlich drin. Ich hab das glaub ich in irgendeiner Application Note
> gefunden... Da ist sie ja: "AVR053 - Calibration of the internal RC
> oscillator"

Interssant.
Was ich auch nicht wusste ist, dass auch wenn man den die Fuses auf nen 
anderen RC-Oszillator stellt man das Kalibrierbyte von Hand nachladen 
muss.

Aber zum Thema 16MHz:

"AVR053 - Calibration of the internal RC oscillator":
> For all tunable oscillators it is important to notice
> that it is not recommended to tune the oscillator more
> than 10% off the base frequency specified in the datasheet.
> The reason for this is that the internal timing in the
> device is dependent on the RC-oscillator frequency.
Gast #2280733
Lesenswert?

Das Problem ist das EEPROM und Flash timen mit dem internen RC ihre 
Schreibzugriffe (Ich glaube mich vage zu erinnern). Und ich glaube auch 
das der höchste Wert (also 0xFF für OSCAL) mit 150%-200% in einer 
Tabelle stand.
Das wäre also irgendwas zwischen 12-16MHz.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren