Hallo, ich bin langsam am verzweifeln. Ich versuche einen Atmega88 zu programmieren, dafür habe ich von Atmel den AVRISP MKII Programmer und das AVRStudio (Version 4.13 Build 528) Als Anfänger wollte ich zunächst schauen ob Soft und Hardware soweit funktionieren oder ob noch Einstellungen gemacht werden müssen. Ich habe eine Grundschaltung wie in http://www.kreatives-chaos.com/artikel/avr-grundschaltungen aufgebaut. Laut Datenblatt wird der Atmega88 ja so geliefert dass der interne Takt aktiv ist?! Die Schaltung wurde auf Fehler Mosi/Miso mehrmals überprüft. Dennoch kommt beim "Erasen" des Atmegas bereits eine Fehlermeldung: "Entering Programming Mode.. Failed!" Aus dem Troubleshooting werd ich leider nicht schlau, Reset liegt über einen 10K Widerstand auf 5V und Mosi und Miso sind richtig verbunden. Für das löschen des Atmegas müsst der ISP Takt ja egal sein?! Habe bereits einen anderen baugleichen, ebenfalls neuen Atmega88 in die Schaltung gesteckt, mit selbem Ergebnis! :( Wäre super wenn mir jemand helfen könnte!! :) Felix
:
Gesperrt durch Moderator
Achso: Denke daran, dass der MK2 keine Betriebsspannung für die Ziel-CPU bereitstellt. Soll heissen: Deine Schaltung muss bereits mit Spannung versorgt sein. Lese doch mal im AVR-Studio unter "Board" die Target-Voltage aus. Wenn das funktioniert, versuche mal unter "Advanced" die Signature-Bytes auszulesen. Diese sollten (wenn es klappt) auch die des ATMEGA88 sein. LG EC
"Für das löschen des Atmegas müsst der ISP Takt ja egal sein?!" NEIN, um den Prozessor zu löschen musst Du ihm via ISP auch den Befehl dazu geben.
Vielen Dank für die schnelle Hilfe! ICh hab gerade in Eagle kurz die Schltung aufgezeichnet (statt dem Atmega8 benutze ich einen Atmega88) sollten aber baugleich sein. Ich habe gerade die Signature Bytes ausgelesen und siehe da es geht!? Das habe ich heute allerdings schon mehrfach getan! und da ging es nicht.. ich hoffe der Erfolg bleibt bestehen! Trotzdem vielen Dank für eure Hilfe und die schnellen Antworten!! Felix
Schön ! Jedoch stimmt die Pinbelegung in Deinem JPG nicht, mag aber daran liegen, das Du die Schaltung schnell gezeichnet hast. Die Belegung des 6poligen ISP-Steckers wirst Du ja haben. LG EC
War wohl nur ein sporadisches Erfolgserlebnis :( Das Problem "Entering Programming Mode.. Failed!" tritt immernoch auf! warum ich einmal dei Signature Bytes auslesen konnte und jetzt nichtmehr, ist mir rätselhaft!
@ecslowhand Hast recht! Den Programmerstecker kann ich leider auf meinem Steckbrett nicht direkt montieren --> sonst kurzschluss! Das ist die PinBelegung an meinem 6Poligen Stecker der auf meinem Steckbrett ist, wird über (kurze) Kabel aber auf die richtige Belegung auf den 3x2poligen Stecker vom AVRISP MKII umgesetzt.
Man Leute, Standardproblem !! AGND und AVCC anschliessen.
Ich poste mal die Fehlermeldung, vielleicht fällt noch jemand was ein woran es liegen könnte! @ecslowhand Meine Schaltung liegt auf 5V auch während der Programmer angeschlossen ist, also von daher müsste es gehen. Denk ich Zum Löschen ist nachdem was ich in den Datenblättern gelesen hab auch ein ISP Takt von nur 51,1Hz möglich. Zum Programmieren oder lesen hingegen muss der Programmer normalerweise mit mindestens 2KHz betrieben werden. Zumindest laut User Guide. Aber ohne "Erase" Befehl da geht es mit Sicherheit auch nicht! ;) Den hab ich aber gedrückt und trotzdem geht nix :(
@Holger schon probiert, keine Verbesserung oder Änderung des zustandes! Ich poste mal die Schaltung inkl. ISP Anschluss des Programmers
Ist C1 ganz nah am ATMega (10mm max.) ? Evtl. C2 mal weglassen oder kleiner machen.
Setze die ISP Frequenz auf ca. 115KHz. der Mega wird ausgeliefert mit int. Takt 8MHz und Teilung durch 8. Läuft also int. mit 1MHz.
Evtl. sind auch nur die Federn von deinem Steckbrett ausgelatscht weil da mal ein Draht mit zu großem Querschnitt reingesteckt wurde. Die Federn überdehnen dann und schließen nicht mehr richtig. Ergo Wackelkontakt.
>miso und mosi vertauscht?
Dann hätte er seine Signatur nicht sporadisch auslesen können.
@Holger Danke für die Tipps, der C1 war weiter weg als 10mm, hab den direkt an den µC gesetzt, allerdings ohne Erfolg. C2 hab ich verkleinert und auch mal weggelassen. Hat leider auch nichts gebracht! Ob das Steckbrett ausgeleiert ist.. hm eigentlich ist das nagelneu! Also eigentlich sollte das nicht der Fall sein.
>miso und mosi vertauscht? >Dann hätte er seine Signatur nicht sporadisch auslesen können. Hat er denn die richtigen Signatur-Bytes ausgelesen ???
Ich hatte ähnliche Probleme mit einem Atmega168. Tipps aus anderen Foren besagten, dass es im Auslieferungszustand der aktuellen Serie gewisse Probleme gibt und der Atmega generell zuerst gelöscht werden muss. Dafür war bei mir die SPI-Frequenz entscheidend. Eine Reduzierung auf 125kHz brachte den gewünschten Erfolg. Danach ließ sich der Atmega löschen und die Signatur ordentlich auslesen. Ist dieser Schritt erstmal erfolgreich absolviert, können die Fuse-Bits gesetzt werden. Wird dann eine höhere Taktfrequenz verwendet, kann man auch die SPI-Frequenz wieder heraufsetzen. Tschüss Torsten
@Torsten Hab schon jeden ISP Takt durch. Zum löschen muss ich ja auch erst in den Programming mode kommen, aber genau da komm ich nicht hin :( Hab gerade nochmal eine Schaltung aufgebaut dieses mal gelötet um wackelkontakte auszuschließen, aber es funktioniert immernoch nicht. Na wenn die Probleme mit dem Auslieferungszustand haben hoffe ich nicht das der von mir ne externe Taktquelle will. Sollte doch intern auf 1Mhz getaktet sein!? zumindest bei fabrikneu. und an den Fuses konnt ich ja nix machen weil ich soweit net komm. Zu den Signature Bytes: Gestern abend konnt ich die kurz auslesen, allerdings nur einmal danach gings wieder nicht mehr! grrr
Kannst du mit einem Oszi kontrollieren, ob er die Leitungen ordentlich treiben kann (saubere Pegel). Für die Reset-Leitung wird zwar ein Minimalwert von 4,7kOhm angegeben, aber man weiß ja nie ;)
@Torsten Das geht leider nicht ein Oszi hab ich nicht zur Verfügung. :( Die Schaltung versorge ich über einen 7805, da hängt noch ein 4700µF Elko dran damit das auch schön stabil bleibt. Solangsam bin ich echt ratlos woran das liegt. - USB Einstellungen können ja nicht gemacht werden - ISP Anschluss ist überprüft (mehrfach) - es liegt kein externer Takt an, sind ja fabrikneu, die Atmega88 - Programmer (AVRISP MKII) wird im AVR Studio richtig erkannt - Im AVR Studio (4.13 Build 528) wird unter Device Atmega88 ausgewählt - Programmer hat aktuellste Firmware! - Egal welche Frequenz ich unter Board einstelle, ich kann den Atmega weder löschen, lesen noch programmieren
Vielleicht erhöhst du probeweise mal den Pullup am RESET-Eingang (z.B. auf 47k) oder lässt ihn ganz 'raus.
Nur mal so als dummer Gedanke: Wenn du die ISP-Frequenz eingestellt hast, hast du dann auch auf WRITE gedrückt?
Ist vielleicht wie mit der "kaputten" Bohrmaschine und dem Stecker...... Mach doch mal den AVRISPMK2 auf und überprüfe die 6polige Zuleitung. Möglicherweise ist ja hier was nicht richtig. Da Du kein Oszi zur Hand hast, mess doch zumindest mal das Anschlusskabel nach (bitte nicht "piepsen" sondern den Widerstand). Da Du wahrscheinlich keine zweite Möglichkeit zum Programmieren hast (STK500, etc.) bau Dir so ein Billigteil mit Widerständen auf, Anleitungen gibt es ja hier im Netz genug. Dann kannst zumindest als Fehlerquelle Dein MK2 ausschliessen. Hast ja das ganze Wochenende Zeit... :)
@Torsten WRITE wurde schon gedrückt ;) Der Programmer scheint das auch umzusetzen, wenn der auf 51Hz leuchtet die LED sehr lange orange. Leider gehts trotzdem net, auch mit vernünftigen 6,xx kHz. @ecslowhand Den Programmer hab ich gerade aufgemacht sieht alles ganz vernünftig aus.. sofern man das mit dem auge beurteilen kann. Der Stecker scheint auch "gut" montiert zu sein. Die ISP-Leitung vom Board zum Atmega hab ich gerade durchgemessen, das sind alles 0,xxOhm Werte, daran scheint es nicht zu liegen. Hab in nem anderen Forum gelesen dass einer 2 von den AVRISP MKII Programmern hatte und mit einem hat alles funktioniert und mit dem anderen nicht. Beide waren neu.. Werd wohl wirklich einen neuen Programmer bauen müssen.
Hallo, also übers we hab ich mir nen STK500 Programmer besorgt. Der kommt mit meinen Atmega88 zumindest in den Programming Mode! :) Also schon mal ein Fortschritt! Nur die Signature bytes werden nicht erkannt. Der Programmer ließt immer 0xFF 0xFF 0xFF aus. Hab schon 3 Fabrikneue ausprobiert, jedes mal dasselbe... woran kann das liegen? Hoffe jemand kann mir helfen. Vielen Dank schon mal Felix
@ Papa Schlumpf STK Osc=3,686MHz ISP Freq= 57,6kHz Das AVR Studio steht auf PP/HVSP also nicht auf ISP
>Das AVR Studio steht auf PP/HVSP also nicht auf ISP
Schalte mal auf ISP, dann sollte es gehen.
Kann auch sein das der int. Oszil. an und der Teiler durch 8 gesetzt
ist.
Dann ist die Tacktfrequenz 1MHz.
Die ISP Frequenz auf 115,2 KHz.
Hab ich gemacht! Hab auf ISP umgestellt dann gings! Und jetzt funktioniert der Atmega auch in meiner Schaltung mit dem AVRISP MK2 Programmer.. Scheint als müsste man sich als Einsteiger immer beide besorgen. :( Vielen Dank nochmal für eure Hilfe!
Hi Leute ich hab ein ähnliches Problem. kurz zur Hardware Atmega644@20Mhz AVR ISP AVR MKII LPT DT006 der Atmel lies sich genau einmalt mit einem Bootloader beschreiben, danach seriell ging auch noch. Aber jetzt wollte ich ein neues Programm aufspielen. Das einspielen hat super geklapt, keine Fehlermeldung. Danach war aber das alte Programm immernoch drin. Also Löschversuch. Dabei werden auch keine Fehler angezeigt, aber das Programm ist immernoch drauf. Auch seriell der selbe effeckt. Ich hoffe Ihr könnt mir helfen bevor ich die Heißluftstation anschmeise ? Achso EESAVE ist aus und LockBits sind ebenfall alle aus. beim Fuse Schreiben kommen ebenfals keine Fehler Meldungen, jedoch beim lesen hat er wider die alten einstellungen drin. Gruß Sven
Ist die Schaltung an eine externe Spannung angeschlossen? :D