Forum: Mikrocontroller und Digitale Elektronik Atmega32 verfused?


von Thomas Frosch (Gast)


Lesenswert?

Ich habe gerade einen Atmega32 mit 16MHz externen Quarzoszillator 
gefused und geflasht. Dies hat wunderbar funktioniert. Ein Testprogramm 
konnte ich ohne Probleme zum laufen bringen. Programmiert habe ich es 
mit dem AvrIsp mkII Klon.

Nun wollte ich ein Programm welches im Makefile noch einmal fused 
aufspielen:

Auszug aus dem Makefile:
FUSE_BITS = -u -U lfuse:w:0xff:m -U hfuse:w:0xcf:m

Dies habe ich bisher immer so gemacht und dabei ein STK200 kompatibles 
Programmiergerät, welches über die parallele Schnittstelle läuft 
benutzt. Heute habe ich dazu einen AvrIsp mkII Klon benutzt. Und nun 
kann ich kein Programm mehr auf den µC schreiben. Bei AVRDUDE bekomme 
ich
avrdude: stk500v2_command(): command failed
angezeigt. Selbst mit dem stk200 kompatiblen Programmiergerät kann ich 
nicht mehr auf die Fuses zugreifen.

Kann es sein, dass beim übertragen ein Bitfehler beim SPIEN fusebit 
passiert ist?
Habe bereits 2 Mikrocontroller in diesen blöden Zustand versetzt. Wie 
kann ich sie wieder retten?

von Martin N. (emsen)


Lesenswert?

Na, mal wieder ein Fusebit abgerostet?  ;-)

Thomas Frosch schrieb:
> AvrIsp mkII Klon

Thomas Frosch schrieb:
> STK200 kompatibles Programmiergerät

Da sind solche Probleme leider nicht auszuschliessen...
Und ich weis jetzt auch nicht aus dem Stegreif, was denn 0xcf im hbyte 
bedeutet. Bitte mal alle aktivierten Funktionen nennen!

Informiere Dich bitte hier im Forum mittels der Suchfunktion über:
Fusebit, AVRmkII (original!!!), HV-Programmierung, AVRdragon

von syn_error (Gast)


Lesenswert?

>lfuse:w:0xff
Du hast die Fuse für einen Quarz eingestellt hast aber einen 
Quarzoszillator.

von Verfusednochmal (Gast)


Lesenswert?

Wenn Du einen Atmega8 und Steckbrett hast, kannst Du z.B. den 
Fusebit-Doctor aufbauen. Der kann auch den Atmega32 per HV auf 
Werkseinstellung zurücksetzen.

http://diy.elektroda.eu/atmega-fusebit-doctor-hvpp/?lang=en

von Thomas Frosch (Gast)


Lesenswert?

Oh super HV per Atmega 8 hört sich klasse an! Ich habe die Fuses auf 
Quarz eingestellt? Welche Einstellung müsste ich machen für einen 
Quarzoszilator?

Also erstmal Grundlegend zum verständnis. Quarzoszilatoren sind doch die 
relativ großen rechteckigen metalgehäuse mit 4 pins wobei einer nicht 
belegt ist und den ich an XTAL1 anschließe.

Und ein Quarz ist doch ein zweipiner der noch mit 2 Kondensatoren an 
XTAL1 & XTAL2 angeschlossen wird richtig?

Muss ich für Quarzoszilatoren auf Ext. Clock stellen oder z.B. auf
Ext. Cristal/Resonator High Freq.; Start-up time: 16K CK + 64 ms; 
[CKSEL=1111 SUT=11]

Sollte es nur am Takt liegen kann ich doch auch einfach schnell einen 
Quarz anschließen und mit dem die Einstellungen ändern oder?

von syn_error (Gast)


Lesenswert?

>Welche Einstellung müsste ich machen für einen Quarzoszilator?
Datenblatt lesen, dort steht alles beschrieben.

>Quarzoszilatoren sind doch die
>relativ großen rechteckigen metalgehäuse mit 4 pins wobei einer nicht
>belegt ist und den ich an XTAL1 anschließe.
>
>Und ein Quarz ist doch ein zweipiner der noch mit 2 Kondensatoren an
>XTAL1 & XTAL2 angeschlossen wird richtig?
Richtig.

>Muss ich für Quarzoszilatoren auf Ext. Clock stellen oder z.B. auf
>Ext. Cristal/Resonator High Freq.
Datenblatt lesen!
Quarzoszilatoren = Ext. Clock
Quarz = Ext. Cristal/Resonator

>Sollte es nur am Takt liegen kann ich doch auch einfach schnell einen
>Quarz anschließen und mit dem die Einstellungen ändern oder?
Richtig.

von Netiquette (Gast)


Lesenswert?

