mikrocontroller.net

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


Autor: markus s (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mike Dupo (hero2992)
Datum:

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

Autor: g457 (Gast)
Datum:

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

HTH

Autor: Mike Dupo (hero2992)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mike Dupo (hero2992)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Mike Dupo (hero2992)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Mike Dupo (hero2992)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mike Dupo (hero2992)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mike Dupo (hero2992)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: g457 (verkorkste-GUIs-Verabscheuer) (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :-)
Table 8-3.  Crystal Oscillator Operating Modes
                      Frequency   Recommended Range for
                      Range       Capacitors C1 and C2 for 
CKOPT  CKSEL3:1       (MHz)       Use with Crystals (pF)
1      101            0.4 - 0.9   –
1      110            0.9 - 3.0   12 - 22
1      111            3.0 - 8.0   12 - 22
0      101, 110, 111  1.0 ≤       12 - 22

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

HTH

Autor: Mike Dupo (hero2992)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.