Forum: Mikrocontroller und Digitale Elektronik Fuses setzen: ATmega32A mit externen Quarz (8Mhz)


von markus s (Gast)


Lesenswert?

Hallo,

ich möchte meinen externen Quarz (8Mhz) für einen ATmega32A in Betrieb 
nehmen. Ich verwende dabei AVR Studio und AVRISP mkII. Wie muss ich die 
Fuses festlegen.

Unter "Fuses" finde ich den Punkt "SUT CKSEL". Welchen muss ich da 
auswählen? Mir ist klar das ich einen Ext.Crystal/Resonator nehmen muss. 
Die weiteren Angaben sind mir unklar:

LOW/MED/HIGH?
Startup-Time

Muss ich daneben noch andere Fuse-Bits setzen?

Viele Grüße
Markus

von Mike D. (hero2992)


Lesenswert?

Hallo habe genau das gleiche problem...nur das ich einen 3,6864 MHz 
Quarz Habe, ansonsten ist alles gleich wie bei Markus...

von g457 (Gast)


Lesenswert?

Kuckst Du Datenblatt Kapitel '8 System Clock and Clock Options', 
insbesondere '8.2 Clock Sources' und '8.4 Crystal Osciallator'.

HTH

von Mike D. (hero2992)


Lesenswert?

hallo ich habe mir das Datenblatt durchgelesen... vertshe es aber 
trotzdem noch nicht so richtig... wie ich die Fuses jetzt programieren 
muss...

Das hier habe ich gefunden.. weis es jedoch nicht anzuwenden... und dann 
muss der ja auch noch auf 3,6864MHz gestellt werden

External Crystal/Ceramic Resonator : 1111 - 1010
(Clock surces : Table2)

Bitte um hilfe...

Gruss Hero

von g457 (Gast)


Lesenswert?

Das sieht schon mal gut aus. Im Kapitel '8.4 Crystal Oscillator' stehen 
die Details (Table 8-3. Crystal Oscillator Operating Modes, Table 8-4. 
Start-up Times for the Crystal Oscillator Clock Selection).

HTH

von Mike D. (hero2992)


Lesenswert?

Hallo... ich glaube ich habe ein anderes Handbuch... finde keine Tabelle 
8.3 oder 8.4...
habe das Handbuch das ATMEGA32...

und hier finde ich das hier:

Table 4.

CKOPT ! CKSEL3..1 ! Frequency Range(MHz)
  1      101(1)        0.4 - 0.9
  1      110           0.9 - 3.0
  1      111           3.0 - 8.0
  0   101, 110, 111       1.0 ≤

weiss noch nicht genau wie ich die zusammensetzen muss...

von Mike D. (hero2992)


Lesenswert?

Es gibt ja 8 Low Fuses die zum einstellen des Taktes zuständig sind... 
da ich jetzt aber schon 8 habe mit

External Crystal/Ceramic Resonator : 1111 - 1010
(Clock surces : Table2)

weiss ich nicht wo ich die anderen ... hinsetzen soll

1      111           3.0 - 8.0

(gehe mal davon aus das ich diese zeile beachtn muss)

von STK500-Besitzer (Gast)


Lesenswert?

>ich glaube ich habe ein anderes Handbuch...
Es gibt zwei Varianten des Manuals: Die Kurzversion "Summary" und die 
richtige Version. Die beiden unterscheiden sich beim Download um ein 
paar MB.

von g457 (Gast)


Lesenswert?

Ich beziehe mich mit meinen Angaben auf das Datenblatt von Atmel [1].

Du hast jetzt die folgenden Einstellungen zusammengetragen:

> CKOPT CKSEL3..1 Frequency Range(MHz)
> 1     111       3.0 - 8.0

Jetzt fehlt Dir noch CKSEL0 und dazu die SUT, die stehen in obigem 
Datenblatt in einer eigenen Tabelle (Table 8-4. Start-up Times for the 
Crystal Oscillator Clock Selection).

Abhängig von der verwendeten Programmiersoftware nimmst Du die Infos und 
packst sie direkt rein (z.B. 'SUT -> 10', 'CKSEL 1110', ..) oder Du 
bastelst Dir die Fuses von Hand zusammen. Welches Bit wo steht findet 
sich im selben Datenblatt im Kapitel '26.2 Fuse Bits' (Table 26-4. Fuse 
Low Byte, CKOPT ist in der hfuse). Es eribt sich dann sowas wie 'lfuse = 
0xEE', was Du direkt fusen kannst.
Beim AVRstudio funktionieren so weit ich weiss beide Methoden, letztere 
ist aber die zuverlässigere.

HTH

[1] http://atmel.com/dyn/resources/prod_documents/doc8155.pdf

von Karl H. (kbuchegg)


Lesenswert?

Und der allerwichtigste Tip:
Ehe du die Fuses neu setzt: die bestehenden auslesen und mit dem 
Handbuch vergleichen. DIe Defaulteinstellung ist im Handbuch markiert! 
Erst wenn du diese Übereinstimmung hinkriegst, bist du soweit die Fuses 
neu einzustellen. Unterschiedliche Brennprogramme haben unterschiedliche 
Ansichten darüber, wie sie eine 1 im Handbuch haben wollen!