Mit der einfache Suche findet man hier fünf Threads mit dem Titel 
"AtMega32 verfused" o.ä. und unzählige, die sich mit dem gleichen 
Problem bei anderen ATxxx beschäftigen. Kann man die nicht einfach mal 
lesen oder sich wenigstens einen anderen Titel ausdenken. So viele 
Fehlermöglichkeiten gibt es da doch nun wirklich nicht.

von Thomas Frosch (Gast)


Lesenswert?

Hatte mich am tutorial orientiert. Die haben mit einem 4mhz quartzoszi 
keinen hacken bei den c fuses. Und bisher ging es komischerweise immer!

Danke für die Hilfe. Werde es nun erstmal mit dem takt versuchen 
ansonsten hv.

von syn_error (Gast)


Lesenswert?

>Hatte mich am tutorial orientiert. Die haben mit einem 4mhz quartzoszi
>keinen hacken bei den c fuses.
Link?

von Thomas Frosch (Gast)


Lesenswert?


von syn_error (Gast)


Lesenswert?

So wie ich das erkenne, ist ein Haken eine "0" und kein Haken eine "1".
Somit wird nach folgendem Bild
http://www.mikrocontroller.net/images/atmega8-nachher.png

Crystal Oscillator 3.0 - 8.0 Mhz, slowly rising power.

eingestellt.

Im Text ist aber die Rede von einem Quarzoszillator.
Es scheint so als habe sich da ein Fehler eingeschlichen denn die 
richtige Einstellung wäre laut Datenblatt:
"To run the device on an external clock, the CKSEL Fuses must be 
programmed to “0000”."

von Thomas Frosch (Gast)


Lesenswert?

Meines erachtens nach wird nach dem Bild:

Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 64 ms; 
[CKSEL=1111 SUT=11]

eingestellt!

Was nun?

von syn_error (Gast)


Lesenswert?

>Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 64 ms;
>[CKSEL=1111 SUT=11]
Richtig, und das ist ein Quarz den man mit zwei Kondensatoren beschalten 
muss das er anfängt zu schwingen.

Du hast aber einen Quarz der schon fix und fertig beschalten in einem 
Gehäuse ist und den Takt an einem Pin liefert.
Hier muss man die Fuse nun wie folgt einstellen:
"To run the device on an external clock, the CKSEL Fuses must be 
programmed to “0000”."

von Thomas Frosch (Gast)


Lesenswert?

Ok also das im Tutorial ist also nicht ganz richtig. Nur blöd, dass ich 
seid Jahren schon so arbeite und es mir erst jetzt auffällt. Bin jetzt 
auch auf SMD Atmegas umgestiegen. Die scheinen mir etwas empfindlicher 
bzw. entsprechend dem Datenblatt mehr ^^.

Gut also vielen Dank. Werde es nun mit HV Programmieren versuchen.

von syn_error (Gast)


Lesenswert?

Wenn du einen Quarz von 3.0 - 8.0 Mhz und zwei Keramikkondensatoren mit 
dem Wert 20-30 Pf hast, kannst du den Atmega auch ohne HV Programmieren 
zum leben erwecken.
Danach kannst du die CKSEL Fuse per ISP Programmer “0000” setzen und 
deinen Externen Quarzoszillator anschließen.

von Klaus H. (Firma: HELMGENS Engineering LLC) (klaus_ethiopia)


Lesenswert?

Ein GALEP-5 rettet mich immer...
Rein mit den lieben kleinen und komplett Loeschen - und schon is das 
Ding wieder aufgeweckt...Hat bisher mit allen AVRs und 89Cxx 
funktioniert....

LG

Klaus

von Thomas Frosch (Gast)


Lesenswert?

Hatte es mit einem 12MHz quarz probiert ging aber nicht! Werde auf jeden 
fall noch einen kleineren probieren! HV Programmierung funktioniert 
nicht so richtig.

von Thomas Frosch (Gast)


Lesenswert?

4MHz gehen auch nicht. Denke er ist hinüber!

von Norman Wailer (Gast)


Lesenswert?

Wegschmeissen und mit dem Lehrgeld neuen kaufen. Die Amis brauchen jetzt 
auch dein Geld :-)

von syn_error (Gast)


Lesenswert?

>Hatte es mit einem 12MHz quarz probiert ging aber nicht!
Ich hatte nur die low Fuse beachtet, aber bei den high Fuse ist "CKOPT" 
programmiert.
Somit sollte ein Quarz von 1-16 Mhz funktionieren wie auf Seite 26 Bild 
12.

Eventuell waren die Kondensatoren zu dem 12 Mhz Quarz nicht richtig 
dimensioniert oder an der Schaltung stimmt irgendetwas nicht.
Laut Datenblatt sollten die Kerkos 12-22 pF haben.

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.