Hallo Forengemeinde, ich habe ein Problem. Habe einen neuen Mega8 in der Einstellung externer Quarz programmiert und kann nach dem erstmaligem Schreiben nicht mehr mit PonyProg via ISP auf den Controller zugreifen. Hat jemand eine Idee ?. Schön habe ich gedacht nimmst du eben halt einen Neuen. Mit diesem Baustein passierte das Gleiche. Nach der ersten Code Übertragung funtzte gar nicht mehr, obwohl PonyProg keine Fehlermeldung ausgab.
Das sieht nach einer defekten ext. Quarz-Schaltung aus. Überprüf mal alles und nimm, wenn du hast, ein Oszi und messe die ext. Frequenz.
> Habe einen neuen Mega8 in der Einstellung externer > Quarz programmiert Ich vermute mal: http://www.mikrocontroller.net/articles/AVR_Fuses#Ponyprog2000
Michael Hamacher wrote: > Hallo Forengemeinde, > ich habe ein Problem. Habe einen neuen Mega8 in der Einstellung externer > Quarz programmiert und kann nach dem erstmaligem Schreiben nicht mehr > mit PonyProg via ISP auf den Controller zugreifen. Hat jemand eine Idee > ?. Hast Du denn überhaupt einen externen Quarz dran? Und ist es sichergestellt, dass dieser auch schwingt (Kondensatoren dran?)? Und hast Du darauf geachtet, dass ein Häkchen bei den Fusebits bedeutet, dass die betreffende Fuse programmiert, also "0" ist? Und hast Du vielleicht auch noch die RSTDISBL-Fuse programmiert? Im letzteren Fall kann Dir nur noch ein HV-Parallel-Programmer helfen. In den anderen Fällen solltest Du versuchen, zu rekonstruieren, was Du da genau programmiert hast und evtl. mal versuchen, einen Quarzoszillator oder einen Takt von einem FUnktionsgenerator an XTAL1 einzuspeisen. > Schön habe ich gedacht nimmst du eben halt einen Neuen. Mit diesem > Baustein passierte das Gleiche. Nach der ersten Code Übertragung funtzte > gar nicht mehr, obwohl PonyProg keine Fehlermeldung ausgab. Wieso sollte PonyProg auch ne Fehlermeldung rausgeben? Vom Standpunkt von PP ist doch alles i.O. PP hat Deinen Mega8 programmiert, und das offensichtlich mit Erfolg. Deshalb ist für PP die Welt i.O. und es gibt ein "Write successful" zurück...
du hast den externen reset per fusebits ausgeschaltet jetzt hilft nur noch hochvolt programmierung per STK500. Fusebits und ihre Tücken http://bascom-forum.de/index.php/topic,10.msg274.html#msg274
@bascom: > du hast den externen reset per fusebits > ausgeschaltet jetzt hilft nur noch hochvolt programmierung > per STK500. Woher willst Du das wissen? Es gibt mehrere Möglichkeiten, sich "auszusperren", wobei beim Mega8 allerdings tatsächlich die RSTDISBL-Fuse die gemeinste Falle ist. Lass den OP aber trotzdem erstmal alle Möglichkeiten überprüfen. Es muss nicht unbedingt ein STK500 her, auch wenn die Wahrscheinlichkeit dafür nicht gering ist.
Wurden denn vor dem Verändern der Fusebits dieselben vorher mit read eingelesen?
Holger Krull wrote: > Wurden denn vor dem Verändern der Fusebits dieselben vorher mit read > eingelesen? Wie schon erwähnt wurden die Fuse, wie im Auslierferungsmodus nur dahingehend geändert, das ich diese auf ext. Quarz gesetzt habe. Jetzt sind alle Fusebits gesetz ohne mein dazutun gruss trinity4711
Michael Hamacher wrote: > Holger Krull wrote: >> Wurden denn vor dem Verändern der Fusebits dieselben vorher mit read >> eingelesen? > > Wie schon erwähnt wurden die Fuse, wie im Auslierferungsmodus nur > dahingehend geändert, das ich diese auf ext. Quarz gesetzt habe. Jetzt > sind alle Fusebits gesetz ohne mein dazutun > Genau darum geht es. Fuses werden alle in einem Rutsch gelesen oder geschrieben. Wenn du also nur den Fuse Dialog im PonyProg aufgemacht hast, deine gewünschten Änderungen gemacht hast und das ganze dann geschrieben hast, dann hast du einen wesentlichen Punkt vergessen: Das vorherige Auslesen der Fuse Bits, damit alle anderen Fuses, die du nicht verändern willst, beim Schreiben auch wieder denselben Zustand bekommen, den sie vorher schon hatten. Warum PonyProg das erstmalige Auslesen der Fuse Bits nicht gleich beim Öffnen des Dialogs automatisch macht, ist mir ehrlich gesagt ein Rätsel. Würde neben etwas Komfort auch mehr Sicherheit bringen ohne grossartigen Programmieraufwand zu erfordern.
@ Michael Hamacher Das beantwortet die Frage nicht ;-) Vorm Ändern der Fuses sollte man die Fuses zuerst einlesen. Manche Programme lesen automatisch ein, aber ich würde mich darauf aus 2 Gründen nicht verlassen: 1. Beim gezielten Einlesen sieht man, ob die Kommunikation "steht". Wenn Lesen nicht klappt, macht Schreiben keinen Sinn. 2. Man kann die gelesenen Fuses mit dem Datenblatt vergleichen und die 0-steht-für-gesetzt-Logik verinnerlichen.
Ich hab das eben probiert. Ohne vorheriges Einlesen der Fuses, ist der Mega8 nach dem schreiben der Fuses (schein)tot.....
Das Problem kann ein zu schneller Quarz sein. Einfach mal einen 4 Mhz Quarz ausprobieren. Ich hatte die gleichen Probleme bei einem 12 Mhz Takt. Nach austausch mit dem erwähnten 4Mhz Quarz war alles Ok
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.