Diamex All-AVR & Atmega 168 - "Failed to enter programming mode"

OP #4749394
Lesenswert?

Hallo Leute,

vor einem Tag habe ich mal mit meinem ganz eigenen uC-Projekt 
angefangen, Erfahrung hatte ich schon, hatte bisher nur noch nie etwas 
ganz von Anfang an auf mich allein gestellt gemacht.

Ich benutze einen ATmega 168PA-PU und einen Diamex ALL-AVR, beide neu 
von reichelt.

Jetzt habe ich jedoch irgendein Problem bei der Kommunikation mit dem 
uC. Ich stelle im Atmel Studio 7.0 "Device Programming" Dialog den 
"ATmega168PA" mit dem "AVRISP mkII" ein (als solcher wird der ALL-AVR 
erkannt) und drücke Apply. Ich lasse ihn die Target-Voltage einlesen; 
3.3V. Wenn ich nun auf "Read Device Signature" gehe bekomme ich folgende 
Fehlermeldung:

----------
Failed to enter programming mode. ispEnterProgMode: Error status 
received: Got 0xc0, expected 0x00 (Command has failed to execute on the 
tool)

Unable to enter programming mode. Verify device selection, interface 
settings, target power, security bit, and connections to the target 
device.
Timestamp:  2016-10-09 22:25:02.084
Severity:    ERROR
ComponentId:  20100
StatusCode:  1
ModuleName:  TCF (TCF command: Device:startSession failed.)

Failed to enter programming mode. ispEnterProgMode: Error status 
received: Got 0xc0, expected 0x00 (Command has failed to execute on the 
tool)
----------

Das heruntersetzten des ISP Clock Speed hilft nicht.

Versuche ich die Fuses auszulesen bekomme ich die gleiche Fehlermeldung.

Der Programmer kann 3.3V und 5V und als externe Spannungsversorgung 
fungieren. Ich habe beide Spannungen, mit und ohne Versorgung durch den 
Programmer probiert.

Ich habe mit einem Multimeter das Board getestet. Am Chip liegt die 
gewollte Spannung an (auch Aref und AVCC), Reset ist mit 27K mit VCC 
verbunden (habe auch 8K getestet), keiner der ISP Pins schließt mit 
irgendetwas kurz. Ich habe auch die Verbindung von den Pins bis in den 
Programmer gemessen; Keine Probleme.

Ich habe keinen externen Quarz.
Die Pins für IPS sind ausschließlich mit dieser belegt, keine Taster 
oder Sonstiges.
Es ist ein 220nF Kondensator an GND und VCC angeschlossen.

Ich habe auch schon folgende Threds gelesen, hat mir aber nicht weiter 
geholfen:
Beitrag "Erste Schritte mit AVR Studio 6.2 und AVR ISP MK2 - Fehlermeldung: Erasing device failed"
Beitrag "AVR Dragon Unable to enter Program Mode - was kann ich noch tun?"
Beitrag "AVR Atmega328p an Diamex ALL-AVR ISP - Schaltkreis"

Viellecht kann mir einer von euch helfen, habe keine Ahnung was ich noch 
probieren könnte.

LG Benedikt
OP #4749418
Lesenswert?

Danke für die schnelle Antwort.
Habe nochmal gemessen und wenn 
http://www.diamex.de/dxshop/mediafiles//Sonstiges/All-AVR-Anleitung.pdf 
Seite 3 die Draufsicht auf den Programmer bzw. den Controller zeigt, 
stimmt das so.
Die Spannung an Reset beim Programmieren ist schwer zu messen, sie ist 
kurz von 3.3V auf 2.4V runter gegangen. So schnell ist mein Multimeter 
nicht, aber das sollte so ja stimmen.

PS.: Der Programmer hat eine 10pin und 6pin Buchse, die miteinander 
verbunden sind. Ich konnte daher sogar den Widerstand vom Pin am uC bis 
in die unbelegte Buchse des Programmers messen. So verzweifelt bin ich 
:)
#4749419
Lesenswert?

Ok, zieh mal den Reset manuell(per pulldown)auf GND. Dann hast du genug 
zeit zu messen. Nicht das der Pin nicht ganz auf Masse gezogen wird und 
so nicht in den Programmiermodus übergeht. Nennst du noch mal die 
Belegung, die du verwendest.

Edit: Ich weiß, den Programmer benutz ich auch und bin eig. auch 
zufrieden damit :)
OP #4749491
Lesenswert?

Habe alle ISP Leitungen von den uC Pins bis in die 10er Buchse gemessen. 
2,152 kHz klappt auch nicht. Den 100 nF KerKo habe ich allerdngs nicht. 
Dem initialen Post habe ich drei Bilder angehängt. Ich habe nur einen 
220uF ElKo, der relativ nahe an den VCC- und GND Pins liegt. Kann es 
daran liegen?
Gast #4749877
Lesenswert?

