www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Flashproblem - ISP Error


Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat keiner eine Idee??

Autor: Lehrmann Michael (ubimbo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 ...

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann man den nciht mit High-Voltage irgendwie wieder auf factory 
reseten?

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Natürlich kann man es wenn der Kontroller sonst noch funktionsfähig ist.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also weiß keiner mehr, was ich noch versuchen kann??

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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ß

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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#...

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wofür ist dann der Widerstand?

Autor: gerd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: gerd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Arg... Widerstand... man denke sich bitte das 'e' weg. ;)

- gerd

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, leider.
AVR Fuses

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wie geh ich jetzt vor?!

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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#...

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wie oben geschrieben ....Angeschlossen. Noch immer der gleiche 
Fehler. "Leaving Programming Mode....FAILED!" und dann wieder diese 
Hassmeldung "1/4 frequency".

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat keiner eine Idee??


Danke schonmal! :-)

Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> 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).

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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ß

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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).

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Stefan B.:

>Als Taktgenerator dient ein RC-Generator, den ich einmal zwischen
>XTAL1/XTAL2 gegen Masse und einmal zwischen XTAL1 und XTAL2 geschaltet
>habe.

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ratsch!























Was war das?
























Der Geduldsfaden, die mir gerade gerissen ist. Bin wech. So long. Mach's 
gut. Viel Glück.

Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.