Forum: Mikrocontroller und Digitale Elektronik AVR ATmega 16 nicht zu flashen


von Julian H. (einganznormalerheld)


Angehängte Dateien:

Lesenswert?

Hallo Forum,

ich bin Anfänger im µC Bereich und habe gerade Probleme mit einem 
ATmega16.

Zur Hardware:

USB-AVR-ISP von ullihome.de (als AVRISP mkII)
Laptop mit Windows Vista Ultimate 64bit
Steckbrett mit ATmega16 (natürlich mit entsprechender 
Spannungsversorgung)

Ich betreibe den µC mit dem internen Oszillator.

Ich kann den Flash-Speicher auslesen und auch Fuses setzen und 
nichtsetzen (am JTAG-Fuse ausprobiert).

Nur beim Schreiben des Flashes bekomme ich eine Fehlermeldung (siehe 
Anhang)

Die Commandline sagt folgendes:

"Getting isp parameter.. SD=0x06 .. OKOK
Reading FLASH input file.. OK
Setting mode and device parameters.. OK!
Entering programming mode.. OK!
Erasing device.. OK!
Programming FLASH ..      FAILED!
Leaving programming mode.. OK!"

Ein absenken der ISP Frequenz habe ich schon probiert von 250 bis 5 kHz 
und immer der gleiche Fehler.

Kann es mit Vista 64 zusammenhängen?

Tur mit leid, dass ich das Bild zweimal angehängt habe, aber ich weiß 
nicht so recht wie ich Anhänge wieder lösche.

Grüße,
Julian

von holger (Gast)


Lesenswert?

>Steckbrett mit ATmega16 (natürlich mit entsprechender
>Spannungsversorgung)

Mach ein Foto vom Steckbrett.

von spess53 (Gast)


Lesenswert?

Hi

Lassen sich die Signature-Bytes lesen (Tab 'Main' -> Read Signature)?

MfG Spess

von Julian H. (einganznormalerheld)


Angehängte Dateien:

Lesenswert?

Hallo,

ja die Signature-Bytes lassen sich lesen. "0x1E 0x94 0x03"

Ich hoffe die Bilder helfen. Die Kondensatoren sind alle drei 100nF. Der 
Widerstand an Reset ist ein 10k Widerstand. Spannungsregler ist ein 
A7805 und die Diode, die antiparallel dazugeschaltet ist ist eine  1n 
4148. RxD und TxD vom Programmer sind auf GND gesetzt. Ich habe bereits 
alle Kontakte ab Sockel auf dem Programmer bis zum Pin am µC auf 
durchgang und richtigen Anschluss geprüft.

Gruß,
Julian

von AVRuser (Gast)


Lesenswert?

Ich sehe keine Abblock-Kondensatoren am Controller. Hier gehören rechts 
und links direkt an die Versorgungs-Pins je 1 Kondensator dran. Die 
Kondis beim Spannungsregler sind hier nicht ausreichend.

Am Eingang des Spannungsreglers sollte auch ein grösserer Elko sein (ca. 
47uF); er puffert die Batterie.

Wie lang ist das ISP-Kabel?

von spess53 (Gast)


Lesenswert?

Hi

Mach mal 100nF-Keramik-Kondensatoren zwischen VCC und GND. Möglichst nah 
an den Pins.

Wie groß ist der Pull-Up-Widerstand am Reset?

MfG Spess

von holger (Gast)


Lesenswert?

>Wie groß ist der Pull-Up-Widerstand am Reset?

10k. spess du brauchst ne Brille;)

von spess53 (Gast)


Lesenswert?

Hi

>10k. spess du brauchst ne Brille;)

Hab schon eine.

MfG Spess

von Julian H. (einganznormalerheld)


Lesenswert?

Hallo,

AVRuser schrieb:
> Ich sehe keine Abblock-Kondensatoren am Controller. Hier gehören rechts
> und links direkt an die Versorgungs-Pins je 1 Kondensator dran. Die
> Kondis beim Spannungsregler sind hier nicht ausreichend.
>
> Am Eingang des Spannungsreglers sollte auch ein grösserer Elko sein (ca.
> 47uF); er puffert die Batterie.

erledigt! Brachte aber keine Besserung.

> Wie lang ist das ISP-Kabel?

ca. 40cm


Gruß,
Julian

von holger (Gast)


Lesenswert?

>ca. 40cm

Halbieren.

von Julian H. (einganznormalerheld)


Lesenswert?

Hallo,

