Forum: Mikrocontroller und Digitale Elektronik ATMEGA164PA - Manchmal programmierbar, manchmal nicht


von Fabian F. (freysn)


Lesenswert?

Guten Tag
Ich versuche gerade einen ATMEGA164PA mit dem JTAG ICE3 via ISP zu 
programmieren. Vor ein paar Tagen hab ich meinen Prototypen in Betrieb 
genommen. Schon damals ist mein Problem bereits aufgetreten, und hat 
sich von selbst wieder gelöst. Doch seit gestern funktioniert wieder 
nichts mehr.

Wenn ich auf "Start without Debugging" klicke, kommt " Failed to launch 
Programm. Error: Failed to start programming session before chiperase."

Unter "Device Programming" schafft er es nicht, die Device Signature 
herauszulesen. Dabei kommt folgende Meldung " Unable to enter 
programming mode. Please verify device selection, interface settings, 
target power and connections to the target device." Speisung wird 
korrekt 5V angezeigt.

Und ich habe bereits versucht, die Freuquenz auf 125kHz zu stellen - hat 
ebenfalls nichts gebracht.


Es wäre super, wenn vielleicht jemand eine Lösung kennt.

Vielen Dank im Vorraus!

Freundlich grüsst
Fabian Frei

von Peter R. (pnu)


Lesenswert?

Da geht anscheinend schon der erste Schritt des ISP-Ablaufs nicht: die 
Signaturabfrage.

Da das Problem intermittierend auftritt, ist zu vermuten, dass die low 
und high-Pegel bei der Übertragung aus irgendwelchen Gründen nicht 
geschafft werden (Belastung der ISP-Leitungen)oder dass ein 
Hardwarefehler (Wackelkontakt) vorhanden ist.

Standardlösung gibts da nicht. Nur Tipps zum Nachprüfen:

Die im Menu in engl. aufgeführten Punkte prüfen.
Welche  Schaltung, welcher ISP-Programmer wird benutzt?
Wie groß ist die Länge des ISP-Kabels?
Sind an den ISP-Pins andere Lasten angeschlossen?
Stimmen die Pegel an den Anschlüsssen, besonders häufig ist reset nicht 
richtig beschaltet, durch zu großes C zum Beispiel.

Schaltbild des Kontrollers mit seiner Beschaltung incl. progger wäre 
ganz hilfreich.

von Rudolph (Gast)


Lesenswert?

Wenn Du schon einen 164PA und einen ICE3 hast - warum nimmst Du dann 
nicht JTAG statt ISP?

von Martin V. (oldmax)


Lesenswert?

Hi
Mal kurz nachgefragt: benutzt du AVR Studio? Da hab ich mir auch schon 
mal einen Wolf gesucht und hinterher festgestellt, das ich die falsche 
Hex-Datei imm Dateipfad stehen hatte.
Oder die ISP-Frequenz ist zu hoch eingestellt. Das mag der Controller 
auch nicht.
Gruß oldmax

von Fabian F. (freysn)


Angehängte Dateien:

Lesenswert?

Peter R. schrieb:
> Welche  Schaltung, welcher ISP-Programmer wird benutzt?
> Wie groß ist die Länge des ISP-Kabels?
> Sind an den ISP-Pins andere Lasten angeschlossen?
> Stimmen die Pegel an den Anschlüsssen, besonders häufig ist reset nicht
> richtig beschaltet, durch zu großes C zum Beispiel.
>
> Schaltbild des Kontrollers mit seiner Beschaltung incl. progger wäre
> ganz hilfreich.

Das Schema ist oben angehängt. Ist aber nichts komplexes. Die Pins, 
welche für die ISP-Programmierer gebraucht werden, werden sonst für 
nichts verwendet.
Ich habe das Reset-Signal mit dem KO angeschaut -> Starke E-Kurve!
Sehr merkwürdig ist auch, dass zuerst eine E-Kurve 5V ins Negative geht, 
danach 5V ins Positive.
Bringts was, wenn ich ein L parallel oder seriel schalte? Es ist nichts 
am RESET-Pin dran.

Die Speisung ist wie gesagt korrekt, und die Verbindungen auch. Ich 
benutze wie erwähnt einen JTAGICE3.

von Fabian F. (freysn)


Lesenswert?

Martin Vogel schrieb:
> Hi
> Mal kurz nachgefragt: benutzt du AVR Studio? Da hab ich mir auch schon
> mal einen Wolf gesucht und hinterher festgestellt, das ich die falsche
> Hex-Datei imm Dateipfad stehen hatte.
> Oder die ISP-Frequenz ist zu hoch eingestellt. Das mag der Controller
> auch nicht.
> Gruß oldmax

Ich benutze das Atmel Studio 6.1.
Mit den Frequenzen habe ich schon alles mögliche ausprobiert. Klappt 
nichts.
Wie kam es denn, dass die falsche Hex-Datei drin war?

von Peter R. (pnu)


Lesenswert?

Fabian Frei schrieb:
> Ich habe das Reset-Signal mit dem KO angeschaut -> Starke E-Kurve!
> Sehr merkwürdig ist auch, dass zuerst eine E-Kurve 5V ins Negative geht,
> danach 5V ins Positive.

Das kommt mir recht eigenartig vor. Da scheint das Programmiergerät das 
reset-Signal mit hochohmigem Innenwiderstand zu liefern oder mit recht 
großem C am Ausgang. ( Manchmal wird der reset mit einem relativ großen 
C "beruhigt", um ein reset durch Störimpulse zu vermeiden)

Fabian Frei schrieb:
> dass zuerst eine E-Kurve 5V ins Negative geht

heißt das, ob sie negative Spannungswerte erreicht? Das wäre ganz pfui.

Auch kann es sein, dass nach dem Einsetzen des Programmers der low-Pegel 
für den reset viel zu spät erreicht wird. Dann sind z.B. die ersten bit 
des Befehls " Signatur ausgeben" möglicherweise schon vorbei und der 
Kontroller erkennt den Befehl garnicht. Also da mal die Schaltung des 
proggers prüfen.

Eigentlich sollten die Flanken der ISP-Signale eindeutige Rechtecke 
sein, der e-Verlauf sollte also eine Zeitkostante haben die kürzer als 
ein Fünftel der h-zeit des SCK ist.

: Bearbeitet durch User
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.