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
Wie hast Du das gemacht? Ich dachte SPI kann man garnicht per SPI deaktivieren oder?
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.)
Jörg W. schrieb: > SPIEN hat er aber noch drin. Laut dieser Seite (http://www.engbedded.com/fusecalc/) ist aber SPI und JTAG deaktiviert!
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
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?
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
wie groß müsste das quarz für meine low-frequenz einstellung lauten und wie müsste diese richtig lauten?
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.
Hört sich alles plausibel an, ich ziehe meinen Hut! Kannst Du mir noch die Lottozahlen von morgen verraten? :-)
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.
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.
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
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.
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
> Oder ein altes C64 Quarz an XTAL1?
Wenn ich jetzt wüsste, was darunter zu verstehen ist.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.