Forum: Mikrocontroller und Digitale Elektronik ATMEGA 128 in gegebener Schaltung programmieren ISP


von Dirk B. (freaxx)


Angehängte Dateien:

Lesenswert?

irgendwie habe ich einen Denkfehler bzw. komme nicht weiter  ...  ;-)

Ich versuche vergeblich einen ATMEGA 128 in einem vorhandenen Gerät / 
einer gegebenen Schaltung (siehe Anhang) per ISP zu programmieren.

Ich habe lediglich C8 den "Reset Kondensator" entfernt,
dann noch PE0 und PE1 von den Transistor-Basen T1 und T2 getrennt,
und am Display Anschluss J1 ist nichts eingesteckt.

Ich habe einen "ATMEL ICE" und einen "AVRISP mkII" wahlweise als 
Programmer zur Verfügung.

Beim ATMEGA 128 gilt ja laut Datenblatt die Besonderheit
"Pin Mapping SPI Serial Programming":
 - MOSI (PDI) an Pin PE0
 - MISO (PDO) an Pin PE1
 - SCK an Pin PB1

ich habe es im Prinzip wie hier gezeigt angeschlossen:
-> 
https://camo.githubusercontent.com/214abda83d8529c2be1b8483bb424b4bafdbd375/687474703a2f2f692e696d6775722e636f6d2f6c597a64554c692e706e67

Der ISP Programmer bekommt quasi gar keinen Kontakt zur MCU, ich kann 
noch nicht mal die Signatur auslesen, egal welche ISP-Frequenz ich 
einstelle.

Unter ATMEL Studio kommt das übliche:
"Failed to enter programming mode. ispEnterProgMode: Error status 
received: Got 0xc0, expected 0x00 (Command has failed to execute on the 
tool)"


- Was könnte mein Fehler sein ?

- Darf der Pullup am Reset Pin so niederohmig sein [R8=4,22kΩ]
 (können die genannten ISP-Programmer damit umgehen) ?

- Kann der Hersteller der Steuerung die MCU so per Lockbits o.äh. 
sperren, dass man nicht mal mehr Signatur lesen oder "erase chip" 
ausführen kann ?

- macht es evtl. was aus, dass der PEN pin in der Schaltung "hart" auf 
5V gelegt ist
(laut Datenblatt ist der ohnehin intern auf 5V per Pullup - den Sinn des 
PEN habe ich aber nicht so richtig verstanden aus dem Datenblatt)

: Bearbeitet durch User
von Frickelfritze (Gast)


Lesenswert?

Dirk B. schrieb:
> ich habe es im Prinzip wie hier gezeigt angeschlossen:

Nein hast du nicht.

Dein Quarz hat keine Lastkapazitäten. Die im Gehäuse ein-
gezeichneten sind aller Warscheinlichkeit nicht wirklich
vorhanden. Quarze in diesem Frequenzbereich brauchen
üblicherweise Lastkapazitäten von ca 22-33pF.

Wenn nicht vorhanden, schwingt der Oszillator nur per
Zufall an.

von Frickelfritze (Gast)


Lesenswert?

Dirk B. schrieb:
> Der ISP Programmer bekommt quasi gar keinen Kontakt zur MCU, ich kann
> noch nicht mal die Signatur auslesen, egal welche ISP-Frequenz ich
> einstelle.

Dein Display hängt am SPI, es könnte sich beim Programmieren
angesprochen fühlen und die Kommunikation stören. Du brauchst
am CS-Pin deines Displays einen Pullup damit das Display
nicht versehentlich durch floatende Pins während des
Programmierens selektiert wird.

von Rudolph R. (rudolph)


Lesenswert?

Frickelfritze schrieb:
> Dein Quarz hat keine Lastkapazitäten.

Ich würde da mal schwer auf einen Resonator tippen.

von Dirk B. (freaxx)


Lesenswert?

@Frickelfritze:
> Dein Display hängt am SPI
das Display ist nicht angeschlossen (wie ich ja schon im ersten Beitrag 
geschrieben habe)

@Frickelfritze:
> Dein Quarz hat keine Lastkapazitäten.
@Rudolph R.:
> Ich würde da mal schwer auf einen Resonator tippen.
ja, es ist wie unschwer zu erkennen ein Resonator mit integrierten 
Kapazitäten.
Die derzeit auf der MCU laufende Firmware (welche ich 
überschreiben/löschen möchte) läuft ja auch ganz normal damit...

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Der Pull-Up WIderstand am Reset Pin ist ganz sicher nocht die 
Problemursache. Falls C8 nicht größer als 10µF ist, darf er auch dran 
bleiben.

von Stefan F. (Gast)


Lesenswert?

> macht es evtl. was aus, dass der PEN pin in der
> Schaltung "hart" auf 5V gelegt ist

Ich zittiere mal was aus dem Datenbatt:

PEN is a programming enable pin for the SPI Serial Programming mode, and 
is internally pulled high. By holding this pin low during a Power-on 
Reset, the device will enter the SPI Serial Programming mode.

von Dirk B. (freaxx)


Lesenswert?

also wenn ich mir andere Boards mit dem ATMEGA 128 so anschaue,
dann ist das dort genau so mit dem PEN-Pin:
--> https://www.sparkfun.com/datasheets/AVR/avr-h128-1.pdf
--> http://download.chip45.com/Crumb128_2561_V4.0_schematics.pdf

andere lassen den PEN-Pin offen:
--> 
http://elecfreaks.com/store/download/datasheet/dev%20platform/atmega128/ATMEGA128_SCH.pdf

im AVRfreaks Forum wird ausdrücklich empfohlen, den PEN-Pin offen zu 
lassen.
(dieser Pin ist Prozessor-Intern über Pullup auf 5V)

Der Pin wird definitiv nicht zum Programmieren per ISP benötigt...

Ich habe den PEN-Pin deswegen jetzt mal offen gelassen,
das ändert aber leider auch nichts (an der eingangs geschilderten 
Situation) ...

: Bearbeitet durch User
von Dirk B. (freaxx)


Lesenswert?

was ist, wenn die SPIEN Fuse nicht auf default =0
sondern auf "1(unprogrammed)" steht ?

würde sich das dann auch so verhalten, dass man noch nicht mal die 
device-signatur auslesen kann ?

käme ich in diesem Fall noch über JTAG ran ?
(nur wenn die JTAGEN Fuse nicht auch auf "1(unprogrammed)" steht, oder 
?)

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

> würde sich das dann auch so verhalten...

Ja, dann brauchst du einen High-Voltage Programmer oder einen neuen 
Chip.

> käme ich in diesem Fall noch über JTAG ran ?

Nur wenn JTAG eingeschaltet ist.

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.