Forum: Mikrocontroller und Digitale Elektronik Seltsame Taktfrequenz


von Karlo (Gast)


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

von Peter II (Gast)


Lesenswert?

Karlo schrieb:
> Hatt jemand ne Idee? Wo ist mein Denkfehler?

einfach mal die Frequenz am Quarz messen? Geht sogar mit dem Multimeter.

von Karlo (Gast)


Lesenswert?

Das ich da nicht selber draufgekommen bin :-) Kopf -> Tisch

Ja, die Messung hats bestätigt, der Quarz schwingt mit 3.68 MHz...

Muss mich grad tierisch aufregen...

von Karlo (Gast)


Lesenswert?

Nur die Beschriftung macht mich stutzig. Erinnert doch eher an 20 MHz 
als an 3.68.

Hier nochmal meine Fuses:
low high ext
DF   D9  FF

Sollten imho passen.

von Kevin K. (nemon) Benutzerseite


Lesenswert?

Karlo schrieb:
> Den Quarz hab ich heute geliefert bekommen (Pollin...).
bei dem Laden immer messen, nie vertrauen!

von Karlo (Gast)


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?!

von spess53 (Gast)


Lesenswert?

Hi

>Ich verwende das STK500, da sollten doch die Kapazitäten und

Dann steckt der Jumper OSCSEL falsch. Deine 3,68MHz ist der interne Takt 
des STK500. Kam mir gleich so bekannt vor.

MfG Spess

von Karlo (Gast)


Lesenswert?

Und genau so war es...

Danke dir!

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.