Atmega1284P Quarz in AVR-Studio einstellen

Gast #4162548
Lesenswert?

Hallo,

ich möchte gerne im AVR-Studio den Atmega1284P auf einen 16 Mhz Quarz 
einstellen.
Leider finde ich hier nicht die Möglichkeiten, wie sie beim Atmega32 vom 
AVR-Studio angezeigt werden.

Folgende Möglichkeiten werden bei dem 1284P angezeigt:
EXTCLK
INTRCOSC
EXTLOFXTAL
FSOSC
EXTXOSC

Das einzige was hier Sinn macht ist der EXTLOFXTAL.
Wenn ich nach LowFrequenz im Datenblatt suchen, erhalte ich "optimized 
for use with a 32.768 kHz".

Was muss ich auswählen, damit ich meinen 16 Mhz Quarz mit den zwei 22pF 
Kondensatoren betreiben kann?


Gruß IH453
#4162566
Lesenswert?

IH453 schrieb:
> EXTCLK
Externer Takt per Quarz oder Keramik Resonator. Nur noch passend Bauart, 
Frequenz, Anschwingzeit und Totzeit nach Reset wählen. Wenn das Gerät 
nicht extrem schnell nach dem Einschalten aktiv sein muss, lieber 10ms 
mehr zugeben. Die Einstellung, die du nehmen solltest.

> INTRCOSC
interner RC Oszillator, willst du nicht.

> EXTLOFXTAL
externer Quarz mit niedriger Frequenz. Auch nicht richtig.

> FSOSC
Full Swing Oszillator. Gute Wahl, wenn man keine EMV Probleme hat. 
Schwingt sauber und wenig störanfällig. Normale Quarze sollten diese 
Last aushalten.

> EXTXOSC
Externer Taktgenerator. Hast du nicht.
Gast #4162585
Lesenswert?

Danke für eure schnellen Antworten.
Insbesondere Georg G. für die ausführliche Beschreibung.
Ähnlich habe ich mir die Abkürzungen auch hergeleitet, jedoch bin ich 
bei EXTCLK davon ausgegangen, dass hiermit ein externer Takt gemeint 
ist, welcher von einem anderen IC o.Ä. geliefert wird.

Eine Frage hätte ich noch:
bei EXTCLK finde ich:

EXTCLK_6CK_0MS
EXTCLK_6CK_4MS
EXTCLK_6CK_65MS

Warum sind hier keine Frequenzangaben zu finden? Lieg dies daran, dass 
die Quarze bereits einen festen Wert haben?


Gruß IH453
#4162611
Lesenswert?

Ingo Less schrieb:
> Nein, das liegt daran das es sich hier um eine externe Taktquelle
> handelt

Atmel ist da leider etwas unpräzise.
EXTCLK ist ein externer Quarz oder Keramik Resonator.
Die externe Taktquelle ist EXTXOSC.


IH453 schrieb:
> EXTCLK_6CK_0MS
Verzögerung nach Reset ist 6 Taktimpulse + 0ms
> EXTCLK_6CK_4MS
Verzögerung nach Reset ist 6 Taktimpulse + 4ms
> EXTCLK_6CK_65MS
Verzögerung nach Reset ist 6 Taktimpulse + 65ms

Im Datenblatt ist das recht gut beschrieben. Du findest dort auch alle 
Vorteile und Nachteile der diversen Einstellungen sowie die nicht 
empfohlenen Kombinationen.
Gast #4162882
Lesenswert?

Ich hatte die Nachricht von Ingo Less eben wohl übersehen. Mittleweile 
weis ich, dass man mehr Informationen angezeigt bekommt, wenn man mit 
der Maus über den jeweiligen Modus fährt.

So steht bei
EXTCLK: Ext Clock....
und bei
EXTXOSC: Ext. Chrystal...

Die Frequenzbereiche, welche bei EXTXOSC angegeben sind entsprechenen 
denen, welche im Manual unter "Low Power Crystal Oscillator" stehen.

Ebenso finde ich hier auch den Abschnitt "External Clock" mit einem 
Wertebereich von 0 - 20 Mhz und genau drei verschiedenen Delay-Zeiten.

Da ich mich auf keinen Fall, aufgrund falscher Fuse-Bits, aussperren 
will, wollte ich noch einmal nachfragen, ob in der obigen Beschreibung 
vielleicht EXTCLK und EXTXOSC vertauscht wurden?


Gruß IH453
Gast #4162959
Lesenswert?

Ich bin nicht davon ausgegangen, dass es bei den Studioversionen so 
große Unterschiede gibt. Das nächtse Mal gebe ich die Studioversion mit 
an.

Danke für deine Hilfe.
Werde dies dann so umsetzen.
Gast #4163199
Lesenswert?

IH453 schrieb:

> Da ich mich auf keinen Fall, aufgrund falscher Fuse-Bits, aussperren
> will, wollte ich noch einmal nachfragen, ob in der obigen Beschreibung
> vielleicht EXTCLK und EXTXOSC vertauscht wurden?

Du meinst die von "Georg G."? Ja da sind die beiden Sachen genau 
vertauscht, d.h.: du hättest dich erstmal ausgesperrt.

Allerdings nicht schlimm, ein auf EXTCLK gefuseter läßt sich immerhin 
relativ leicht wieder zum Leben zu erwecken, selbst wenn er schon auf 
SMD gelötet ist.

Trotzdem eine Sache, die man nicht unbedingt braucht, also war es 
einigermaßen clever, dass du selber aufgepaßt hast.
Gast #4165691
Lesenswert?

Danke euch Beiden für eure Antworten.
Ich habe EXTOSC_8MHZ_XX_16KCK_65MS gewählt und mich nicht ausgesperrt.
Soweit so gut.
Jetzt habe ich jedoch das Problem, dass wohl noch irgendetwas fehlt.

Wähle ich
1
F_CPU 1000000
, so funktioniert der folgende Code ziemlich gut.
1
PORTC=0b00000001;
2
_delay_ms(1000);
3
PORTC=0b00000000;
4
_delay_ms(1000);

Der Takt entspricht ungefähr einer Sekunde.
Setze ich nun
1
F_CPU 16000000
, so brauch der obige Code ein vielfaches der Zeit von zuvor. Obwohl 
diese ja konst. bleiben müsste.

Ich hoffe ihr könnt mir auch diesesmal weiter helfen.
Bei dem Atmega32 waren keine weiteren Einstellungen notwendig.


Gruß IH453
#4165776
Lesenswert?

IH453 schrieb:
> Ich habe EXTOSC_8MHZ_XX_16KCK_65MS gewählt und mich nicht ausgesperrt.
> Soweit so gut.
> Jetzt habe ich jedoch das Problem, dass wohl noch irgendetwas fehlt.
>
> Wähle ichF_CPU 1000000, so funktioniert der folgende Code ziemlich gut.

F_CPU muss natürlich im Code gesetzt sein passend zum Quarz!

Ich nutze auch Studio 4.18 SR3 dort unter Projekt Settings.
Auch muss der Haken CLOCK div 8 weg.

sonst hast du zu lahme Ausführung.

Dein "Fehler" liest sich aber wie interne 8 MHz und clock div 8

wenn deine 16 MHz aber keine sind sondern 8 / 8 weil intern muss der 16 
MHz CPU CODE langsamer laufen, weil falsche Voraussetzungen.

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