Hallo zusammen!
Nach einem Tag unermüdlicher Nachforschungen bin ich jetzt immer noch
nicht durch Erfolg belohnt worden, jetzt stell ich die Frage mal an
euch.
Ich programmiere meinen mega8L über die serielle und ponyprog. Es
funktioniert alles prima, ausser ich greife in irgendeiner Weise die
CKSEL-bits an. Ich verwende dzt. für die Tests den internen
Taktgenerator mit 1MHz wollte aber auch mal höhere Takfrequenzen testen
und hab mal auf 2MHz gestellt. Mein Blink-Testprogramm läuft nach wie
vor und blinkt jetzt auch brav mit der doppelten Frequenz, allerdings
habe ich keinen Zugriff mehr auf den AVR über die serielle. Ponyprog
quittiert jeden Versuch mit der gefürchteten "Device missing or unknown
device (-24)" Fehlermeldung.
Ich hatte das Problem schon einmal, allerdings war mir da noch nicht
bewusst, dass es sich beim Auslesen der Security- und Configuration Bits
um inverse Logic handelt. Der AVR reagierte gar nicht mehr und lief auch
nicht mehr. Die Lösung bestand im Anschluss eines Quarzes, da ich ihn
scheinbar auf externe Taktversorgung umgestellt hatte. Nach dem
richtigen Zurückstellen auf den internen Takt mit 1MHz war alles wieder
gut.
Jetzt läuft der AVR mit internen 2MHz, aber ich kann ihn nicht mehr
programmieren oder etwas auslesen.
Die Resetleitung reagiert aber nicht mehr, d.h. wenn ich pin1 auf Masse
ziehe läuft der AVR fröhlich weiter. Kann es sein, dass ich
versehentlich den Reseteingang umprogrammiert habe? Kann ich mir
eigentlich nicht vorstellen..
Hat da irgendjemand Erfahrung und einen Lösungsansatz?
Für Hilfe bin ich sehr dankbar.
lg andi
Hallo Andreas,
könnte es sein, das Du den SPI Modus abgeschaltet hast? Vermutlich auch
den Reset Eingang, da er darauf nicht reagiert. Bei mir musste ich
damals auf parallele Programmierung ausweichen (STK500). Danach gings
wieder wie gewohnt.
Kann natürlich auch sein, das die Portpins defekt sind.
HTH,
Klaus
Hi Klaus,
danke mal für deine Antwort.. ich muss das überprüfen, aber ich denke
nicht, dass ich den SPI deaktiviert habe, auch nicht den reset.
Leider kann ich das ja nicht überprüfen, weil ich den Chip nicht mehr
auslesen kann. Es würde mich schon sehr ärgern auf Parallelbetrieb
umzusteigen, wenn auch nur temporär, ich hab noch keine Hardware dafür..
Das einzige was ich gemacht habe ist die zwei Bit im CKSEL umzustellen
um ihn auf 2MHz zu takten.
Der reset ist aber definitiv tot.
lg andi
Hallo Andreas,
ich wollte damals auch nur den Takt auf extern umstellen ;-(
Der Effekt war genau, wie Du ihn beschreibst.
Wenn der Prommer andere Controller erkennt, funktioniert diese Seite ja
schon mal.
Feststellen ob der Chip noch funktioniert kannst Du aber nur im parallel
Mode, also schmeiss das Teil mal noch nicht weg, vielleicht kommst Du
mal an einen solchen Programmer dran.
Typisches Henne - Ei Problem =8-o
Ciao,
Klaus
P.S. kennt jemand eine Bauanleitung für einen parralell / High Voltage
Programmer?
hi klaus,
danke für deinen input, aber dass der controller noch funktioniert weiss
ich ja, da das programm noch läuft. nur die serielle kommunikation und
der reset gehen nicht mehr. auch beim hochfahren passiert mal ca. eine
halbe bis sekunde nichts, dann läuft er an.
alles seit dem umstellen des taktes.
freundlichst,
andi
Hallo Andreas,
da hab ich mich wohl missverständlich ausgedrückt, ich meinte natürlich
"...um festzustellen ob das programmieren des chips noch
funktioniert..." musst Du ihn wohl an einen parallel programmer
anschliessen.
Ciao,
Klaus
Schaltung + Software für einen relativ einfachen par. Mode Programmer
gibt es hier: http://elm-chan.org/works/avrx/report_e.html#AVRXP
Allerdings bekommt man den NJM2352D (step-up Regler??) wohl nicht
wirklich leicht. Ich würde einfach ein 12V Netzteil und nen 7805 nehmen.
Für die angegebenen Transistoren gilt IMHO das gleiche -> durch
Standard-Typen ersetzen (?).
hallo leute,
danke für die tipps, dann werd ich wohl in den sauren apfel beissen
müssen und mir einen parallelen programmierer zusammenbauen.
ich werd meine ergebnisse natürlich kundtun.
lg andi
Ja ich kann dieses Problem mit dem Mega8
nachvollziehen. Habe mir schon zwei davon
genau so ausgeknipst: Die Ursache ist, wie
schon irgendwo angedeutet folgende:
Der Mega 8 hat recht wenige I/O Pins, deshalb
haben die cleveren Leute von Atmel das Teil
mit der Option ausgestattet, den Reset-Pin als
PORT-Pin zu nutzen. (das stellt man mit dem
Fuse Bit "reset-disable" ein.) Jetzt
hat man einen Port Pin mehr, aber ein Reset-
Pin weniger. Das geht solange gut, bis man
wieder lesen/schreiben will: Zum Programmieren
über ISP ist nämlich der Prozi in Reset-Zustand
zu versetzen. Und das übernimmt Ponyprog ganz
allein. ...Wenns denn ein Reset gibt !
Summasummarum: Der MEGA8 hat einen
"Selbstzerstörungsknopf" für den seriellen
Programmiermodus.
MfG
Hallo,
hab gerade bei einem anderen Chip die gleiche Erfahrung gemacht (ATTiny
12, seriell Programmiert mit App. note 910). Nach ändern der Taktes ->
kein Zugang mehr über low Voltage seriell Mode. Mit STK500 und High
Voltage seriell Mode (der TTiny12 hat keinen par. Mode) lässt sich alles
umstellen.
Kann aber auch ein problem des AppNote910 Brenners sein.
Beim suchen nach einem anderen Parallelmode und High Voltage Programmer
bin ich noch auf folgende Seite gestossen:
http://ssanos.tripod.com/thepageofsanos/id7.html
Den werde ich mir mal ansehen.
Für mich heisst das erst mal Finger weg von den Fuse Bits ;-)
Ciao,
Klaus
hallo!
das interessante an meiner geschichte ist ja, dass ich keine bits
angerührt habe die etwas zerstören könnten, auch die umprogrammierung
des reset schliesse ich aus. allerdings halte ich es für möglich, dass
es durch mein doch schon etwas älteres protoboard manchmal zu wacklern
kommen könnte und dadurch ein programmierfehler entstand.
ich werde (hoffentlich bald), wenn ich wieder zeit habe, einen
parallelen programmierer bauen und hoffe damit den kleinen wieder
gesprächiger zu machen ;)
lg andi
Hallo,
ich hab ein ähnliches Problem mit meinem Mega8 wie Andreas, deshalb will
ich mir den par-Progger von http://elm-chan.org (s.o.) aufbauen.
Das Problem sind allerdings die Bauteile. Die Transistoren kann man ja
scheinbar durch Standard-Typen mit Widerständen ersetzen. Den
Step-Up-Regler lasse ich weg und verwende eine externe 12V Spannung. Nur
für die Diode 1SS319 weiss ich noch keinen Ersatz. Kennt einer von euch
einen Austauschtyp ?
Ich hoffe das ich mit meinen Schaltungsvorstellungen nicht total daneben
liege. Hat jemand Erfahrungen mit dem Teil?
Gruß
-=jens=-
Ich habe jetzt mal eine idiotensiche... ähhhhm einsteigertaugliche ;-)
Anleitung zum gefahrlosen Aktivieren des Quarzoszillators und des
Brown-Out-Detektors geschrieben.
http://www.mikrocontroller.net/tutorial/io-basics.htm
Hi,
ich hatte mit meinem ATMeaga128 ein ähnliches Problem.
Ich wollte die Fusebits mit dem Kommandozeilen tool stk500
programmieren, um den 103 Modus auszuschalten. Ich habe auch nur dieses
Fusebyte umprogrammiert.
Leider werden dann die beiden anderen Fusebytes auf 0xff gesetzt... (ich
frage mich, welchen Sinn es hat die Möglichkeit anzubieten einzelne
Fusebytes zu manipulieren, wenn dabei die anderen beeinflusst werden)
Glücklicherweise konnte ich den µC mit einem externem Quarz retten.
Jetzt bin ich wieder etwas schlauer und mache den Fehler kein zweites
mal :-)
Gruß,
Klaus