Forum: Mikrocontroller und Digitale Elektronik Problem beim Programmieren ATMEGA128 nach Umstieg auf AVRISP mkII


von GundelGaukeley (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich hab da ein Problem, bisher habe ich für meine Projekte einen 
parallelen AVRISP Programmer auf Basis eines 74HC244 Baustein (STK200 
kompatible).
Und mit dem Programmieren hatte ich bis jetzt in der Schaltung (siehe 
Anhang) kein Problem. Ab und zu muss ich einen Baustein zweimal 
Programmieren aber das ist egal, ok nervig deshalb hab ich mir jetzt 
einen AVRISP mkII geleistet habe und in meinem jugendlichen Leichtsinn 
gedacht ich Könnte einfach ein 6Pin zu 10Pin Adapter verwenden meinen 
Programmierstecker anschließen und über die stk500.exe (Kommandozeile) 
oder AVRStudio den ATMega128 programmieren. Aber nach dem Anstecken des 
Programmiersteckers blickt das mkII orange. Nein vorweg das Kabel hab 
ich getestet und es ist O.K. Komisch ist das ich dann einmal mit der 
stk500.exe (stk500 -cUSB -dATMEGA128 -s) das Signature Byte auslesen 
kann, danach blinkt das mkII rot und ich bekomme keinen Kontakt mehr zum 
Target. Starte ich das Programmierinterface über AVR Studio (4.16 Build 
638) und Versuche das Byte zu Lesen bekomme ich eine Fehlermeldung das 
eventuell der Kabel oder der pull-up am Rest nicht richtig ist

So nun meinen Frage hat von euch einer eine Idee --> Und weis was ich 
noch machen kann

Gruß und Danke

GundelGaukeley

P.S. Ich kann meinen Schaltung leider nicht um Designen lediglich habe 
ich den Spielraum einen Adapterplatine für das Programmieren zu basteln.

von Sven K. (Gast)


Lesenswert?

Hi,

MISO <-> MOSI vertauscht ?

Gruß Sven

von GundelGaukeley (Gast)


Lesenswert?

Hallo Sven,

A) wird der ATMega128 nicht über MISO MOSI Programmiert (PDI, PDO)

und

B) Hab ich schon Probiert --> Kein Unterschied :-)

Gruß

GundelGaukeley aber danke!

von Sven K. (Gast)


Lesenswert?

Hi,

gut ok. Was macht das Watchdog IC ?
Funkt das mit dem Reset dazwischen ?
Was ist dann mit einem Pullup ?

Kannst Du mal den Schaltplan im gif Format posten ?
Dann gibts auch keine Probleme mit der Lesbarkeit ?

Gruß Sven

von Oliver (Gast)


Lesenswert?

Blödes Bildformat, man erkennt fast nix. PNG ist besser.

Lt. Handbuch prüft der AVRISP u.a., ob die Resetleitung auf VCC liegt, 
und ob er die auf Null ziehen kann. Wenn eins davon nicht der Fall ist, 
blinkt er orange.

Wenn ich die Pixelwüste des Schaltbilds richtig interpretiere, sieht der 
Prrogrammer kein VCC auf RST. Häng da mal einen Pull-Up dran.

Oliver

von SF (Gast)


Lesenswert?

Du hast am Programmierinterface MU102 die Leitung RST angeschlossen, am 
ATMEGA ist aber am Reset-Pin die Leitung RES (Soweit man das im Bild 
erkennen kann). Das bedeutet, das das Reset-Signal vom ISPMKII durch den 
DS1814 geschleift wird. Das wird so höchstwahrscheinlich nicht 
funktionieren!

Außerdem muß beim ISPMKII auf den maximalen SCK-Takt geachtetr werden. 
Der muß max. 1/4 der Taktfrequenz des Target sein. Sicherheitshalber 
würde ich diese immer auf max. 125Khz einstellen.

von GundelGaukeley (Gast)


Angehängte Dateien:

Lesenswert?

Tach,

1.)Das mit dem Watchdog IC hat beim parallelen ISP Dongle keine Probleme 
bereitet.

2.)Was meinst Du mit der Zweiten Frage?

3.) Bis jetzt brauchte ich keinen.

4.) Bitte hier das Bild im png Format

Gruß

GundelGaukeley

von Oliver (Gast)


