Kann ATmega128 nicht programmieren

OP #1902664
Lesenswert?

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
Gast #1902683
Lesenswert?

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
OP #1902804
Lesenswert?

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?
Gast #1902888
Lesenswert?

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.
(Firma: TravelRec.) Persönliche Seite #1903255
Lesenswert?

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.
Gast #1903428
Lesenswert?

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.
Gast #1903513
Lesenswert?

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?
OP #1903556
Lesenswert?

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?
Persönliche Seite #1903661
Lesenswert?

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
OP #1903727
Lesenswert?

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?
Gast #1903746
Lesenswert?

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.
Persönliche Seite #1905466
Lesenswert?

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
Angehängte Dateien:
OP #1908280
Lesenswert?

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?
Angehängte Dateien:
(Firma: TravelRec.) Persönliche Seite #1908849
Lesenswert?

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.
OP #1908936
Lesenswert?

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.
#1908942
Lesenswert?

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.
(Firma: TravelRec.) Persönliche Seite #1909163
Lesenswert?

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.
#1909732
Lesenswert?

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
Angehängte Dateien:
Gast #1909871
Lesenswert?

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.
OP #1919175
Lesenswert?

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)).
Angehängte Dateien:
Gast #1947339
Lesenswert?

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
OP #1948762
Lesenswert?

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).
Gast #1949244
Lesenswert?

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!
Gast #2502115
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren