Hallo, wie in meinem anderen Thread bereits erwähnt, kann ich meinen Mikrocontroller plötzlich nicht mehr flashen. Warum auch immer, habe keine Veränderungen zum vorherigen Zustand, wo ich noch einwandfrei flashen konnte. Es handelt sich um einen ATmega16 und dem USB-Programmer "AVR ISPmkII". Das Programm lässt sich fehlerfrei compilieren, beim Flashen kommt dann im "AVR"-Menü: "Programming Flash....FAILED!" mit der messageBox: "Verify that the device is placed (...)Check that the ISP programing frequency (...) 1/4 below..." Woran kann das liegen? Habe lediglich in den Fuses "JTAG" disabled. (Haken rausgemacht). Danach konnte ich das Programm noch einwandfrei flashen, nach dem zweiten mal ging es nicht mehr, mit der obigen Fehlermeldung. Gruß und Danke Danke!
Du hast in professionell verfust oder du hast ihn geröstet (Überspannung, Verpolt, etc.) Bei verfusen: http://www.mikrocontroller.net/articles/AVR_Fuses Die Kinderkrankheiten des AVRs halt ...
Kann man den nciht mit High-Voltage irgendwie wieder auf factory reseten?
Natürlich kann man es wenn der Kontroller sonst noch funktionsfähig ist.
Stefan schrieb: > nicht mit High-Voltage irgendwie wieder Ja, aber nicht mit dem AVR-ISP mkII. Das hat schonmal jemand versucht und dann den mkII gegrillt... Lege erstmal einen externen Takt >1Mhz an XTAL1 und stelle die ISP-Frequenz auf 125kHz.
Die Frequenz lässt sich leider nicht einstellen... Was mich eben vorwundert ist, dass wenn ich die Versorgungspannung anlege, der Controller zufällig reagiert. Mal klackern die Relais, mal nicht. Mal sporadisch, Mal garnicht. Ich weiß nicht woran es liegt. Ich werde mal einen euen Controller nehmen :-/ Schade, so schnell sind 4 Euro futsch.
Stefan schrieb: > Was mich eben vorwundert ist, dass wenn ich die Versorgungspannung > anlege, der Controller zufällig reagiert. > Mal klackern die Relais, mal nicht. Mal sporadisch, Mal garnicht. Hm, Relais? Könnten EMV-Probleme sein. Freilaufdiode drin? Snubber an den Schaltkontakten? Hängt an den ISP-Pins noch etwas außer dem Programmer?
Freilaufdioden sind dran. Ja, auch Filter sind angebracht (RCs). An den ISP-Pins hängt nichts außer die 5 V Versorgungsspannung, Masse und die Leitungen die direkt an den Controller gehen. Gruß
Wie hast Du die Relais denn angeschlossen? NPN Transistor? Falls ja, mach mal 10k von Basis nach GND. Ich vermute das zufällige Schalten kommt von der floatenden Basis. Die Ports sind ja tristate solange sich der Controller im Reset befindet und an der Basis liegt dann kein eindeutiger Pegel an. Wo soll der Controller seinen Takt herbekommen? Quarz oder interner RC-Oszillator? Ob der Quarz schwingt kannst Du ggf. mal messen. Ich vermute mal, dass der Controller einfach nicht aus dem Resetzustand rauskommt. Falls Du ihn versehentlich verfused haben solltest kannst Du das hier mal versuchen: http://www.mikrocontroller.net/articles/AVR_Fuses#Reaktivieren_bei_fehlerhaften_Taktquellen-Fuse-Einstellungen
Also am Anfang, wo das JTAG noch enabled war und ich direkt an den Pins des Controllers die Spannungen gemessen habe, schwankte die Spannung bereits an den Pins des Controllers. Also bereits "vor der Basis" des Transistors. Der Reset geht mit einem 10 kOhm-Widerstand in Reihe direkt auf Vcc. Stimmt ja laut diversen "AVR-Grundschaltungen" soweit auch. Den Takt liefert ein 14 MHz-Quarz, habe auch dafür bereits die Fuse gesetzt. ("Ext. Crystal....") Wieso sollte er nicht mehr aus dem RESET kommen, wenn ich am RESET-Eingang definitiv einen LOW-Pegel habe? Danke!
Hi >Wieso sollte er nicht mehr aus dem RESET kommen, wenn ich am >RESET-Eingang definitiv einen LOW-Pegel habe? Sicher, das der low ist? Oder Schreibfehler? MfG Spess
Moment. Der RESET-Eingang ist ein L-aktiver Eingang. Heißt, er ist aktiv, wenn LOW anliegt. Was soll aber für ein anderer Pegel anliegen, wenn ein 10 k dranhängt, an dem die ganze Spannung abfällt?
>Was soll aber für ein anderer Pegel anliegen, wenn ein 10 k dranhängt, >an dem die ganze Spannung abfällt? Wo kaum Strom fließt, fällt kaum Spannung ab :-) Reset muss HIGH sein
Stefan schrieb: > wofür ist dann der Widerstand? Überleg doch mal, was passieren würde, wenn irgendein externes Bauteil (z.B. ein Taster) den RESET auf LOW (also GND) ziehen würde und der Wiederstand wäre nicht da... - gerd
Soo....jetzt gibts Neues zu berichten: Habe jetzt mal die Fuses auf "Int. RC Oscillator 1 MHz" gestellt, in den Project Configuration dann auch die 1000000 Hz eingetragen und anschließend geflasht. Dann war erstmal der gleiche Fehler "Programming Flash...FAILED!". Shit dachte ich mir, was machste jetzt: Dann habe ich den Haken bei "Erase Device before Programming" gsetzt, siehe da, er flashte auf Anhieb und das Programm lief einwandfrei. Habe auch den Strom abgezogen, wieder eingesteckt, Programm lief weiter. Auch den AVRISPmkII habe ich während des Betriebs abgezogen und wieder draufgesteckt, läuft ohne Probleme. Nun aber habe ich mir gedacht, dass ich das Ganze ja mit meinem Quarz auch testen muss. Ich Depp habe dann aber anstatt "ext. Crystal/Resonator" den Haken bei "ext. Clock" gesetzt. Jetzt kommt beim Versuch zu Flashen die Meldung "Entering Programmingmode ... FAILED!" Habe ich mich jetzt "selbst ausgeschlossen? Danke
Liest Du eigentlich überhaupt was man dir hier schreibt? Der Link auf diese Seite wurde dir hier schon mindestens drei mal gegeben. http://www.mikrocontroller.net/articles/AVR_Fuses#Reaktivieren_bei_fehlerhaften_Taktquellen-Fuse-Einstellungen
Habe jetzt einen Takt (RC-Generator zwischen Pin 11 und Pin 13 -> XTAL1) angeschlossen. Jetzt gehe ich in die AVR-Settings und wähle unter Fuses dann "Int. RC Osc" aus? Oder was muss ich machen? Muss ich den Controller vorher nochmal reseten bzw. Stromlos machen, bevor ich die Fuses verändere? Danke
Also wie oben geschrieben ....Angeschlossen. Noch immer der gleiche Fehler. "Leaving Programming Mode....FAILED!" und dann wieder diese Hassmeldung "1/4 frequency".
Was hast Du denn genau aufgebaut zur Takterzeugung (kurze Zeichnung)? Wie sieht die Signalform an Pin 11 aus? Wenn das alles passt, dann ist wahrscheinlich nur die ISP-Frequenz zu hoch.
Stefan schrieb: > Habe jetzt einen Takt (RC-Generator zwischen Pin 11 und Pin 13 -> XTAL1) > angeschlossen. Klappt damit das Auslesen der Signatur und der AVR Fuses? > Jetzt gehe ich in die AVR-Settings und wähle unter Fuses dann "Int. RC > Osc" aus? Ja, wenn obiges funktioniert. Wenn die Fuses wieder auf dem internen RC-Oszillator stehen, Schaltung spannungslos machen und Takt (RC-Generator zwischen Pin 11 und Pin 13 -> XTAL1) entfernen. Dann Auslesen der Signatur und der AVR Fuses mit ISP und internem Takt testen.
Hallo! Als Taktgenerator dient ein RC-Generator, den ich einmal zwischen XTAL1/XTAL2 gegen Masse und einmal zwischen XTAL1 und XTAL2 geschaltet habe. Sobald ich die AVR-Settings öffne und auf den Reiter "Fuses" klicke, kommt diese Fehlermeldung (1/4 frequency....). Wie soll ich den RC-Generator denn noch anschließen? Danke
>> Klappt damit das Auslesen der Signatur und der AVR Fuses? Klappt also nicht. Damit müssen wir an dem externen RC-Oszillator oder dessen Anschluss an den Atmega16 zweifeln. Grundsätzlich soll bei verfusten AVRs (Einstellung versehentlich auf External Clock) eine eigenständige Taktquelle (günstig 500 kHz bis 2 MHz) an den XTAL1 (und nur XTAL1) angeschlossen werden. XTAL2 kann zur Takterzeugung nicht benutzt werden, denn dort kommt bei dieser verflixten Fuseeinstellung nix raus. Die Taktquelle kann sich nicht auf Anregung aus dem XTAL2 Pin stützen. Wenn dein externer Taktgeber ein selbstgebauter ist: Wie ist der externe RC-Oszillator exakt aufgebaut und welche Frequenz soll der erzeugen? Bitte Schaltplan angeben (Handskizze reicht). Wenn dein externer Taktgeber ein gekaufter ist: Bitte Datenblatt oder Link zum Datenblatt plus Schaltplan angeben (Handskizze reicht).
Ok Danke erstmal. Das ist mein Takterzeuger: VOLTCRAFT FG1617 Funktionsgenerator. Mit diesem habe ich letztens - als ich geschrieben habe, dass es nicht funkionierte - 1 MHz eingestellt. Somit ist es also KEINE Selbstgebaute Taktquelle. Ich weiß langsam nicht mehr weiter :-( Ansonsten kaufe ich mir halt einen neuen AVR. Gruß
> Ich weiß langsam nicht mehr weiter :-( > Ansonsten kaufe ich mir halt einen neuen AVR. Ist vielleicht besser. Denn ich verliere jetzt auch die Lust noch mal zu fragen, wie was angeschlossen ist. Der VOLTCRAFT FG1617 Funktionsgenerator würde man mit der heissen Leitung (Signal) an XTAL1 anschliessen und mit dem kalten Ende an GND (nicht! an XTAL2). Der VOLTCRAFT FG1617 Funktionsgenerator muss so eingestellt sein, dass die Anforderungen an die Signalform und Signalpegel die Anforderungen im Datenblatt des Atmega16 erfüllen. Fehleinstellungen können den AVR gefährden. Also ein TTL Taktsignal und kein Wechselspannungssignal (Seite 292ff. im Datenblatt).
@ Stefan B.: >Als Taktgenerator dient ein RC-Generator, den ich einmal zwischen >XTAL1/XTAL2 gegen Masse und einmal zwischen XTAL1 und XTAL2 geschaltet >habe.
Ratsch! Was war das? Der Geduldsfaden, die mir gerade gerissen ist. Bin wech. So long. Mach's gut. Viel Glück.
Schließe den Funktionsgenerator mal so wie in Beitrag "Re: Flashproblem - ISP Error" beschrieben an und dann mach mal ein Bild mit dem Oszi an XTAL1. Bei 1 MHz Takt würde ich die ISP-Frequenz nicht höher als 125 kHz einstellen.
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.