Probleme mit ISP bei Atmega32

OP #2486824
Lesenswert?

Ich habe folgendes Problem:

Ich versuche seit Tagen meine Schaltung mit einem mega32 über ISP zu 
programmieren. Als Programer verwende ich mein STK500.

Ich habe MISO(1), Vcc(2), SCK(3), MOSI(4), Reset(5) und GND(6) mit den 
jeweiligen Pins am STK500 (ISP6PIN) verbunden.
Die Jumper AREF, RESET, XTAL1 und OSCSEL(auf 2.Position) gesetzt.

Leider bringt AVR-Studio beim Versuch zu Programmieren oder die ID zu 
lesen den Fehler:
"Unable to enter programming mode. Please verify that the programmer is 
correctly attached to the target and that target power has been switched 
on. Also verify that the correct device and interface settings have been 
specified."

Das ISP Kabel habe ich durchgemessen.

Woran könnte das noch liegen? Stimmen die Jumper so?

Vielen Dank im Voraus!
OP #2486841
Lesenswert?

> -lässt sich der Mega32 direkt auf dem STK500 programmieren?
   Ja

> -hat er auf deinem Board einen Takt?
   Ja, 16MHz Oszillator

> -hast du auf deinem Board einen Widerstand von Reset nach Vcc? Falls ja
> und der zu klein ist, gibts Probleme. 3k3 oder grösser funktioniert auf
> jeden Fall.
  Ja, 1M Ohm
OP #2486885
Lesenswert?

Jörg Wunsch schrieb:
> Ber ni schrieb:
>
>>> -hast du auf deinem Board einen Widerstand von Reset nach Vcc? Falls ja
>>> und der zu klein ist, gibts Probleme. 3k3 oder grösser funktioniert auf
>>> jeden Fall.
>>   Ja, 1M Ohm
>
> Kannst du dir aber auch sparen, der interne Pullup ist kleiner (das
> Datenblatt garantiert Werte zwischen 30 und 60 kΩ).

Alles klar, danke!
Das sollte die Funktion aber nicht beeinträchtigen, oder?
Ist aber für das nächste Mal gut zu wissen!

Ist das mit dem 16MHZ oszillator so richtig? Ich habe Fuse 
'EXTRCOSC_XX_0MHZ9_18CK_4MS' gesetz.

Ich habe die externe Schaltung beim Versuch zu Programmieren mit 
Spannung versorgt, passt das?
Gast #2486936
Lesenswert?

Kann man bei stk500 die Taktrate wie beim avrisp mkII einstellen?
Evtl. will er zu schnell programmieren.

Ich teste in solchen Faellen immer mit avrdude ob eine Verbindung 
herdestellt werden kann UND ob die ausgelesene ID konstant den falschen 
Wert hat. Bei mir ist es immer so, dass sich die ID bei einer zu hohen 
Frequenz mit jedem Ausleseversuch aendert.

Viele gruesse
OP #2486964
Lesenswert?

Jörg Wunsch schrieb:
> Ber ni schrieb:
>> Ich habe Fuse
>> 'EXTRCOSC_XX_0MHZ9_18CK_4MS' gesetz.
>
> Welcher hexadezimale Wert kommt da für die low fuse raus dabei?

bitrate schrieb im Beitrag:
>Kann man bei stk500 die Taktrate wie beim avrisp mkII einstellen?
>Evtl. will er zu schnell programmieren.

>Ich teste in solchen Faellen immer mit avrdude ob eine Verbindung
>herdestellt werden kann UND ob die ausgelesene ID konstant den falschen
>Wert hat. Bei mir ist es immer so, dass sich die ID bei einer zu hohen
>Frequenz mit jedem Ausleseversuch aendert.

>Viele gruesse

Kannst du das bitte erklären, ich benutze das erste Mal einen externen 
Takt...
Moderator Persönliche Seite #2487213
Lesenswert?

Ber ni schrieb:
> Ok, ich hab mich schlau gelesen.

Du solltest eigentlich nur den Wert ablesen, den AVR Studio beim
Programmieren der Fuses unten im Statusbereich anzeigt.

> @Jörg:
>
> für high: 0x99
>      low: 0xD5
>
> passt das?

Nö, das wäre ein externer RC-Oszillator.  Das ist vermutlich nicht
das, was du wirklich willst.

Stell die low fuse am besten erstmal zurück auf 0xE1 (das ist der
Auslieferungszustand) und sieh an, ob du dann mit deinem Programmier-
stecker in der Zielschaltung (bei hinreichend langsamem ISP-Takt,
muss < 250 kHz sein) arbeiten kannst.

Wenn das funktioniert, dann programmierst du die high fuse auf 0x89
und die low fuse auf 0xef.  Danach sollte er auch mit einem
16-MHz-Quarz arbeiten.
Gast #2487237
Lesenswert?

Ber ni schrieb:
> Jörg Wunsch schrieb:
>> Ber ni schrieb:
>>> Ich habe Fuse
>>> 'EXTRCOSC_XX_0MHZ9_18CK_4MS' gesetz.
>>
>> Welcher hexadezimale Wert kommt da für die low fuse raus dabei?
>
> bitrate schrieb im Beitrag:
>>Kann man bei stk500 die Taktrate wie beim avrisp mkII einstellen?
>>Evtl. will er zu schnell programmieren.
>
>>Ich teste in solchen Faellen immer mit avrdude ob eine Verbindung
>>herdestellt werden kann UND ob die ausgelesene ID konstant den falschen
>>Wert hat. Bei mir ist es immer so, dass sich die ID bei einer zu hohen
>>Frequenz mit jedem Ausleseversuch aendert.
>
>>Viele gruesse
>
> Kannst du das bitte erklären, ich benutze das erste Mal einen externen
> Takt...

Hi,

das was ich mit avdude mache, scheint auch in avrstudio zu 
funktionieren.

http://www.steinhartw.de/avr-studio-projekt/studio_projekt.htm

Da hab ich auf Anhieb alles das gefunden, was ich jetzt bräuchte um das 
von mir vorgeschlagene zu testen.

Also einfach nur die Signatur auslesen und zwar diverse Male und gucken 
wie sich der Wert verhält. Dann mal mit der ISP-Freq spielen. (in 
Richtung niedrigerer Frequenzen)

Grüße

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