Ich habe beim atmega32 versehentlich die fuse auf ext. crystal/resonator (high) gestellt und mich damit wohl ausgesperrt. Wie kann ich nun wieder den internen Quartz aktivieren? Mangels externem Taktgeber habe ich einfach einen 2. atmega32 "huckepack" aufgesteckt, wobei PortB abisoliert ist. In dieser Konstellation liest das Programmiergerät die falsche fuse aus - sie wird zumindest angezeigt - weigert sich aber sie umzuschreiben. Es erscheint immer der Verweis auf einen falschen Takt.
programmiere den zweiten Atmega sodaß er einen Takt auf einem Pin ausgibt, und gib diesen Takt auf den verfusten
Markus B. schrieb: > Mangels externem Taktgeber habe ich einfach einen 2. atmega32 > "huckepack" aufgesteckt, wobei PortB abisoliert ist. In dieser > Konstellation liest das Programmiergerät die falsche fuse aus - sie wird > zumindest angezeigt - weigert sich aber sie umzuschreiben. Es erscheint > immer der Verweis auf einen falschen Takt. Versteh ich jetzt nicht ganz, hört sich aber irgendwie böse an?? Wie ist der ISP angeschlossen? an beiden AVRs gleichzeitig (kann nicht klappen, wenigstens der Reset-Pin darf nur am "Ziel-AVR" hängen). Mein Vorschlag: Bau den AVR aus und ersetze ihn durch einen Sockel, dann sind Fehler nicht so schlimm. Dann suchst du dir z.B. ein STK500, damit kannst du den AVR trotz falsch gesetzter Fuses programmieren. Schau mal hier: http://www.mikrocontroller.net/articles/AVR_Fuses Stichwort: High Voltage-Programming
Beide CPU's stecken praktisch im gleichen Sockel. PortB sowie RESET/ des funktionierenden atmega32 sind isoliert, d.h. nicht angeschlossen. Demnach spricht der ISP nur mit dem "defekten". Meine Idee war, dass der funktionierende den Quartz antriggert, so dass der defekte einen Takt erhält. Der "heile" läuft aber nur auf seinem internen Quartz.
Ich bin nun wirklich ratlos: auf der Platine ist nun ein Quartz angebracht, trotzdem reagiert der "defekte" nicht auf Programmiersignale (wrong clocking?) Mittels DX-ISP wird aber immer der externe Oszilator ausgelesen. Sobald eine andere CPU steckt, wird der interne Oszilator angezeigt. Irgendwie scheint der ISP also etwas auslesen zu können. Schreiben/ändern will aber nicht gelingen :-(
Bist du dir sicher dass du die RSTDISBL Fuse nicht versehentlich gesetzt hast?
Eigentlich schon, zumal ist diese Option im AVR Studio für den atmega32 gar nicht finden kann. Halte das für unahrscheinlich, ein Restzweifel aber bleibt. Was bedeutet den ext. crystal/resonator? Ist damit eine Quartz-Beschaltung gemeint? Oder eine andere Taktquelle?
Ja. crystal ~= quarz, resonator meint eine RC-Kombination. Ext. Osc. meint einen externen Taktgeber. Die Defaulteinstellung des ATMega8 ist glaube ich, dass der auf seinen internen RC-Oszillator (8MHz wenn ich mich nicht täusche) läuft.
Markus B. schrieb: > Eigentlich schon, zumal ist diese Option im AVR Studio für den atmega32 > gar nicht finden kann. Halte das für unahrscheinlich, ein Restzweifel > aber bleibt. Sorry, du hast recht. Beim mega32 gibts für den RESET-Pin keine Alternative Funktion und demnach auch keine RSTDISBL Fuse.
Markus B. schrieb: > Ich bin nun wirklich ratlos: auf der Platine ist nun ein Quartz > angebracht, trotzdem reagiert der "defekte" nicht auf Programmiersignale > (wrong clocking?) Du hast ja auch nicht auf Quarz (crystal), sondern auf Quarzoszillator (c. oszillator) eingestellt. Das kann mit einem Quarz nicht laufen.
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.