Forum: Mikrocontroller und Digitale Elektronik ATmega8 falsche fuse :-(


von Steffen G. (Gast)


Lesenswert?

Hallo,

Ich habe bei einen Mega8 die fuses falsch gesetzt.
Und zwar Low-Byte 0xC8 und das High-Byte 0xFF
Den Atmega habe ich davor mit einen externen 8Mhz Quarz betrieben.
Mit welcher Methode kann ich die fuses wieder richtig schreiben, der 
Atmel wird jetzt garnicht mehr erkannt.

von HildeK (Gast)


Lesenswert?

Du hast ihn auf die Verwendung eines externen RC-Oszillators von 8-12 
MHz eingestellt.
Also musst du einen extern RC-Oszillator in dem Frequenzbereich 
anschließen. Dann kannst du ihn wieder ansprechen.

von Martin (Gast)


Lesenswert?


von Martin (Gast)


Lesenswert?

Ne geht nicht er hat damit den Reset Pin deaktiviert als auch die ISP 
Programmierung!

von Sean G. (atmega318)


Lesenswert?

http://www.engbedded.com/fusecalc/
Sieht so aus, als ob du ihn auf externen Oszillator umgestellt hast! 
Also - Oszillator anhängen und fuses resetten. Wenn du keinen Oszillator 
hast tut`s auch ein Pin eines anderen uC`s, welchen man so schnell wies 
geht an und ab schaltet.

Absoluter ghetto modus (HAT BEI MIR SCHON MEHRMALS FUNKTIONIERT!), ist 
ein einige Meter langer Draht. Sofern es genug RF-Müll in der Luft 
hat...

von Steffen G. (Gast)


Lesenswert?

Martin schrieb:
> Ne geht nicht er hat damit den Reset Pin deaktiviert als auch die
> ISP Programmierung!

Habe ich über isp keine Möglichkeit?

HildeK schrieb:
> Du hast ihn auf die Verwendung eines externen RC-Oszillators von
> 8-12 MHz eingestellt. Also musst du einen extern RC-Oszillator in dem
> Frequenzbereich anschließen. Dann kannst du ihn wieder ansprechen.

Ich habe das schon mit 8Mhz und 1Mhz ohne Erfolg getestet.

Sean Goff schrieb:
> http://www.engbedded.com/fusecalc/
> Sieht so aus, als ob du ihn auf externen Oszillator umgestellt hast!
> Also - Oszillator anhängen und fuses resetten. Wenn du keinen Oszillator
> hast tut`s auch ein Pin eines anderen uC`s, welchen man so schnell wies
> geht an und ab schaltet.
>
> Absoluter ghetto modus (HAT BEI MIR SCHON MEHRMALS FUNKTIONIERT!), ist
> ein einige Meter langer Draht. Sofern es genug RF-Müll in der Luft
> hat...

Meinst du das ernst mit den RF-Müll? :-D

von Sean G. (atmega318)


Lesenswert?

Steffen G. schrieb:
> Martin schrieb:
>> Ne geht nicht er hat damit den Reset Pin deaktiviert als auch die
>> ISP Programmierung!
>
> Habe ich über isp keine Möglichkeit?

Hmm also so wie ich das sehe ist RSTDISBL nicht gesetzt. Sollte also 
gehen.

> HildeK schrieb:
>> Du hast ihn auf die Verwendung eines externen RC-Oszillators von
>> 8-12 MHz eingestellt. Also musst du einen extern RC-Oszillator in dem
>> Frequenzbereich anschließen. Dann kannst du ihn wieder ansprechen.
>
> Ich habe das schon mit 8Mhz und 1Mhz ohne Erfolg getestet.

Hmm das sollte gehen! Ist der Takt auch am richtigen Pin (CLKIN)?

> Sean Goff schrieb:
>> http://www.engbedded.com/fusecalc/
>> Sieht so aus, als ob du ihn auf externen Oszillator umgestellt hast!
>> Also - Oszillator anhängen und fuses resetten. Wenn du keinen Oszillator
>> hast tut`s auch ein Pin eines anderen uC`s, welchen man so schnell wies
>> geht an und ab schaltet.
>>
>> Absoluter ghetto modus (HAT BEI MIR SCHON MEHRMALS FUNKTIONIERT!), ist
>> ein einige Meter langer Draht. Sofern es genug RF-Müll in der Luft
>> hat...
>
> Meinst du das ernst mit den RF-Müll? :-D

So halb ;)
Ich hab`s tatsächlich mal so gemacht (hatte keine alternative 
Taktquelle, nichtmal nen 2. uC), brauchte aber so ca. 3 Versuche bis es 
ohne Unterbruch klappte

von Martin (Gast)


Lesenswert?

Steffen G. schrieb:
> Habe ich über isp keine Möglichkeit?

Leider nicht, aber wenn du noch irgendwo einen Arduino Uno rumliegen 
hast kann ich dir den HVSP Programmer empfehlen:
http://mightyohm.com/blog/2008/09/arduino-based-avr-high-voltage-programmer/


Ist einfach und schnell nachgebaut.... musst halt nur noch irgendwo eine 
12Volt Stromversorgung herbekommen...

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


Lesenswert?

Steffen G. schrieb:
> Habe ich über isp keine Möglichkeit?

Schreib' doch einfach mal, in welcher Ecke des Landes du zugange bist.
Vielleicht findet sich ja gleich bei dir um die Ecke jemand, der einen
STK500 oder AVR Dragon hat, der die HV-Programmierung schon von Haus
aus kann.

Oder du tütest das Ding in einen Briefumschlag, legst einen frankierten
Rückumschlag bei, und schickst es mir.  Adresse findest du, wenn du
dich bemühst.

von Sean G. (atmega318)


Lesenswert?

http://www.engbedded.com/fusecalc/
Weshalb ist da das RSTDISBL Kästchen abgewählt, wenn ich C8 und FF 
eingebe? Das würde doch heissen, dass ISP gehen sollte...

von Steffen G. (Gast)


Lesenswert?

Sean Goff schrieb:
> Hmm also so wie ich das sehe ist RSTDISBL nicht gesetzt. Sollte also
> gehen.

Der ist nicht gesetzt
0xc8 == 11001000

Sean Goff schrieb:
> Hmm das sollte gehen! Ist der Takt auch am richtigen Pin (CLKIN)?

Da liegt glaube ich mein Fehler, habe das Rechtecksignal an xtal1 
angeschlossen, xck ist der richtige pin oder?

@martin
Danke für den Tip, der mega8 ist in tqfp32 dafür jetzt extra eine 
Platine ätzen ist es nicht wert.
Es Handelt sich um einen usbasp, der kostet ja fast nichts ;-)

@jörg

Danke für dein Angebot, das Porto ist es nicht wert, das Teil kostet ja 
aus China keine 3€

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


Lesenswert?

Steffen G. schrieb:
> habe das Rechtecksignal an xtal1 angeschlossen

Das ist korrekt.

Geh mal mit dem ISP-Takt noch runter.

von Martin (Gast)


Lesenswert?

Sean Goff schrieb:
> Weshalb ist da das RSTDISBL Kästchen abgewählt, wenn ich C8 und FF
> eingebe? Das würde doch heissen, dass ISP gehen sollte...

Trotzdem ist das SPIEN Bit nicht gesetzt

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


Lesenswert?

Martin schrieb:
> Trotzdem ist das SPIEN Bit nicht gesetzt

SPIEN kann man via SPI gar nicht ausschalten.

von Steffen G. (Gast)


Lesenswert?

Jörg Wunsch schrieb:
> Steffen G. schrieb:
> habe das Rechtecksignal an xtal1 angeschlossen
>
> Das ist korrekt.
>
> Geh mal mit dem ISP-Takt noch runter.

Ich verwende einen zweiten usbasp +
eXtreme Burner AVR, kann ich das mit diesen Programm? Oder am besten 
gleich mit AVR-Dude

von Martin (Gast)


Lesenswert?

Sehr witzig weil ich das Problem mit einem USBASP auc schon mal hatte :D

Steffen G. schrieb:
> Danke für den Tip, der mega8 ist in tqfp32 dafür jetzt extra eine
> Platine ätzen ist es nicht wert.
> Es Handelt sich um einen usbasp, der kostet ja fast nichts ;-)

Sehr witzig weil ich das Problem mit einem USBASP auch schon mal hatte 
:D ... ich habe damals kleine Drähte an die Beinchen gelötet... wollte 
ihn ungerne wegschmeißen

von Martin (Gast)


Lesenswert?

Jörg Wunsch schrieb:
> SPIEN kann man via SPI gar nicht ausschalten.

Ja du hast recht... habe mich nur nach den Vorgegebenen Hex Werten 
gehalten! Dann liegt es wohl doch nur an dem externen RC Osc.

von Steffen G. (Gast)


Lesenswert?

Danke für eure Ratschläge, werde es morgen nochmal versuchen

von HildeK (Gast)


Angehängte Dateien:

Lesenswert?

Externe RC-Oszillator sieht aus wie im angehängten Bild - siehe 
Datenblatt.
C > 22pF, 10MHz = 1/(3RC).

von Steffen G (Gast)


Lesenswert?

Nochmals danke für die Hilfe, ich habe leider gesehen das ich die fuses 
falsch gepostet habe.

 High == 0xC8 --> BOOTRST programmiert und somit kein Reset für ISP
 Low ==  0xFF

Also würde nur ein HV-Programmer helfen, der sich aber für eine 2,22€ 
Schaltung nicht Wirtschaftlich ist ;-)

von Peter D. (peda)


Lesenswert?

Steffen G schrieb:
> High == 0xC8 --> BOOTRST programmiert und somit kein Reset für ISP
>  Low ==  0xFF

Dann sollte mit dem Quarz das ISP einwandfrei gehen.
Das BOOTRST ist für ISP schnurz.

von Steffen G (Gast)


Lesenswert?

Mit 8Mhz Quarz funktioniert es nicht, oder muss ich dazu einen 
Oszillator dazu verwenden? Wenn ja welche Frequenz? Mit 1Mhz (vom Oszi) 
hatte ich auch keinen Erfolg

von Pete K. (pete77)


Lesenswert?

Ja, muss ein Quarz sein, kein Oscillator.

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


Lesenswert?

Steffen G schrieb:
> Mit 1Mhz (vom Oszi) hatte ich auch keinen Erfolg

Dann solltest du am besten mit 100 kHz ISP-Takt rangehen.

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.