Forum: Mikrocontroller und Digitale Elektronik Atmega 2560 verfused - Was tun?


von Jonas Wühr (Gast)


Lesenswert?

Hi,
ich habe meinen AVR verfused.
Es handelt sich um einen ATmega 2560 mit 16Mhz Quarz an den XTALs.
Die Fuses sind jetzt H:FF, E:D1, L:E5.
Kann man den noch irgendwie retten?

Viele Grüße,
Jonas

von Wolfgang (Gast)


Lesenswert?

Jonas Wühr schrieb:
> Kann man den noch irgendwie retten?

Ja, da gibt es gefühlte 1000 Threads zu.

von Nico (nico123)


Lesenswert?

Wie hast Du das gemacht? Ich dachte SPI kann man garnicht per SPI 
deaktivieren oder?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Nico .. schrieb:
> Ich dachte SPI kann man garnicht per SPI deaktivieren oder?

Allerdings hat ein ATmega2560 auch JTAG, damit kann man SPI sehr wohl
abklemmen, und man könnte sich auch ins Knie schießen und JTAG selbst
zugleich mit abklemmen …  SPIEN hat er aber noch drin.

Sein Problem dürfte sein, dass er den low-frequency crystal oscillator
aktiviert hat, dieser aber den 16-MHz-Quarz nicht bedienen mag.

Also entweder (vorübergehend) einen anderen Quarz dranhängen oder
einen externen Takt einspeisen.  (Würde man komplett auf JTAG gehen,
wäre das alles egal gewesen, da JTAG mit seinem eigenen Takt arbeitet.)

von Nico (nico123)


Lesenswert?

Jörg W. schrieb:
> SPIEN hat er aber noch drin.

Laut dieser Seite (http://www.engbedded.com/fusecalc/) ist aber SPI und 
JTAG deaktiviert!

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Nicht einfach blind irgendwas eintippen.  Da oben in der Ausschrift
sind ganz offensichtlich die Namen für efuse und hfuse vertauscht.
hfuse = 0xD1 bedeutet:
1
8 4 2 1 8 4 2 1
2
---------------
3
1.................. OCDEN:   disabled
4
  1................ JTAGEN:  disabled
5
    0.............. SPIEN:   enabled
6
      1............ WDTON:   disabled
7
        0.......... EESAVE:  enabled
8
          0........ BOOTSZ:  max
9
            0......  "        "
10
              1.... BOOTRST: disabled

: Bearbeitet durch Moderator
von Nico (nico123)


Lesenswert?

Jörg W. schrieb:
> Nicht einfach blind irgendwas eintippen.  Da oben in der Ausschrift
> sind ganz offensichtlich die Namen für efuse und hfuse vertauscht.

Okay, da habe ich jetzt mal auf den TO vertraut! Woher weißt Du dass das 
vertauscht wurde?

von Frank S. (hobbyist)


Lesenswert?

Damit sollte der laut Beschreibung wieder hinzubiegen sein:

http://mdiy.pl/atmega-fusebit-doctor-hvpp/comment-page-12/?lang=en

Ich habe noch einen Satz Platinen (Hauptplatine + zwei weitere Adapter) 
hier liegen. Wenn Du Interesse hast, schreib mir eine PN.

Frank

von Jonas Wühr (Gast)


Lesenswert?

wie groß müsste das quarz für meine low-frequenz einstellung lauten und 
wie müsste diese richtig lauten?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Nico .. schrieb:
> Woher weißt Du dass das vertauscht wurde?

Weil eine efuse von 0xD1 gar nicht existieren kann.

Weil die Reihenfolge so herum sinnvoller aussieht.

Weil die Fusewerte so herum zumindest ansatzweise sinnvoll sind
und eben klar wird, dass nur die lfuse nicht zum tatsächlich
angeklemmten Quarz passt.

Weil offenbar nach wie vor trotz einer seit 1,5 Jahren existierenden
Version 6.1 an allen Ecken und Enden noch mit AVRDUDE 6.0.1 gearbeitet
wird, die eben genau diesen Bug hatte, dass die Ausgabe der Fusenamen
vertauscht worden war.

von Nico (nico123)


Lesenswert?

Hört sich alles plausibel an, ich ziehe meinen Hut!
Kannst Du mir noch die Lottozahlen von morgen verraten? :-)