holger schrieb:
>> ca. 40cm
>
> Halbieren.

Leider hat das auch keinen Erfolg gebracht.

Gruß,
Julian

von Paul B. (paul_baumann)


Lesenswert?

Ich sehe, daß Du eine 9 Volt-Blockbakterie als Spannungsquelle benutzt.
Diese Biester haben einen verhältnismäßig großen Innenwiderstand.
Beim Beschreiben des Flash zieht der Kontroller einen höheren Strom als
im "Normalbetrieb". Es ist möglich, daß die 5 Volt nach dem Regler beim
Flashen "in die Knie gehen".

(Bevor jetzt das große Genöle einsetzt: Den gleichen Effekt habe ich
selbst schon erlebt und konnte mittels Oszillograph den Hieb auf der
Betriebsspannung als Verursacher festnageln)

MfG Paul

von Julian H. (einganznormalerheld)


Lesenswert?

Hallo,

Paul Baumann schrieb:
> Ich sehe, daß Du eine 9 Volt-Blockbakterie als Spannungsquelle benutzt.
> Diese Biester haben einen verhältnismäßig großen Innenwiderstand.
> Beim Beschreiben des Flash zieht der Kontroller einen höheren Strom als
> im "Normalbetrieb". Es ist möglich, daß die 5 Volt nach dem Regler beim
> Flashen "in die Knie gehen".

Ich habe gerade mit einem Multimeter nachgemessen. Die Spannung belibt 
konstant bei 4,94 V. Oder sind Stromspitezn gemeint, sodass das 
Multimeter evtl. zu träge sein könnte?

Grüße,

Julian

von Michael H. (michael_h45)


Lesenswert?

Julian H. schrieb:
> konstant bei 4,94 V. Oder sind Stromspitezn gemeint, sodass das
> Multimeter evtl. zu träge sein könnte?
ja, defintiv.

von Julian H. (einganznormalerheld)


Lesenswert?

Michael H. schrieb:
> Julian H. schrieb:
>> konstant bei 4,94 V. Oder sind Stromspitezn gemeint, sodass das
>> Multimeter evtl. zu träge sein könnte?
> ja, defintiv.


Auch ein Netzteil brachte keine besserung.

EDIT: Ich habe das ganze jetzt mit einem zweiten ATmega16 probiert und 
es bringt das gleiche Ergebnis.

Gruß,
Julian

von Julian H. (einganznormalerheld)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe jetzt mit AVRStudio ein Logfile erstellt. Siehe Anhang.

Grüße,
Julian

von Florian D. (florian_d)


Lesenswert?

Hi,

vermutlich hast du auf deinem Programmer auch einen Jumper der
die +5V vom USB mit auf den Wannenstecker verbindet.
Ist der gesteckt ? Ich kann gerade nicht sehen ob du den Pin 6 (glaub 
ich zumindest) vom Wannenstecker auf VCC gelegt hast. Falls es so ist,
trenn das mal. Falls es dann noch nicht geht, versuch doch mal die 
Schaltung über den ISP mit Spannung zu versorgen.

Gruß Florian

von Julian H. (einganznormalerheld)


Lesenswert?

Florian D. schrieb:
> Hi,
>
> vermutlich hast du auf deinem Programmer auch einen Jumper der
> die +5V vom USB mit auf den Wannenstecker verbindet.
> Ist der gesteckt ? Ich kann gerade nicht sehen ob du den Pin 6 (glaub
> ich zumindest) vom Wannenstecker auf VCC gelegt hast. Falls es so ist,
> trenn das mal. Falls es dann noch nicht geht, versuch doch mal die
> Schaltung über den ISP mit Spannung zu versorgen.
>
> Gruß Florian


Hallo,

der Jumper war nicht gesetzt. Ich hatte Pin 6 auf VCC gelegt. Weder das 
trennen noch das Versorgen der Schaltung über den ISP brachte einen 
Erfolg. ich werde den Programmer heute Nachmittag noch auf Funktion 
testen (Mit einem PC und einer Schaltung die mit einem baugleichen 
Programmer funktioniert).

Aber Danke schonmal für die viele Hilfe.

Grüße,
Julian

von Julian H. (einganznormalerheld)


Lesenswert?

Hallo,

Problem ist gelöst. Es lag ein Problem mit der Firmware des Programmers 
vor. Ich verwende jetzt die STK500 Firmware und es funktioniert ohne 
Probleme.

Danke für die viele Hilfe.

Grüße,
Julian

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
Noch kein Account? Hier anmelden.