Forum: Mikrocontroller und Digitale Elektronik STK500: Kein vernünftiges schreiben möglich


von Main666 (Gast)


Lesenswert?

Hallo,

ich weiß, Probleme mit dem STK500 / AVRStudio wurden schon zuhauf
gepostet, ich konnte aber keine Lösung zu meinem Problem finden.

Das Problem: Ich kann weder im ISP noch im High Voltage Mode
zuverlässig Daten auf AVR`s schreiben. Flash wird geschrieben aber
fällt beim Verify durch, EEPROM kann überhaupt nicht geschrieben
werden. Fuses können gelesen aber ebenfalls nicht geschrieben werden.

Ich führe mal auf, was ich alles gecheckt habe:

- Neueste Software auf dem STK und AVRStudio 4.12 Build 472
- Verkabelung und Jumper nach STK500 Handbuch
- Diverse AVR´s ausprobiert (8515,Mega16,Mega32)
- Spannung und Takt am AVR gemessen
- ISP-Takt liegt laut AVRStudio deutlich unter 1/4 Systemtakt
- Fuses können ausgeschlossen werden (8515 hat nur 2, sollte bei High
Voltage keinerlei Probleme machen)
- 2. PC ausprobiert um Probleme mit der seriellen Schnittstelle
auszuschliessen


Jetzt fällt mir nichts mehr ein.

Wäre für jeden Hinweis / Hilfe dankbar.

Grüße

Main666

von Ritter Knolte II (Gast)


Lesenswert?

@Main666

Spontan fällt mir da nur die Betriebsspannung des STK500 ein.
Welches Steckernetzteil benutzt Du ?

Gruß,

von Main666 (Gast)


Lesenswert?

Hallo,

hatte zuerst ein schwaches (300mA) Netzteil dran, jetzt sind´s 12V und
1.2 A, hatte hier aber auch schon mit Labornetzteil etc. probiert. STK
zieht übrigens 100 bis 120 mA @ 12V, scheint halbewegs zu passen. (Kann
das mal jemand bestätigen?)


Gruß

Main666

von benites (Gast)


Lesenswert?

Hallo zusammen,

Das gleiche Problem habe ich mit meinem STK500 Board. Und zwar, ich
habe einen Atmega88 programmiert (in ISP programming mode)und hat es
geklappt. Nun wollte ich den gleichen Mikrocontroller benutzen, aber
mit anderer Fuse-Bits Einstellung. Und klappt´s nicht. :-(
Meine Frage ist: Kann man die Fuse Bits irgendwie ändern???  Danke im
Voraus

Grüße
Benites

von Conlost (Gast)


Lesenswert?

Hallo,

mit AVRStudio kann man die Fuses ändern.

Es grüsst,
Arno

von benites (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Conlost,
Danke für die Antwort,

Das Problem ist, dass ich alles versucht habe, aber klappt es nicht.

Gruß
Benites

von Rahul (Gast)


Lesenswert?

hast du den HV-parallel-programming-mode schon ausprobiert?

von Conlost (Gast)


Lesenswert?

Hallo Benites,

diese Meldung kommt bei mir, wenn der Controller
keinen Takt bekommt.

Welche Taktart hast du auf dem Board eingestellt?

Es grüsst,
ArRe

von benites (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich habe grade diesen Mode verwendet und lässt sich alle Fenster der
STK500 Einstellung (Program, Fuses, Lockbits, Advanced,...)lesen, ohne
Fehlermeldung zu kriegen. Der Device lässt sich auch löschen.
Aber wenn ich Fuse bits einstelle, bekomme andere Meldung, die ich
schon korrigiert habe, aber nichts. :-( Die Fehlermeldung erscheint
wieder
Außerdem wenn ich auf Signature klicke, bekomme ich folgendes:
0xFF 0xFF 0xFF Warning: Signature does not match select device.

Gruß
Benites

von benites (Gast)


Lesenswert?

Hallo Conlost,
Die ISP Freq lautet: 28.36 khz. Die habe auch auf 1/4 runtergestellt,
sogar bis 4 khz  aber keine Verbesserung.
Gruß
Benites

von Conlost (Gast)


Lesenswert?

Sowas hatte ich auch mal als der Controller im
falschen Sockel gesteckt hat.
Der Atmega88 gehört in den grünen Sockel.

Gruß,
Arno

von Rahul (Gast)


Lesenswert?

im richtigen Sockel (SCKT3200A2) steckt er? Und auch die richtige
ISP-Verdrahtung (SPROG2)?
Man kann komischerweise Controller 1a löschen und das Beschreiben geht
dann schief, wenn man den falschen Sockel erwischt hat (hatte ich beim
Wechsel Mega162 auf Mega32...)

von Conlost (Gast)


Lesenswert?

Wenn die ISP-Verdrahtung falsch ist, dann geht garnix,
dann kommt sofort beim lesen der Fuses die Fehlermeldung.

Es beruhigt mich übrigens sehr, das ich nicht der Einzige
bin der schon mal den falschen Sockel benutzt hat.   ;-)

Gruß,
Arno

von benites (Gast)


Angehängte Dateien:

Lesenswert?

Hallo alle zusammen

um erlich zu sein, benutze ich eine externe Platine die am STK500
verbundet ist. Dafür benutze ich den ISP10PIN Anschluss, um Programme
auf meinen Mikrocontroller runterzuladen. Die Platine wird von AVR
Studio erkannt. Andere runtergeladene Programme haben gekappt. Aber nun
wollte ich Fuse Bits ändern.

Gruß
Benites

von Rahul (Gast)


Lesenswert?

Das Bild besagt nur, dass das STK500 gefunden wurde...

von Conlost (Gast)


Lesenswert?

Du hast laut Bild auf parallele Programmierung eingestellt.
Ändere das mal auf ISP Programmierung.

Gruß,
Arno

von benites (Gast)


Lesenswert?

Ja klar, das STK500 wurde gefunden und danach habe Programme
runtergeladet. So weit so gut. Aber wie gesagt Fuse-Bits-Änderung ist
mein Problem. Andererseits geht mit ISP Programmierung  auch nicht.

Grazie

Gruß
Benites

von Conlost (Gast)


Lesenswert?

Das Programm das du in den Controller geladen hast funktioniert?
Ich kann mir nicht vorstellen, daß das programmieren des HEX-Files
funktioniert und das programmieren der Fuses dann nicht.

Das Ganze ist etwas verwirrend.

Gruß,
Arno

von benites (Gast)


Lesenswert?

Hi,
Das Program auf dem Mikrocontroller funktioniert. Schon probiert. Die
Fuse Bits für dieses Runterladen haben auch gefunkt. Nun wollte ich das
gleiche runtergeladene Programm mit andere Fuse Bits testen. Und das
geht nicht.
Gruß Benites

von Conlost (Gast)


Lesenswert?

Welche anderen Fuse Bits waren das denn?

Wenn du die Fuse Bits für den Takt änderst,
kann es passieren, das nichts mehr geht,
weil der Controller dann keinen Takt mehr
bekommt.

Gruß,
Arno

von benites (Gast)


Lesenswert?

Einstellungen, die vorgenommen wurden:
•Boot Flash section size = 1024 words aktivieren
•Preserve EEPROM aktivieren
•Brown-out detection level at VCC=4.3V aktivieren
•Ext. Crystal Osc.: Frequ. 3.0-8.0 MHz, Startup-Time 16K CK/14CK+ 65ms
aktivieren
•Divide clock by 8 internally deaktivieren!


Danach wird es folgendes gezeigt: Reading fuses: 0xF9, 0xD4, 0xFD  d.h
die Fuse Bits wurden erfolgreich gesetzt.

Nun wollte ich z.B: Ext. Full-swing Crystal; Start-up time
PWRDWN/RESET: 16K CK/14 CK + 65 ms    wählen.

Wie kann ich prüfen, ob Takt dabei ist. Wie gesagt mit dieser Option
habe alles probiert

von Conlost (Gast)


Lesenswert?

Hast du auf deiner Platine einen Quarz mit den 2 Kondensatoren
als taktquelle oder einen externen Taktgenerator angeschlossen?
Du hast die Fuses für externen Taktgeber eingestellt.
wenn nur ein Schwingquarz am Controller ist, dann geht das nicht mehr.
Du mußt einen externen Takt an XTAL1 anschließen, dann kannst du
die Fuses umprogrammieren.
Oder steck den Controller ins STK500 und programmiere die Fuses neu.

Gruß,
Arno

von benites (Gast)


Lesenswert?

ich verwende ein Keramik Chip Resonator. Wie kann ich wissen, ob der
Mikrocontroller einen Takt bekommt. Ich glaub, der Fehler liegt daran.
Gruß

von Conlost (Gast)


Lesenswert?

Mit einem Oszilloskop kann man festellen ob ein Takt vorhanden ist.
Ohne bleibt nur noch, den Controller ins STK500 zu stecken und
die Fuses richtig einzustellen.
Ein Keramik Resonator ist soetwas ähnliches wie ein Quarz,
da kommt kein Takt raus, wenn man die Fuses auf externen Taktgenerator
eingestellt hat.
Ein Quarz und auch ein Keramik Resonator benötigen zum schwingen
die Elektronik die im Controller enthalten ist.

Gruß,
Arno

von benites (Gast)


Lesenswert?

Nachdem ich einen externen Takt an XTAL1 angeschloßen habe, konnte ich
die Fuses umprogrammieren. Vieden Dank

Gruß
Benites

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.