Forum: Mikrocontroller und Digitale Elektronik Neuer AVR (Atmega88) lässt sich nicht Programmieren


von Felix K. (felix_xyz)


Lesenswert?

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
von ecslowhand (Gast)


Lesenswert?

Zeichne doch mal bitte Deine "Verdrahtung".

von ecslowhand (Gast)


Lesenswert?

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

von ecslowhand (Gast)


Lesenswert?

"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.

von Felix K. (felix_xyz)


Angehängte Dateien:

Lesenswert?

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

von ecslowhand (Gast)


Lesenswert?

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

von Felix K. (felix_xyz)


Lesenswert?

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!

von Felix K. (felix_xyz)


Lesenswert?

@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.

von holger (Gast)


Lesenswert?

Man Leute, Standardproblem !!

AGND und AVCC anschliessen.

von Felix K. (felix_xyz)


Angehängte Dateien:

Lesenswert?

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 :(

von Felix K. (felix_xyz)


Angehängte Dateien:

Lesenswert?

@Holger
schon probiert, keine Verbesserung oder Änderung des zustandes!

Ich poste mal die Schaltung inkl. ISP Anschluss des Programmers

von holger (Gast)


Lesenswert?

Ist C1 ganz nah am ATMega (10mm max.) ?
Evtl. C2 mal weglassen oder kleiner machen.

von Stargate (Gast)


Lesenswert?

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.

von holger (Gast)


Lesenswert?

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.

von Axel R. (Gast)


Lesenswert?

miso und mosi vertauscht?

von holger (Gast)


Lesenswert?

>miso und mosi vertauscht?

Dann hätte er seine Signatur nicht sporadisch auslesen können.

von Felix K. (felix_xyz)


Lesenswert?

@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.

von ecslowhand (Gast)


Lesenswert?


>miso und mosi vertauscht?

>Dann hätte er seine Signatur nicht sporadisch auslesen können.

Hat er denn die richtigen Signatur-Bytes ausgelesen ???

von Torsten (Gast)


Lesenswert?

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

von Felix K. (felix_xyz)


Lesenswert?

@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

von Torsten (Gast)


Lesenswert?

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 ;)

von Felix K. (felix_xyz)


Lesenswert?

@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

von Torsten (Gast)


Lesenswert?

Vielleicht erhöhst du probeweise mal den Pullup am RESET-Eingang (z.B. 
auf 47k) oder lässt ihn ganz 'raus.

von Torsten (Gast)


Lesenswert?

Nur mal so als dummer Gedanke: Wenn du die ISP-Frequenz eingestellt 
hast, hast du dann auch auf WRITE gedrückt?

von ecslowhand (Gast)


Lesenswert?

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... :)

von Felix K. (felix_xyz)


Lesenswert?

@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.

von Felix K. (felix_xyz)


Lesenswert?

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

von Papa Schlumpf (Gast)


Lesenswert?

Übertragungs Frequenz richtig?

von Felix K. (felix_xyz)


Lesenswert?

@ Papa Schlumpf
STK Osc=3,686MHz
ISP Freq= 57,6kHz

Das AVR Studio steht auf PP/HVSP also nicht auf ISP

von Papa Schlumpf (Gast)


Lesenswert?

>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.

von Felix K. (felix_xyz)


Lesenswert?

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!

von svenulm31 (Gast)


Lesenswert?

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

von Alex (Gast)


Lesenswert?

Ist die Schaltung an eine externe Spannung angeschlossen? :D

von Axel R. (Gast)


Lesenswert?

ist von 2007!

Schloss vor.

Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.