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
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
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 :)
:
Bearbeitet durch User
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 :)
:
Bearbeitet durch User
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
:
Bearbeitet durch User
Ok, das ist schonmal gut. Pin7 ->VCC, Pin8 ->GND
:
Bearbeitet durch User
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
:
Bearbeitet durch User
Nein, SCK geht nur an Pin 19. Der Reset ist einzeln. Einen weiteren uC zum Testn hast du wahrscheinlich gerade nicht da. Genau wie ein Oszi, um mal die Signale anzuschauen.
Leider nicht. An dem fehlenden, externen Quarz sollte es ja nicht liegen? Das wäre mein nächster Schritt, so einen zu bestellen (und noch einen 2. uC ^^).
Die Zeichnung in der DIAMEX Anleitung ist so gemeint das man MOSI an MOSI und MISO an MSIO verbindet? Nicht über Kreuz?
Sind alles 1:1 Verbindungen. Wenn du beide gekreuzt hast, kann es nicht funktionieren. Der Quarzwäre egal bei einem neuen uC, an dem du keine Fuses geändert hast.
Dann stimmt es so. Heiß war der uC auch nie, kann mir kaum vorstellen das er schon kaputt ist.
Ein Hardwaredefekt würde ich auch eher ausschließen, zumindest vor dem ersten programmieren. Bei der Versorgung durch denprogrammer, hattest du nur den uC dran und keine der anderen ICs. Der Programmer kann nur 50mA liefern
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.
Hast du mal auch dem uC geschaut, ob du auch bekommen hast, was du besetllt hast? Nicht, dass du einen 1168 mit einer Endung bekommen hast. Wäre bei R. nicht das ungewöhnlichste. Hintergrund: Manche der uCs mögen nur 5V
ATMEL 1523 ATMEGA168PA-PU steht drauf. Edit: Nochmal mit 5V aus dem Netzteil getesten. 5V Jumper auf dem Programmer gesetzt. Gleiche Fehlermeldung.
:
Bearbeitet durch User
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?
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?
Nah ist relativ ;) Aber gut, es wäre schon besser mit dem Kerko, es kann aber auch ohne funktionieren. Wenn du aber noch einen Kerko dahaben solltest, von 100 bis 1u ist es eig alles i.O., dann setz ihn mal daran.
Hab bedarfsgerecht eingekauft, daher habe ich keinen mehr :) Ich glaubhe ich hol mir einen 2. IC oder einen IC-Greiber und ein Steckboard zum Fehlersuchen. Im moment kann ich den Fehler ja nicht einmal gescheit eingrenzen...
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.
Hi Benedikt, wie sind die Einstellungen des Diamex ALL-AVR? Prüfe bitte Jumper > PDI, ... mfg Olaf P.S.: kann leider erst heute Abend meine Einstellungen JP checken, programmiere gerade ATMega328P
:
Bearbeitet durch User
@ Olaf Wenn die Jumper noch wie im ersten Bild im ersten Post gesteckt sind, stimmt die Jumpereinstellung. Der untere rechte ist dabei ja nur optional.
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 ...
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.
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.
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.
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.
Hast du auch einen zweiten uC getestet oder ist es noch der alte?
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
:
Bearbeitet durch User
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.
Das sieht eigentlich gut aus. Hast du die Möglichkeit die kabel mal kürzer zu machen? Unter welchem Betriebssystem läuft das alles? Hast du zufällig noch ein VS 2015 installiert?
Ja, ich könnte das Kabel kürzer machen, aber kann das echt daran liegen? Der uC ist neu und die Scahltung ist minimal. Mit VS mainst du Visual Studio? Ich habe das 13er oder Atmel Studio 7.0. Alles mit Win7.
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?
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.
Ok. Es ist wirklich merkwürdig...:(
Dann bin ich erleichtert (... dass ich nicht nur zu blöd bin; frustrierend ist es trotzdem). Werde mir dann mal einem anderen Programmer besorgen, ob es daran liegt. Die sind halt schon teuer und das dauert wieder eine Woche...
Der programmer ist eigentlich ok. Bei mir läuft er ohne Probleme. Es muss noch irgenwo anders dran liegen. Mal einen anderen USB-Port benutzt?
:
Bearbeitet durch User
Hab auch nicht angezweifelt das die All-Avrs gut sind. An irgendwas muss es halt liegen und jetzt ist der Programer dran :)
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.
bei mir hatte es auch mit udate 2 noch nicht funktioniert. erst mit dem 3. Aber stimmt, das brennen direkt war nicht betroffen
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.
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.
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.
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.
> 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?
Benedikt W. schrieb: > Dort brauchte ich keinen KerKo Beratungsresistenz ist eine Zier, doch weiter kommt man ohne ihr. Warum nur kommt einem dieser Ausdruck in den Sinn wenn man sich diesen Thread zu Gemüte führt.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.