Das, und die Verwechslung  Crystal/external Clock, gehören wohl zu den 
Top 2 Gründen, warum ein Mega nach dem Neuschreiben der Fuses nicht mehr 
will. Im Zweifelsfall kann man CKOPT mit dazugeben. Der Mega braucht 
dann ein bischen mehr Strom, aber der Schwingkreis wird dann stabiler, 
so dass es nicht so tragisch ist, wenn man den falschen Frequenzbereich 
einstellt.

von Mike D. (hero2992)


Lesenswert?

hallo die CKSel und suthabe ich gefunden weis jedoch nicht welche ich 
holen muss..."DENKE MAL" eines der letzten 3...Crystall Oszillator,

                             CKSEL       !      SUT
-BOD Enable                    1                 01
-fast rising Power             1                 10
-slowly rising power           1                 11

???

@Karl Heinz

Wieso muss ich die auslesen... habe die Fuses gestern auf "Standard" 
gestellt...

da ich mich schon einmal beim brennen vertan habe... und das IC Retten 
musste...

habe bisher nur den JTAG umgestellt damit ich den kompletten Port C 
verwenden kann...

Gruss Mike

von g457 (Gast)


Lesenswert?

>                              CKSEL       !      SUT
> -BOD Enable                    1                 01
   ^- brown-out-detection, hast Du die an?

> -fast rising Power             1                 10
> -slowly rising power           1                 11

Sichere Seite: 'slow' annehmen, nur wenn Du sicher weisst, dass die 
Spannung schnell genug kommt (und Du die Zeitersparnis von gut 60ms 
brauchst!), dann auf 'fast' umstellen.

HTH

von Mike D. (hero2992)


Lesenswert?

hallo ich werde dal Low Fuse bit jetzt wiefolgt über schreiben...:

Ext. Crystal/Resonator Medium Freq.;Start-up time: 16K CK +64 ms

das währe dann fl : xx111101 (hex)

nur bin ich mir nicht sicher ob Medium, Low oder High Frequenz

würde das sonst stimmen?

von Michael U. (amiga)


Lesenswert?

Hallo,

ab 8MHz ist alles High, darunter Medium, Low dürfte nur ganz untern 
passen (Uhrenquarze usw.).

Mit High, längster Startzeit und CKOPT programmiert liefen bei mir mit 
2x 22p alle AVR mit Quarzen zwischen ca. 2MHz und 16/20MHz ohne Probleme 
an.
Ich setze immer so, auch wenn ich dann auf dem Steckbrett zum Test mal 
einen anderen Quarz raufstecke.

Quarze sind die üblichen Blechbüchsen beliebiger Herkunft, oft aus 
Mainboards, Grafikkarten usw, ausgelötet.

Wichtig ist da eher die kurze Verbindung Quarz-AVR-Kondensatoren und die 
kurze Verbindung Kondensatoren - GND-Pin des AVR und die 100n dicht an 
den VCC/GND-Pins des AVR, speziell auf einem Steckbrett oder Lochraster 
gibt es sonst ab 8 MHz schnell mal Probleme mit dem Anschwingen.

Gruß aus Berlin
Michael

von Mike D. (hero2992)


Lesenswert?

hallo... ich habe grade eine seite gefunden in der es so steht... dass 
ab 3 MHz alles High ist...

ich werd se jetzt so programmieren und sehen was es wird...... vielen 
dank schon mal...

gruss aus Belgien...

Mike

von g457 (verkorkste-GUIs-Verabscheuer) (Gast)


Lesenswert?

> hallo... ich habe grade eine seite gefunden in der es so steht... dass
> ab 3 MHz alles High ist...

Das steht wie immer im Datenblatt was wann wo wie ist :-)
1
Table 8-3.  Crystal Oscillator Operating Modes
2
                      Frequency   Recommended Range for
3
                      Range       Capacitors C1 and C2 for 
4
CKOPT  CKSEL3:1       (MHz)       Use with Crystals (pF)
5
1      101            0.4 - 0.9   –
6
1      110            0.9 - 3.0   12 - 22
7
1      111            3.0 - 8.0   12 - 22
8
0      101, 110, 111  1.0 ≤       12 - 22

Diese Info auf Deine verkorkste GUI abzubilden obliegt dir dann aber 
wieder selbst..

HTH

von Mike D. (hero2992)


Lesenswert?

hallo... egal als was du mich betrachtest... ich möchte mich vielmals 
für deine Hilfe bedanken... dann nun gehts endlich... im nachhinein sehe 
ich selbst das ich dumme fragen gestellt habe...aber naja... aus fehlern 
lernt man...

Danke an alle für eure Hilfe... besonders an g457...

merci... Mike

von g457 (Gast)


Lesenswert?

> egal als was du mich betrachtest

Na so schlimm wars hoffentlich nicht, war jedenfalls nicht so gemeint 
von mir :-) Schließlich haben wir alle mal angefangen (gibt aber leider 
auch immer wieder Leute, die sich da nicht mehr dran erinnern können..).

Und ausserdem ist eh das..

> aus fehlern lernt man

..das wichtigste dabei ;-)

HF

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.