Lesenswert?

Also, jetzt klarer erkennbar:

PULL-UP fehlt.

Der AVRIsp will an RST VCC sehen, sonst blinkt er orange.

Oliver

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>und in meinem jugendlichen Leichtsinn
>gedacht ich Könnte einfach ein 6Pin zu 10Pin Adapter verwenden meinen
>Programmierstecker anschließen

Wie sieht dieser Adapter aus?

von Bensch (Gast)


Lesenswert?

Wie schon gesagt wurde, der RES-Anschluss des Programmers gehört direkt 
an den Rest des uC mit einem passenden PullUp und evtl. einem kleinen C.
Den Watchdog würd ich komplett rauswerfen, der hat bei mir auch schon zu 
ähnlichen Problemen geführt. Da der laufend Resets macht, verwirrt das 
den Programmer, man muss den des öfteren abziehen und neu aufstecken.

von GundelGaukeley (Gast)


Lesenswert?

HI,

Adapter
--------

http://www.mikrocontroller.net/articles/AVR_In_System_Programmer#Pinbelegung

Also ganz normal --> Ich hab mir einen fertige Platine bestelllt und Ihn 
nicht selbst gelötet --> also auch nicht das Problem.

PULL-UP fehlt
--------------

Ja sehe ich auch aber die alte parallele Gurke funzte auch :-(
O.k. ich versuche es und nehme einen 2,49KOhm da der Pullup nicht größer 
sein darf als 4,7kOhm (laut Atmel)


WATCHDOG
---------
Watchdog würd ich komplett rauswerfen --> geht Leider nicht -> was 
erwartet den der Programmer an der Resetleitung --> Wie sieht die 
überwachungssequenz im Programmen aus? Aber einen versuch den WADO zu 
Bypassen kann ich ja mal machen, aber wie gesagt leider kann ich das 
Design an dieser Stelle nicht anfassen (Leider)

Gruß

GundelGaukeley

von GundelGaukeley (Gast)


Lesenswert?

Hallo,


Ich hab jetzt R100 hochgelötet (sonst Halber Pegel),
und RES mit RST des Programmes verbunden ausserdem hab ich
einen PULLUP an 2,49KOHM an die Resetleitung gehängt.

Siehe da der mkII ist Leuchtet nun grün -->
dennoch kann ich das Signature Byte nicht auslesen auch wenn ich die ISP 
Freqeuenz verstelle.


A) Kennt jemannd einen möglichkeit Trotz WATCHDOG <-- ähnlich meinem 
alten ISP Dongel

B) Warum funzt es nicht wenn ich einen Bypass gelegt habe :-(

Gruß

GundelGaukeley

von GundelGaukeley (Gast)


Lesenswert?

Hallo,

OK, Bypass läuft jetzt (Kalte Lötstelle) :-) sorry,

jetzt zu meinem alten Problem mit WADO ??? Hat jemand eine IDEE ob das 
Funktioniert (trick, wunder) alles erlaubt.

Danke

GundelGaukeley

von Sven K. (Gast)


Lesenswert?

Hi,

was ich nicht verstehe ist, wieso die Leitungen vom ISP Interface
nicht auf MISO und MOSI gehen.
Im Schaltplan sieht es so aus, das Du damit auf Port
RXD0 und TXD0 gehst ?

Warum sind die nicht mit MISO  MOSI Portpins 12  13 verbunden ?

http://www.mikrocontroller.net/articles/AVR_In_System_Programmer#Pinbelegung

Gruß Sven

von spess53 (Gast)


Lesenswert?

Hi

>Warum sind die nicht mit MISO  MOSI Portpins 12  13 verbunden ?

Weil das beim ATMega128 anders ist.

MfG Spess

von Sven K. (Gast)


Lesenswert?

>Weil das beim ATMega128 anders ist.

Sorry, hast vollkommen recht.

Gruß Sven

von GundelGaukeley (Gast)


Lesenswert?

Seht Ihr PDO und PDI sind schon richtig verbunden

--> Jetzt nochmals mein Problem mit dem WADO wie tricks ich den mkII aus 
so das er Trotzdem Funzt die Paralelle Möhre macht es ja auch

Gruß

GundelGaukeley

von Matthias Kölling (Gast)


Lesenswert?

