Forum: Mikrocontroller und Digitale Elektronik ATMEGA168 ohne quarz auf 20 MHz


von Erik H. (agutanus)


Lesenswert?

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

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

von Frank M. (ukw) (Moderator) Benutzerseite


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.

von pwd123456 (Gast)


Lesenswert?


von Simon B. (nomis)


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

von spess53 (Gast)


Lesenswert?

Hi

Andere Frage: Wozu braucht man 20MHz?

MfG Spess

von Joachim (Gast)


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ß

von Erik H. (agutanus)


Lesenswert?

Das mit dem Quarzoszillator, der nur an XTAL1 hängt hört sich gut an!
Momentan passts noch mit den verfügbaren Pins... muss schauen, ob noch 
was dazu kommt.

von Frank M. (ukw) (Moderator) Benutzerseite


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...

von Joachim (Gast)


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 ;)

von Vlad T. (vlad_tepesch)


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.

von Ich (Gast)


Lesenswert?

Wenn du mehr Portpins brauchst, warum benutzt du dann nicht einen 
Portexpander?

von Uwe (Gast)


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.

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
Noch kein Account? Hier anmelden.