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?
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
>lfuse:w:0xff
Du hast die Fuse für einen Quarz eingestellt hast aber einen
Quarzoszillator.
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
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?
>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.
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.
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.
>Hatte mich am tutorial orientiert. Die haben mit einem 4mhz quartzoszi >keinen hacken bei den c fuses. Link?
http://www.mikrocontroller.net/images/atmega8-nachher.png http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen
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”."
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?
>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”."
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.
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.
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
Hatte es mit einem 12MHz quarz probiert ging aber nicht! Werde auf jeden fall noch einen kleineren probieren! HV Programmierung funktioniert nicht so richtig.
Wegschmeissen und mit dem Lehrgeld neuen kaufen. Die Amis brauchen jetzt auch dein Geld :-)
>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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.