Vielleicht, so wie Du es hattest nur zusätzlich mit einem 10k Pullup am 
manuellen Reseteingang des Watchdog.
Ich habe es bei mir schon mit einem MAX707 gemacht aber der hat einen 
internen Pullup an diesem Eingang.

von GundelGaukeley (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Matthias,

das Bring nichts der DS1814 hat einen Strob Eingang d.h. es knüppelt dir 
deinen vorgschlagenen  100k pullup am Ausgang gnadenlos auf Null so das 
Es nichts bringt. Aber danke für die Hilfe. Eine mögliche Lösung des 
Problems sieht z.B. so aus (siehe Anhang)

Mal zu diesem Thema einen etwas andere Fragestellung.

1.Frage:
Meine Schaltung mit dem alten parallelen ISP Dongle bedient den Reset 
nicht d.h. der ATMega128 ist durch den WADO immer im Reset warum kann 
der jetzt Trotzem über den ISP Programmieren und der MKII leuchtet trotz 
2,49kOhm Pullup orange -->

2.Frage:
Wie detektiert der mkII dieses?.

3.Frage: Im Datenblatt zum mkII steht der Satz The Reset line should not 
have a stronger pull up than 4.7k ohm --> Ich versteh das doch Richtig 
das mein pull up nicht Großer als dieser Wert sein darf 10k wären z.B. 
nicht erlaubt Richtig.

Gruß

GundelGaukeley

von Tombstone (Gast)


Lesenswert?

Nicht kleiner als 4K7!

von Tombstone (Gast)


Lesenswert?

R109 und R110 entfernen.
Dafür einen 10K von RES nach Vcc +5V.

von Tombstone (Gast)


Lesenswert?

Also, das WD IC hat einen +Ausgang.
Daher R110 10K
Reset vom Programmer direkt an den ResetPin vom µC.

von spess53 (Gast)


Lesenswert?

Hi

>das mein pull up nicht Großer als dieser Wert sein darf 10k wären z.B.
>nicht erlaubt Richtig.

Falsch. D.h. nicht kleiner als 4,7k.

Ein anderes Problem ist, das der DS1818 keine Open-Kollektor- sondern 
Push-Pull-Ausgänge hat. Die kann man nicht so einfach auf L ziehen. Für 
eine Schaltung, bei der RESET zum Programmieren gebraucht wird, total 
ungeeignet.

MfG Spess

von GundelGaukeley (Gast)


Lesenswert?

Ok falsch Rum gedacht also darf nicht kleiner werden als 4,7kOhm damit 
der Strom gegen den der Programmer den Ausgang ziehen muss nicht zu groß 
wird
 ;-o

Dann wäre eine Lösung R110 in meiner Schaltung von 1K auf 100k zu 
erhöhen und durch eine Leiterplatten Änderung die Reset Leitung meines 
Programmiersteckers direkt mit RES (siehe Schaltungsbild) zu verbinden.

 Klasse ! bis auf das Re-Design.

Frage:

>Ein anderes Problem ist, das der DS1818 keine Open-Kollektor- sondern
>Push-Pull-Ausgänge hat. Die kann man nicht so einfach auf L ziehen. Für
>eine Schaltung, bei der RESET zum Programmieren gebraucht wird, total
>ungeeignet.


Habe Ich verstanden aber warüm braucht der parallele ISP Programmer 
dieses nicht ((Ich weis ich wiederhole mich)??

Danke nochmals für eure Hilfe Ihr helft mir echt weiter dieses Problem 
zu verstehen.

Gruß

GundelGaukeley

von Tombstone (Gast)


Lesenswert?

@ spess53
Wieso wiederholst du, was ich oben schon geschrieben habe?

von GundelGaukeley (Gast)


Lesenswert?

Meine Frage bezieht sich auf deine Aussage --> Warum brauche ich den 
Reset beim paralelle ISP ist der Reset dauerhaft durch mein WADO auf LOW 
und mit dem kann ich trotzdem Programmieren -> Entschuldtige bitte wenn 
ich dich verwirrt habe.

von spess53 (Gast)


Lesenswert?

Hi

>Wieso wiederholst du, was ich oben schon geschrieben habe?

Als ich das geschrieben habe, stand dein Beitrag noch nicht da.

MfG Spess

von Tombstone (Gast)


Lesenswert?

Aha..
Na dann

von Oliver (Gast)


Lesenswert?

Der Ausgang des DS1814 ist doch egal, wichtig ist doch nur, daß der 
AVRISP sein gewünschtes VCC am RST-Pin findet, und er den Pin auf auf 
GND ziehen kann, und daß der Reset-Pin am Prozessor dem folgt. Das er 
letzteres tut, hat der alte Parallelportprogrammer bewiesen.

Leider hängt RST über R105 mit 1K an Out3 von IC102. Wenn man den 
hochohmig disablen könnte, würde doch ein 10k-Pullup im Steckeradapter 
ausreichen. Oder OUT3 auf high setzen, und probieren, ob der AVRISP es 
schafft, den runterzuziehen :-)

Oliver

von Bensch (Gast)


Lesenswert?

> Habe Ich verstanden aber warüm braucht der parallele ISP Programmer
dieses nicht ((Ich weis ich wiederhole mich)??

Weil der nichts überprüft, sondern einfach die Daten reinknallt- und 
damit evtl. Murks produziert. Der MkII überprüft erst die Schnittstelle. 
Ist also unterm Strich zuverlässiger.

von Matthias Kölling (Gast)


Lesenswert?

Der Reset des ISP geht doch auf Deinen Strobe-Eingang. (Ich habe es 
manueller Reset-Eingang genannt).
Du sollst den Pullup genau dahin machen und nicht am Ausgang des 
Watchdog-Bausteins, respektive Reset-Eingang des Controllers.

von GundelGaukeley (Gast)


Lesenswert?

Hallo Matthias,

Stimmt nicht ganz, Pin4 ist der Strob Eingang des Watchdog der liegt auf 
Pin 19 des ATMega128 und wird durch SW bedient. Der Pin 1 ist in meinem 
Fall leider immer Low. Also verstehe ich deine Ausführung nicht ganz. 
Kannst Du diens mit einer Zeichnung erklären?


Hallo Bensch,

nett, zwei Fragen stellen sich dann bei mir

1.) Wie erkennt der mkII das Interface d.h. wie müssen die Pegel der 
einzelnen Baustine in der Reset Phase und kurz dannach sein. Gibt es 
hier Irgentwelche Dokumentationen

2.) Kann ich diesen Zustand auch im mkII herbeiführen, hat jemand eine 
Idee