Benedikt W. schrieb:
> Den 100 nF KerKo habe ich allerdngs nicht.
> Dem initialen Post habe ich drei Bilder angehängt. Ich habe nur einen
> 220uF ElKo, der relativ nahe an den VCC- und GND Pins liegt. Kann es
> daran liegen?

Ein 100nF reicht nicht, es müssen zwei sein. Die Kondensatoren
müssen hin. Vcc und AVcc. Beide Pins sollen kurz miteinander
verbunden sein und die Kondensatoren mit den Massepins des AVR
verbunden. Sowohl die Vcc als auch die GND Pins sollen eine
kurze direkte Verbindung zueinander haben. Ich sehe da (Vermutung)
eine grosse Schleife ... das wäre nicht gut.

.... oder einfach die Layout-Hinweise zu dieser Thematik
von ATMEL lesen ...
OP #4749907
Lesenswert?

Danke für die Hilfe, das könnte der Grund sein.
Ja, von VCC nach AVCC und GND links nach GND rechts habe ich die langen 
Kabel gelegt. Da komme ich aber nur schlecht drumherum. Da die Pins 
nicht auf einer Ebene sondern über Kreuz sind kann ich sie ja nicht eben 
auf der Unterseite verbinden. Höchstens einen (Am besten VCC > 
AVCC?)Zwei 100nF KerKos, einer rechts und einer links, sollten doch aber 
reichen? Wenn ich den KerKo 3 Löcher weiter setze aber mittels Lötbrücke 
mit den Pins verbinde ist das ja kein Problem? Direkt neben dem Pin habe 
ich schon die Kabel eingelötet.
Gast #4749925
Lesenswert?

Benedikt W. schrieb:
> Da die Pins
> nicht auf einer Ebene sondern über Kreuz sind kann ich sie ja nicht eben
> auf der Unterseite verbinden.

Doch kannst du! Brauchst du dafür eine Anleitung?

Gut dass du ein Einsehen hast.

Der Elko gehört an den ISP Stecker wo du deine Spannung bekommst
und keinesfalls irgendwo hin. Wenn du die Versorgung über
Batterie machst dann speise die Batterie dort ein wo dein Elko
am ISP Stecker sitzt, und nicht irgendwo. Auch am ISP Stecker
gehört noch ein Kondensator hin da man nicht weiss wie gut der
Programmer seine Spannung sauber hält. Ich habe den Programmer
selbst und sehe dort keinen einzigen dicken Elko der dabei helfen
würde Spannungen zu glätten, zu puffern.
OP #4754228
Lesenswert?

Ich habe jetzt ein paar KerKos und mal an einer Steckplatine probiert.
Dabei habe ich folgendes nachgestellt: 
http://rn-wissen.de/wiki/images/f/fc/800px-Avrtutorial_grundschaltung_mitisp.gif
Ich habe auh alle Leitungen doppelt und dreifach geprüft, mit und ohne 
exVcc und mit 3V und 5V. Ich bekomme immernoch den gleichen Fehler.
Ich habe es auch mit 220uF Elko und zusätzlichem 100nF KerKo am AVcc, 
probiert, sowie mit dem verbinden von Aref und AVcc.
#4754345
Lesenswert?

Ok. Das muss noch ein Fehler in der Verkabelung sein. Anders kann ich 
mir das nicht mehr erklären
Mach bitte noch mal ein Foto des Programmierkabels von vorne.
Ausserdem such dir mal die belegung für den 6pol raus.
Schau dir auch mal die zählweise des steckers an, ob du richtig liegst.
An Pin 1 ist ein kleiner Pfeil. Rechts neben P1 ist pin3 wieder einen 
weiter Rechts ist Pin5. So verhält es sich auf der rückseitigen Reihe 
ebenso. ganz liks ist 2 dann 4 und am Schluss 6
OP #4754361
Lesenswert?

Die Belegung die ich benutze ist die auf Seite 3 die Abb. ganz rechts:
http://www.diamex.de/dxshop/mediafiles//Sonstiges/All-AVR-Anleitung.pdf

Ich habe auch schon die Verbindung vom Pin bis in die 10pin Buchse 
gemessen. Alles scheint ok. Ich habe auch vom Atmega GND Pin bis zum 
Gehäuse der USB-Buchse des Programmers gemessen und da habe ich auch 0 
Ohm, sollte also nicht spiegelverkehrt sein.
Angehängte Dateien:
#4754370
Lesenswert?

Könnte sein, ist aber recht unwahrscheinlich. Außer einem MM hast du 
keine Messgeräte?

Ok das sollte keine Probleme machen. Mit VS2015 ohne update 3 
funktioniert Atmel Studio 7.0 nicht wirklich. Ich hatte nämlich 
überlegt, ob der Treiber des Programmers vielleicht nicht richtig 
funktioniert. Hattest du ein Firmeware -Update des Programmers gemacht?
Gast #4754398
Lesenswert?

