Forum: Mikrocontroller und Digitale Elektronik Frequenz des internen Oszillators ermitteln


von Tilmann (Gast)


Lesenswert?

Hallo,

woher kann man den Standardwert des internen Oszillators entnehmen ?
Ich habe gerade das Datenblatt meines µC (ATmega644P) durchsucht nach 
"internal oscillator", da gibt es dann sogar Grafiken über "internal 
oscillator speed" für den Watchdog in Abhängigkeit von Temperatur und 
Spannung ..., ca. 120 KHz ... ?

Irgndwo habe ich was von einer Standardeinstellung von 1 MHz gelesen ...

Wenn man das ständig braucht, kann es doch nicht so kompliziert sein, 
das rauszukriegen, wo ist der Trick ?

von Karl H. (kbuchegg)


Lesenswert?

Tilmann schrieb:

> Wenn man das ständig braucht, kann es doch nicht so kompliziert sein,
> das rauszukriegen, wo ist der Trick ?

Der Trick ist, dass Atmel alle AVR so ausliefert, dass sie im 
Auslieferungszustand auf 1Mhz (mehr oder weniger) laufen.


Und jetzt kommts drauf an.
Hat dein µC eine CKDIV8 Fuse, die einen Takt durch 8 runterteilt, dann 
ist die auch gesetzt - der interne Oszi läuft auf 8Mhz und durch die 
CKDIV8 ergibt sich wieder die Standard-Geschwindigkeit von 1Mhz.
Hat dein µC keine CKDIV8, dann läuft der interne Oszi auch 
standardmässig mit 1Mhz und du hast wieder die 1Mhz.

Egal wie. Im AUslieferungszustand hast du immer 1Mhz


Im übrigen.
Im Datenblatt bei den Clock-Options, dort wo die Fusebedeutung 
aufgelistet sind, müsste es einen Vermerk geben, was Default eingestellt 
ist.

von Cyblord -. (cyblord)


Lesenswert?

Datenblatt: http://www.atmel.com/images/doc8011.pdf

Seite 36, Abschnitt 6.6 und Tabelle 6-10.
Mit Prosa zur Erklärung. Was willst du noch?

Genau dort man es vermutet: System Clock & Clock  Options -> Calibrated 
Internal RC Oscillator.

Man muss davon ausgehen dass du blind bist wenn du das nicht findest.

Und ja, die CLKDIV8 bewirkt dann 1 MHz, was aber mit der Geschwindigkeit 
des Internal RC Oscillators auch wenig zu tun hat. Und die Fuse wird im 
obigen Abschnitt ebenfalls erwähnt und beschrieben inkl. Link auf 
Abschnitt für die Fuse selber.


> wo ist der Trick
Nicht stumpf nach irgendwelchen Stichworten suchen sondern das 
Inhaltsverzeichniss des Datenblattes lesen und sich dort das richtige 
Kapitel zu suchen. Wie liest du Fachbücher? Erstmal im Index nachgucken?

gruß cyblord

von Tilmann (Gast)


Lesenswert?

Vielen Dank für die Antworten, besonders an Karl-Heinz !

Gruß Tilmann

von DerGenervte (Gast)


Lesenswert?

kann nicht endlich einmal jemand cyblord hier rausschmeißen?

von Cyblord -. (cyblord)


Lesenswert?

DerGenervte schrieb:
> kann nicht endlich einmal jemand cyblord hier rausschmeißen?

Was bist du denn für ne Pfeife? Anonym pöbeln, du bist der Held.

@Tilman:
Keine Ursache dass ich dir im Datenblatt deinen Scheiß nachschlagen 
durfte. Kannst du nächstes mal alleine machen. Undank ist der Welten 
Lohn.

von Dennis (Gast)


Lesenswert?

Methode des Praktikers:

CKOUT-Fuse setzen, und an PB1 mit einem Oszi nachmessen...

von Rene (Gast)


Lesenswert?

Ich hab mal einen Code gechrieben, womit man den internen RC auf einen 
32kHz Quarz synchronisieren kann.

Schau :
http://www.ibrtses.com/embedded/avrosccal.html

von eProfi (Gast)


Lesenswert?

Ganz ohne Quarz kann man auskommen, wenn die Bitlänge eines seriellen 
Zeichens gemessen wird, von der man annimmt, dass sie die exakte Dauer 
hat.

D.h. z.B. die Länge (in µC-Cyclen) des vom PC gesendeten Startbits oder 
des ganzen Zeichens (z.B. 0x00) wird gemessen. Wenn sie innerhalb 
gewisser Grenzen liegt, dient sie als Referenzwert.

von Wasserlaeufer (Gast)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Der Trick ist, dass Atmel alle AVR so ausliefert, dass sie im
> Auslieferungszustand auf 1Mhz (mehr oder weniger) laufen.
> (...)
> Egal wie. Im AUslieferungszustand hast du immer 1Mhz

Das "mehr oder weniger" trifft es sehr gut: der ATtiny13A zum Beispiel 
läuft mit 1,2 MHz (der Oszillator schwingt mit 9,6 MHz).

Am besten also wirklich ins Datenblatt des jeweiligen Mikrocontrollers 
schauen, man kann es nicht oft genug sagen...

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.