Gruß

GundelGaukeley

von Matthias Kölling (Gast)


Lesenswert?

Jetzt hast Du mich aber ganz schön wuschelig gemacht.
Wenn ich Dich recht verstehe, ist der Strobe für dich der Pin, an dem 
gewackelt werden muß, damit der Hund nicht beißt.
Dann habe ich mit meiner Ausführung falsch gelegen. Was ich meinte ist 
folgendes:
Du hast einen Pin, der auf Deinen ISP-Stecker geht. Ich habe gerade noch 
mal auf Deinen Plan gekuckt und denke, dass der RST bei Dir heißt.
Das ist ja der Reset-Pin, den Dein Programmer sieht und mit dem Du den 
Hund gezielt beißen lassen kannst (Reset auslösen).
Genau diesen Pin solltest Du mit 10k nach VCC hängen, damit der MKII 
zufrieden ist.

von spess53 (Gast)


Lesenswert?

Hi

Nur mal so:

>The watchdog can be disabled by floating (or tri-stating) the ST input.

Was ich mich allerdings mittlerweile frage: Welchen Sinn hat das Teil 
(DS1814) überhaupt?  Der ATMega128 hat konfigurierbaren Watch-Dog und 
Brown-Out-Detektor.

MfG Spess

von GundelGaukeley (Gast)


Lesenswert?

HI spess53,


gut frage ich hatte das Design so leider übernehmen müssen. Es ist nicht 
auf meinem Mist gewachsen. Aber Ihr hab recht das Ding ist grütze. Aber 
es es schauen wir mal wie ich da Herauskomme.

Ich danke allen für die Unterstützung und Hilfe beim Verstehen des 
Schaltungsteils und des Problems.

Jetzt Versuche ich mein Glück mal wieder selbst -->

Nach all den diskussionen werde ich wohl ein Re-Design der Leiterplatte 
anstossen. Dann habe ich ein für alle mal Ruhe

Gruß
GundelGaukeley

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
Noch kein Account? Hier anmelden.