Marco G. schrieb:
> Ok das sollte keine Probleme machen. Mit VS2015 ohne update 3
> funktioniert Atmel Studio 7.0 nicht wirklich

So nen Quark, läuft und lief (auch VS15 <SP3) hier auf ca. 50 Rechnern 
völlig problemfrei. Nur Das Original VS2015 ohne SP hatte Probleme mit 
der Cache / Datei Verteilung. Das wurde aber durch ein  Hotfix behoben, 
kam dann mit SP1 wieder und wurde dort auch durch ein Hotfix behoben.

Programmer oder allgemein das Brennen der AVR durch AS7 war aber zu 
keinem Zeitpunkt betroffen.
OP #4764968
Lesenswert?

Habe mir jetzt den originalen (mit 60€ super teuren...) AVRISP mkII 
geholt und damit hat es funktioniert.
Habe allerdings mehrere Anläufe gebraucht gebraucht. Er ging erst 
nachdem ich nicht mehr die verzinnten Leitungen vom uC direkt in den 
Stecker gesteckt habe. Stadtessen habe ich die Leitungen die vom uC 
kamen an einen Wannenstecker gelötet habe und in diesen den ISP-Stecker 
gesteckt. Irgendwas stimmte also mit der Verbindung nicht obwohl mein 
Multi keine Probleme anzeigte.
Mit dem AllAvr funktioniert immer noch nicht.

Noch ein paar Anmerkungen zu AVcc und den KerKos. Ich habe es getestet 
und es geht auch Problemlos ohne. Aref, AVcc und AGND muss man nicht 
verbinden, wenn man den uC nur programmieren will. Gleiches gilt für die 
Kerkos. Ich habe mal ein Bild von der Schaltung angehängt, die sich so 
programmieren lässt. Ohne Kondensator, allerdings benutze ich ein 
(günstiges) Labornetzteil.
Nochmal danke für eure Hilfe. Das war echt frustrierend, vor allem da 
das mein erstes uC Projekt alleine ist.
Angehängte Dateien:
Gast #4764987
Lesenswert?

Tu Dir selbst einen Gefallen und spendiere IMMER jedem einen Kerko an 
VCC und GND. Denn genau das ist in gefühlt jedem vierten Fall von 
unerwarteten Funktionsfehlern die Ursache.

Ich kaufe die immer in 100er Tüten.

Wenn die ISP Schnittstelle nächstes mal zickt, kann es helfen, ein paar 
LED's mit 1kΩ Vorwiderständen anzuschließen.
Gast #4765007
Lesenswert?

Benedikt W. schrieb:
> Noch ein paar Anmerkungen zu AVcc und den KerKos. Ich habe es getestet
> und es geht auch Problemlos ohne.

Genau das tut es nicht.

Es geht rein zufällig ohne. Bei dir, in genau deiner Konstellation.
Und vielleicht auch nicht jedes Mal.

Sonst auch mal zufällig nicht, nur weil man 2 Cent für den/die
Kondensator(en) gespart hat.
OP #4765040
Lesenswert?

Ok, ich glaube das ist falsch rüber gekommen. Ich habe ja auf einer 
Steckplatine die minimalste Schaltung gesteckt und selbst die ging 
nicht. Dort brauchte ich keinen KerKo, nur um zu testen ob sich der uC 
programmieren lässt. Ich wollte nicht sagen das man generell keinen 
braucht. Das mit Aref, AVcc und AGND ist aber nicht nur in meinem Setup 
so. Wenn man nur programmieren will, benötigt man diese Pins nicht.
Gast #4765203
Lesenswert?

> Dort brauchte ich keinen KerKo, nur um zu testen ob sich der
> uC programmieren lässt.

Doch brauchst du. Ohne Kerkos kann er sogar insofern kaputt gehen, dass 
die Fuses falsch gesetzt werden und er dann über ISP gar nicht mehr 
ansprechbar ist.

Die Kondensatoren sind IMMER und ÜBERALL notwendig. Akzeptiere das, oder 
suche Dir ein anderes Hobby.

> AVcc und AGND ist aber nicht nur in meinem Setup so.
> Wenn man nur programmieren will, benötigt man diese Pins nicht.

Auch hier solltest du dich ans Datenblatt halten. Da steht drin, dass 
die Pins angeschlossen sein müssen. Da mag heute bei diesem einen Chip 
auch ohne Anschluss funktioniert haben. Aber schon morgen, wenn du 
nochmal so einen Chip kaufst, geht es plötzlich nicht mehr. Und dann 
fragst du uns hier, warum es plötzlich nicht mehr geht, du hättest doch 
alles richtig gemacht.

Ich kann auch ohne Kühlwasser Auto fahren. Nur für mal eben um die Ecke 
ist kein Kühlwasser nötig - verstehst du es jetzt?

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