STK500: Kein vernünftiges schreiben möglich

Gast #318035
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
Gast #318038
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
Gast #318043
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
Angehängte Dateien:
Gast #318048
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
Angehängte Dateien:
Gast #318055
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
Gast #318056
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
Gast #318058
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren