Seltsame Taktfrequenz

Gast #2643389
Lesenswert?

Hallo,

ich möchte gerne einen ATmega1284P mit 20MHz laufen lassen.

Allerdings hab ich das Gefühl mein Prozessor werkelt mit 3.68 MHz.

Ein Timerinterrupt sollte alle 2.5ms auftreten, tut dies aber nur alle 
13,7ms
Das entspricht ca. Faktor 5.5.
20 / 5.5 = 3.68

Die Timereinstellungen sind Prescaler 8, Comparewert = 6249 (also ein 
Interrupt alle 2.5ms)

Das ist mein erstes Indiz.

Um das zu überprüfen hab ich im Datenblatt geschaut mit welchem Wert das 
USART Baudratenregister geladen werden muss, um bei 3.68 MHz eine 
Baudrate von 115.200 zu erzeugen.
UBRR = 3.
Diesen Wert hineingeschrieben und zyklisch ein Testzeichen ausgegeben:
Siehe da, ich empfange ein Wunderschönes 'c', genau was ich wollte.
Zweites Indiz dass mein uC mit 3.68MHz läuft.

Mein erster Gedanke war natürlich "falsche Fuses".
Aber wenn ich den internen Prescaler versehentlich aktiviert hätte dann 
wäre mein uC ja um den Faktor 8 langsamer anstatt 5.5 :/
Wenn ich den internen RC Oszillator benutzen würde hätte ich entweder 1 
oder 8 MHz.

Den Quarz hab ich heute geliefert bekommen (Pollin...).
Die Bestellnummer hab ich überprüft, die ist korrekt.
Der Quarz ist beschriftet mit R200YNB5u
Ich hab noch einen zweiten bekommen, dieser trägt die Beschriftung 
R200DNB5K und zeigt das selbe Verhalten.

Hatt jemand ne Idee? Wo ist mein Denkfehler?

Viele Grüße,
Karlo
Gast #2643465
Lesenswert?

Nachtrag:

Ich hab vorher am Prozessorpin (XTAL1) gemessen, da kommen wirklich nur 
3.68 MHz an.

Direkt am Beinchen des Quarzes messe ich aber tatsächlich 20 MHz.

Jetzt bin ich doch leicht verwirrt.
Ich verwende das STK500, da sollten doch die Kapazitäten und 
Leitungswege richtig dimensioniert sein?!

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