von Fuse Fan (Gast)


Lesenswert?

Frank Saner (hobbyist)schrieb: Damit sollte der laut Beschreibung wieder 
hinzubiegen sein.

Einen Controller im TQFP100 Gehäuse aus und wieder einzulöten ist aber 
nicht jedermanns Sache.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Jonas Wühr schrieb:
> wie groß müsste das quarz für meine low-frequenz einstellung lauten und
> wie müsste diese richtig lauten?

Hast du denn kein Datenblatt?  Da steht doch als erster Satz unter
“Low-frequency crystal oscillator”:
1
The device can utilize a 32.768 kHz watch crystal as clock source by 
2
a dedicated Low Frequency Crystal Oscillator. […]

Ich würde an deiner Stelle lieber ein 1-MHz-Rechtecksignal an XTAL1
einspeisen.  Den 16-MHz-Quarz kannst du dabei dran lassen, der sollte
nicht stören.

Richtige Einstellung wäre:

Full-Swing Crystal Oscillator => CKSEL[3:0] = 0111 - 0110 (Vorauswahl)

Tabelle 15:

Crystal Oscillator, fast
rising power => CKSEL[0] = 1, SUT[1:0] = 10
1
8 4 2 1 8 4 2 1
2
---------------
3
1.................. CKDIV8: disabled
4
  1................ CKOUT:  disabled
5
    1.............. SUT:    10
6
      0............ 
7
        0.......... CKSEL:  0111
8
          1........ 
9
            1...... 
10
              1....

Also 0xe7.  Falls du anderen Randbedingungen in Tabelle 15 hast, dann
entsprechend modifizieren.

von Frank S. (hobbyist)


Lesenswert?

Ups, ich habe in der Liste nur nach dem Typ geschaut, nicht nach der 
Bauform. Da hast Du natürlich Recht. Dazu hätte ich auch nicht wirklich 
viel Lust.

Frank

von Peter D. (peda)


Lesenswert?

Man nehme einen 2. AVR (z.B. ATtiny13), programmiere ihn als 32kHz 
Taktgenerator und schließe ihn an XTAL2 an.
Der Quarz kann drin bleiben.
Und als erste Programmieraktion die Signatur lesen, ob die stimmt.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Peter D. schrieb:
> Man nehme einen 2. AVR (z.B. ATtiny13), programmiere ihn als 32kHz
> Taktgenerator und schließe ihn an XTAL2 an.

Ich würde ihn lieber auf 1 MHz programmieren, sonst muss man einen
extrem langsamen ISP-Takt benutzen.

Die Eingangsstufe des LF-Quarzoszillators wird schon irgendwie mit
1 MHz zurecht kommen.

Nur, wenn das gar nicht geht, würde ich dann noch auf 32 kHz gehen.

Ähem, an XTAL1 anschließen.  XTAL2 ist ein Ausgang.

> Und als erste Programmieraktion die Signatur lesen, ob die stimmt.

Macht AVRDUDE ohnehin.

: Bearbeitet durch Moderator
von S. Landolt (Gast)


Lesenswert?

Ähem, 100 kHz an XTAL2 (sic!).

von Jonas Wühr (Gast)


Lesenswert?

Oder ein altes C64 Quarz an XTAL1?

von S. Landolt (Gast)


Lesenswert?

> Oder ein altes C64 Quarz an XTAL1?
Wenn ich jetzt wüsste, was darunter zu verstehen ist.

von Stephan B. (matrixstorm)


Lesenswert?

Hi

http://matrixstorm.com/avr/tinyusbboard/firmwares.html#firmwaresprogrammer

Bringt eine Leitung (weiss) für Takt mit.

Bei Interesse schreib mir einfach eine PN.

MfG

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.