Hallo, Kann mir jemand bei einer ATmega128-16AI Programmierung helfen? Also, habe einen AVR-Programmer hier (auf Basis des STK500) und alle notwendigen Kabel an den Chip (extern, da ISP auch nicht ging) angelötet (MOSI (PDI),MISO (PDO),SCK,RESET und VCC/GND per USB). Bekomme aber in AVR-Studio immer die gleiche Fehlermeldung: ISP MODE ERROR (Entering programming mode.. FAILED! Leaving programming mode.. OK!) bzw. die Signatur: 0x00 0x00 0x00. Kann mir jemand sagen, wo ich vielleicht einen Fehler habe oder was ich vergessen habe zu machen? Bitte um Hilfe. Vielen Dank im Voraus. Mfg
Habe alle Geschwindigkeiten ausprobiert - 1.2KHz, 4KHz, 57.6KHz, 115.2kHz, 460.8KHz, 1.845MHz - aber bei keiner funzt es.
Hi! Beim Atmega128 haben die in der Dokumentation eingezeichneten Pins MISO, MOSI und ich glaube auch SCK nicht die ISP-Funktion über, dazu sind andere Pins zu verwenden, die in der Dokumentation angeführt werden. LG Alex
Ja, MOSI ist beim ATmega128 PDI, MISO ist PDO und SCK und RESET bleiben gleich. Oder?
Genau so. Hast Du alle Spannungspins VCC, AVCC und GND angeschlossen? Hat der Mega128 einen Takt? Hast Du vielleicht versehentlich die Fuses verprogrammiert?
Nein, AVCC habe ich nicht angeschlossen. Kann ich dafür die gleiche Spannung, wie bei VCC benutzen - sprich gleich von da auch die Spannung für AVCC abgreifen? Kann ich die Fuses verprogrammieren, wenn ich keinen Zugriff auf dem ATmega habe? PEN ist nicht belegt. Wo schalte ich die M103 Fuse ab?
PEN PEN is a programming enable pin for the SPI Serial Programming mode, and is internally pulled high . By holding this pin low during a Power-on Reset, the device will enter the SPI Serial Programming mode. PEN has no function during normal operation.
PDI=Pin 2 PDO=Pin 3 Reset=Pin 20 Torsten J. schrieb: > Wo schalte ich die M103 Fuse ab? Im AVR-Studio.
Und wie schliesse ich den PEN an? Habe nen Beitrag gefunden, wo der PEN mit VCC direkt verbunden wird. Stimmt das? Ja, habe Pin2 = MOSI, Pin3 = MISO, Pin11 = SCK, Pin20 = RESET, Pin21 = VCC und Pin22 = GND
Schau dir im Datenblatt Seite300 und ff. Dort steht alles. Nennt sich dummerweise beim 128 SPI-Programming statt ISP.
Torsten J. schrieb: > Nein, AVCC habe ich nicht angeschlossen. Kann ich dafür die gleiche > Spannung, wie bei VCC benutzen - sprich gleich von da auch die Spannung > für AVCC abgreifen? >Ja, habe Pin2 = MOSI, Pin3 = MISO, Pin11 = SCK, Pin20 = RESET, Pin21 = >VCC und Pin22 = GND Immer ALLE Versorgungspins anschliessen! Der Mega128 hat weit mehr Spannungsanschlüsse, als nur Pin21 und Pin22. Auch wenn AVcc nicht angeschlossen ist, kann der Mega kaputt gehen! AVcc muß bei Vcc-0.3V...Vcc liegen.
Okay, werde dann jetzt alle weiteren Vcc's und Gnd's anschliessen sowie AVcc und Pen an Vcc
Danke für den Hinweis. Gebe gleich Bescheid, wenn's soweit ist.
So, habe jetzt folgende Belegung: Pin21/52/64 = Vcc USB Pin22/53/63 = Gnd USB Pin2 = Mosi Pin3 = Miso Pin11 = Sck Pin20 = Reset Leider keinen Erfolg mit dem Auslesen der Signatur. Immer wieder der gleiche Fehler mit ISP MODE ERROR.
Wahrscheinlich sind die Fuses für den Takt auf extern eingestellt. Das kann man aber dummerweise nicht ändern, da das ISP ja nicht funktioniert. Vielleicht einen separaten 2 MHz Quarzoszillator (Blechbüchse mit 4 Beinen) an XTAL1 anschließen. Dann kriegt auch die ISP ihren Takt und das Programmieren der Fuses könnte funktionieren.
Also hier die Bilder - alle Kabel sind fest verlötet und berühren sich nicht. Ist es besser einen Neuen zu kaufen und den zu programmieren?
Das Kästchen SPIEN unter dem Reiter Fuses ist bei mir grau hinterlegt und es ist ein Fragezeichen drin. Hat das was zu bedeuten?
Wieso? Ich wollt doch erstmal nen Zugang zum ATmega bekommen.
MOSI, RESET und SCK bekommen vom Programmer nur 3,3 Volt. Kann damit trotzdem dieser 128er programmiert werden (wie in der Beschreibung vermerkt) oder müssen es wirklich zwischen 4,5 und 5,5 Volt sein?
Hast du GND des Programmers mit GND des ATmega128 verbunden? Ich sehe nur 4 Leitungen... Gruß, Magnetus
Torsten J. schrieb: > Das Kästchen SPIEN unter dem Reiter Fuses ist bei mir grau hinterlegt > und es ist ein Fragezeichen drin. Hat das was zu bedeuten? Das hat nichts zu bedeuten, weil Dein ISP nur Müll zurückliefert, es aber auch bei funktionierendem ISP so ist. Ist der Hinweis mit dem externen Takt zu abwegig?
Nein, habe GND über USB gezogen. Geht das oder muss GND über den Programmer laufen? Denn bei diesem Programmer liefert dieser an Pin2 keine Volt (+) und daher muss der Chip extern mit Spannung versorgt werden. Habe GND beim Programmer auf Durchgang mit GND von USB gemessen und es ist Durchgang vorhanden - auf allen GND Pins des Programmer (4,6,8,10). Woran kann ich erkennen, dass die Fuses auf Extern gestellt sind?
OK jetzt wundert mich natuerlich nix mehr! Schliess den AVR richtig an, dann wird er auch tun (sofern Du ihn noch nicht gekillt hast). Wenn Du sowas machen willst ("fliegender Aufbau") bist Du mit den DIL-Versionen wahrscheinlich besser beraten (da is allerdings bei 64k Schlss, aber die brauchst sowieso nich). Du musst auch die Massen verbinden, d.h. verbinde GND von Deinem Programmer mit GND von Deiner USB-Speisung, sonst hat der kein Bezugspotential. Besser noch waere eine Speisung ueber VTARGET, falls Dein Programmer sowas ermoeglicht, dann brauchst Du die zusaetzliche Spannungsversorgung gar nicht. So oder so, wenn Du damit experimentieren willst musst Du das Ding mal anstaendig in ne Schaltung einloeten, das bringt Dir so ja nichts... Gruss, Michael
Immernoch das gleiche Bild. Also meinste, der ist hinüber? Hatte den AVR schon in der Schaltung zu programmieren, aber da gabs auch nur diese Fehlermeldung. Deshalb hatte ich ihn ausgelötet und wollt ihn extern programmieren. Denn manchmal lässt die Schaltung, in dem der ATmega eingebaut ist, kein ISP zu. Oder?
Torsten J. schrieb: > Denn manchmal lässt die Schaltung, in dem der ATmega eingebaut ist, kein > ISP zu. Oder? Sicher, sicher... Die Schaltungen mit den ATmegas sind schon seeehr launisch! =)
Nur um wirklich sicher zu gehen : 1.) Bei deinem Programmer handelt es sich wirklich um einen ISP Programmer für AVR Prozessoren ? Oder ist es evtl. ein JTAG Programmer ? (Habe solche in diesem Design z.B. bei SK-Tronik mal gesehen!) 2.) Wurde der Programmer im AVR Studio überhaupt erkannt oder liegt schon hier das Problem ? 3.) Sollte es sich tatsächlich um einen AVR kompatiblen JTAG Programmer handeln, so muss dieser nicht an den ISP Pin´s sondern an den entspechenden JTAG Pin´s (falls beim Mega128 vorhanden!) angeschlossen werden. Natürlich muss die JTAG Fuse aktiviert werden.
Ja, der ist von SK-Tronic. Ist ein Diamex Prog-S Programmieradapter für AVR's. Ist der okay? Wenn ich mir zur Sicherheit noch nen AVR MKII besorge und dort das gleiche Fehlerbild kommt, ist dann der 128er hinüber oder wie schwer ist es, eine Signatur per AVR Studio zu bekommen?
Beim richtigen Anschluss und ohne Probleme mit Geschwindigkeit wegen Quarz etc, kriegst du die Signatur flott und problemlos
Lt. http://www.srt-versand.de/elektronische-bauelementegeraete/cardtechnik/programmiergeraete/usb-isp-programmer-fuer-atmel-avr-atmega-attyni-at90.html handelt es sich um einen ISP Programmer. Komisch finde ich halt, dass es auf der Seite noch einen "speziellen" Treiber zum Download steht. Hast du den evtl. noch nicht installiert ?
Ja, habe den Treiber dafür installiert. Werd mir morgen mal den MKII besorgen und dann sehen, was bei dem alles geht oder nicht.
Ja funktioniert es nun oder nich? Ich hab mal ne Platine fuer den Mega128 gemacht, die auch funktioniert (abgesehen vom DAC :P). Kannst mal hier gucken: http://viewvc.coremelt.net/viewvc/avr/avr_kurs/board/ Hab mal nen Bild der Schaltung angehaengt, das laesst sich im Heimverfahren herstellen. Ich denke Dein Problem ist hier, dass Du nicht richtig an die Sache heran gehst. Selbst wenn Du dieses "Konstrukt" zum Laufen bekommst was hilft es Dir? Wenn Du keine Platinen herstellen kannst/willst, dann kauf Dir halt was fertiges oder fang mit einer einfachen Grundschaltung mit nem Mega88 oder sowas an. Greets, Michael
So, habe nen AVR MKII auftreiben können - leider immer noch dieselbe Fehlermeldung. Sitze deshalb grad an nen neuem Aufbau, auf dem der 128er draufgelötet ist und werd dann bei Fertigstellung nen Bild von machen. Hoffe somit, alle möglichen Fehler im Vorfeld entgültig aus dem Weg zu gehen.
So, im Anhang zu sehen der neue Aufbau, um den ATmega128 zu programmieren. Habe alle Verbindungen min. 3 gestestet - alle Vcc's sowie AVcc an Vcc USB, alle GND's an GND vom MK2, PEN über Jumper an Vcc möglich und die restlichen Datenleitungen (MOSI,MISO,SCK,RESET), wie in den Datenblättern (Chip / Programmer) beschrieben angeschlossen. Leider immer noch dieselbe Fehlermeldung, wie schon zuvor. Ist der 128er hinüber oder doch noch nen C zwischen XTAL2 (23) und XTAL1 (24) klemmen? Ist dann der C wirklich erforderlich, um wenigstens ne Sigantur zu bekommen?
Nochmal zum Mitschreiben: Der Controller benötigt zwingend einen Takt. Wenn Du also versehentlich beim ersten Programmieren die Fuses umgebogen hast, musst Du einen externen Takt von >1Mhz an den XTAL1-Pin anlegen und dann kannst Du mit einer ISP-Frequenz von kleiner 250kHz auf den Controller zugreifen. Dies gilt aber nur, wenn Du den Controller richtig angeschlossen und inzwischen nicht gegrillt hast. Alternativ nimm bitte einen anderen Controller mit DIP-Gehäuse, wie zum Beispiel den Mega8 oder 88 und versuche, diesen anzusprechen, damit Du erstmal ein Gefühl dafür bekommst und weißt, ob Dein Programmer in Ordnung ist.
Hallo, Danke für die Antwort. Soll ich lieber einen Quarzoszillator an XTAL-1 gegen Masse anschliessen oder einen Quarz mit XTAL-1 und XTAL-2 in Verbindung mit jeweils nem Kondensator gegen Masse anschliessen? Welche von beiden Versionen ist besser und bei dem Quarzoszillator nimm ich da einen mit 4Mhz oder einen mit nem anderen Wert? ATmega8 konnte ich parallel per AVRDUDE schon problemlos programmieren.
Torsten J. schrieb: > Soll ich lieber einen Quarzoszillator an XTAL-1 > gegen Masse anschliessen oder einen Quarz mit XTAL-1 und XTAL-2 in > Verbindung mit jeweils nem Kondensator gegen Masse anschliessen? Das kannst du dir aussuchen. Es müssen nur die Fuses dazu passen. Quarz ist etwas billiger als ein Oszillator, aber bei einem Stück... > > Welche von beiden Versionen ist besser und bei dem Quarzoszillator nimm > ich da einen mit 4Mhz oder einen mit nem anderen Wert? Das steht die ebenfalls frei. Langsamer spart ein paar mA Strom, schneller rechnet halt schneller. Der genaue Wert ist höchstens interessant, wenn man ein genaues Timing braucht.
Torsten J. schrieb: > Soll ich lieber einen Quarzoszillator an XTAL-1 > gegen Masse anschliessen oder einen Quarz mit XTAL-1 und XTAL-2 in > Verbindung mit jeweils nem Kondensator gegen Masse anschliessen? WENN der Controller verfust ist, ist der Oszillator die einzig mögliche Wahl, da der Controller nicht unbedingt auf exernen Quarz, sondern auf externen TAKT gefust ist. Darauf wurde aber weiter oben schon längst hingewiesen.
Hab versucht den 128er mit nem 14,7456 Mhz Quarz + Kondensatoren anzusprechen, aber ohne Erfolg. Werd mir jetzt noch nen 4Mhz Oszillator besorgen. Vielen Dank für Infos. Werd mich wieder melden, sofern ich den ausprobiert und getestet habe.
Torsten J. schrieb: > Hab versucht den 128er mit nem 14,7456 Mhz Quarz + Kondensatoren > anzusprechen, aber ohne Erfolg. Hätte ich Dir vorher sagen können. Ääh, hab ich auch... Hast Du keinen 555er oder einen CD/74HC4093, dem Du die paar MHz entlocken könntest?
Torsten J. schrieb: > Hab versucht den 128er mit nem 14,7456 Mhz Quarz + Kondensatoren > anzusprechen, aber ohne Erfolg. Werd mir jetzt noch nen 4Mhz Oszillator > besorgen. Vielen Dank für Infos. > > Werd mich wieder melden, sofern ich den ausprobiert und getestet habe. Und anbei nochmal die Minimalbeschaltung mit Quarzoszillator zum Nachkontrollieren. fchk
Wenn ich den geposteten Stromlauf ansehe, frage ich mich ob Mosi/Miso richtig angeschlissen sind. Im Stromlauf gehen die nicht an Mosi/Miso vom µP, sondern an dessdn TxD/RxD. Dann kann es nicht gehen.
Beim ATmega64/128 ist das anders - siehe Datenblatt. Dort liegen MOSI und MISO an PE0(TxD) und PE1(RxD).
So, habe den ATmega auch mit nem 4Mhz Quarz + 100nF Kondensator nicht angesprochen bekommen. Dann habe ich mir nen anderen 128er besorgt und siehe da, dieser lässt sich problemslos auslesen, programmieren usw. Er läuft entweder mit intern OSC, extern OSC oder extern Crystal. Das Problem, was ich jetzt nur noch habe, ist, dass ich ihn trotz "Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 64 ms" nicht in der Originalschaltung zum Laufen bringe. Dort hängt der 128er an XTAL2 und 1 an einem 14,7456MHz Quarz + 22pF Kondensatoren. Auf der Programmierplatine funzt alles, aber in der Originalschaltung nicht. Das Programm sagt mir immer "not in Boot Mode". Habe ich denn bestimmte Fuses falsch gesetzt? Anbei nen Bild von den notwendigen PonyProg Einstellungen und denen, die ich in AVR-Studio (angepasst) übernommen habe (bei M103C sowie WDTON wurde kein Haken gesetzt - AVR Studio (hat nicht ganz raufgepasst)).
Torsten J. schrieb: > Das Programm sagt mir immer "not in Boot Mode". Habe ich denn bestimmte > Fuses falsch gesetzt? Huh?! Der Mega128 hat keinen "Boot mode", höchstens der Programmer (also der mkII). Mir scheint, Du bringst hier was durcheinander.
Hab alles hinbekommen. Es lag am MKII - ich musste per Parallelprogrammer die Daten auf'm 128er brennen. Hatte mir dann noch schnell einen SimplyParallelProgrammer gebastelt. Jetzt klappt's wunderbar. Danke an Alle.
Hallo! habe mir vor kuzem den selben avr Programmer (foto) gekauft wie du anfangs beschrieben hast, und habe das selbe Problem, bzw die selben Fehlermeldungen im AVR-Studio! meine Frage an dich , ob du nun alles mit dem MKII machst oder ob du es mitd dem diamex prog s auch hinbekommen hast!? mfg
Christian H. = Also die Aussage mit dem 4Mhz Quarz war unvollständig - ich meinte einen Quarzoszillator + 100nF Kondensator. Michael j. = Den Diamex Programmer (hatte den Grünen), kannst Du wieder zurückschicken, der geht nicht. Zum einen brauchte der 128er 4,5 bis 5,5 Volt zum Programmieren und laut Anleitung sollte es auch mit den 3 Volt gehen. Zum Auslesen der Signatur konnte ich den Diamex benutzen - musste aber 4KHz als ISP-Geschwindigkeit einstellen. Aber zum Einen würde das ne ganze Ecke dauern, um den 128er mit dieser Gewschwindigkeit zu programmieren und zum Anderen, kam bei allen Geschwindigkeiten (auch 4KHz) immer ne Fehlermeldung beim Programmieren. Nimm den AVR MKII, der ging diesbezüglich ohne Probleme (bis 1MHz).
Hab meinen Prog Diamex-s doch zum laufen gebracht! :) Versuch mit avrdude µController auslesen hat funktioniert! Nach längerem herumspielen im avrstudio funktionierte er schlussendlich! Problem war: keine der Vorgeschlagenen ISP-Frequenzen funktionierte! 57,6 khz zu schnell und 4 khz zu langsam! => Lösung war eine Frequenz dazwischen welche man manuell eingeben musste! 28,36 kHz!!!! damit kann man dann im Avrstudio arbeiten! Programmieren funktioniert auch mit 3,3 V bei meinem Atmega88! vl hilft dass mal jemandem!
Danke,Danke,Danke, Michael j.!!!!!! Habe endlich meinen AtMega168 zum laufen/blinken gebracht. Ich hab EWIG mit diesem Programmer rumgefummelt, alles 97 mal neu verdrahtet, MISO/MOSI usw. gecheckt, --- nix, immer "Entering Programming mode: FAILED" Der Trick mit den 28,36 kHz (wo haste die denn her ???) war der absolute Knaller !!! Nochmal danke...
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.