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

OP #4749394
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
#4749406
Hast du nochmal den Schaltplan geprüft, dass nicht z.B. Miso und Mosi 
vertauscht. Gerne ist es auch die nicht vorhandene Betriebsspannung. Die 
hattest ja bereits gemessen. Hast du mal an reset gemessen wenn du 
versuchst zu programmieren
OP #4749418
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
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 #4749427
Habe zwischen dem Reset Pin am uC und GND gemessen, während ich den 
Reset Pin in der 10er Buchse am Programmer direkt mit GND 
kurzgeschlossen habe. Spannung ist sofort von 3.3V auf ein paar 
Millivolt runter gegangen.

Edit: 1 Reset, 19 SCK, 18 MISO und 17 MOSI
OP #4749441
Pin 19 (SCK/PCINT5) geht bei mir an den SCK Pin der 
Programmierer-Buchse. Soll er auch nach Reset gehen?

Edit: Das mit dem bearbeiten ist nicht gut. Alle GNDs und VCCs (Vref, 
AVCC) sind jeweils verbunden. Auch an der ISP Buchse. GND: 8, 22; VCC 7, 
21, 20
OP #4749472
Habe es auch ohne die Spannungsversorgung aus dem Programmer probiert. 
3.3V aus einem Netzteil und den extVCC Jumper aus dem Programmer 
gezogen. An anderen ICs habe ich nur noch ein 74hc595 Shift Register. 
Die anderen Verbraucher hängen an PNP-Transistoren.
#4749484
Ich weiß, du hast es schon mindestens zweimal überprüft, aber miss 
nochmal alle relevanten Verbindungen nach. Hast du denn die 
oblogatorischen100nf an VCC und AVCC? Den Takt mal auf die wirklich 
niedrigste Frequenz gesetllt. Hast du auf den Pins gemessen?
OP #4749491
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?
#4749505
Klingt nach einen vernünftige Plan, einen 2. uC kann man immer mal 
gebrauchen, ist also keine unnütze Ausgabe. Wenn d sowas öfter mal 
machen willst, hab einfach mal ne Handvoll 100nF Kerkos rumliegen. 
Werden eigentlich bei jeden neuren IC benutz.
Gast #4749877
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
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.
#4749912
Du kannst zumindest zum Testen die Kerkos auch direkt an die Pin7 und 8 
anlöten, also von der Unterseite. Wenn es dann funktioniert, kannst du 
sie immer noch ordentlich verbauen. Für sowas bieten sich auch SMD 
Kerkos ganz gut an, die kannst du dann zwischen die Pins setzen.
Gast #4749925
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
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
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
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
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?
OP #4754375
Ich habs mal versucht und es war glabe ich auch erfolgreich. Ich habe 
die 2 Lötstellen neben der Power-Led kurzgeschlossen bis in der 
ErfosIspUp_1.9.0.exe das Lämpchen grün wurde. Dann hab ich das Update 
gestartet und er zeigt mir auch v1.9 an.
Gast #4754398
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
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
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
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
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
> 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

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.