STK500 HV-Parallelprogrammierung eines Mega644P

dino03

Aktives Mitglied
27. Okt. 2008
6.760
20
38
Sprachen
  1. BascomAVR
  2. Assembler
Hallo zusammen,

ich hab heute mal einen anscheinend defekten ATmega644P von Cassio in
mein STK500 gesteckt um zu sehen ob er auf HV-Programmierung noch
reagiert. Für den Fall das es irgendwie an den Fuses liegt und er sonst noch
elektrisch in Ordnung ist sollte er erreichbar sein. Also hier mal das Vorgehen
für alle anderen dokumentiert ...


STK500-HVP_m644p_PrgMain_1.png
Einstellung für HV-Parallel-Modus


STK500-HVP_m644p_PrgFuses_1.png
Ausgelesene Fuses


STK500-HVP_m644p_PrgFuses_2_Pgm.png
Fuses geändert auf internen Oszillator und BrownOut mit 2,7V


STK500-HVP_m644p_PrgPgm_1_Erase.png
Chip gelöscht (Flash, usw)


STK500-HVP_m644p_PrgLock_1.png
Lock-Bits ausgelesen


!!! Dieser Thread wird noch ein wenig weitergeschrieben !!!
 
... und weiter gehts ...

STK500-ISP_m644p_PrgFuses_3.png
jetzt geht es auch wieder im ISP-Modus

" es kommen noch Fotos vom STK500 mit der Verkabelung rein ...
im Moment ist aber erst mal Weihnachten :D "

P1050742_HVP.jpg . P1050743_HVP.jpg
Hier nun die versprochenen Fotos :eek: Besser spät als nie :rolleyes:
Nachdem ich im Beitrag #6 nen kleinen Anstubs bekommen hab das hier noch was fehlt.
Links ein Foto vom gesamten STK500 und rechts eine Detailaufnahme der Jumper.

Gruß
Dino
 
Hallo Dino!

Soll das nun bedeuten, dass du meinen "toten" Mega644P wieder leben eingehaucht hast? :)

Dann hat er sich lediglich nur tot gestellt?
Also den ISP-Modus hatte ich bestimmt nicht wissentlich abgeschaltet! ;)
Schon Merkwürdig. :hmmmm:

Ist aber schön zu wissen, dass das gute Stück wieder mit sich reden lässt.
Danke schön! :flowers:
Dann muss ich wohl mal wieder einen ausgeben. :cheers:


Schöne Grüße,
Cassio
 
Hi,

Also den ISP-Modus hatte ich bestimmt nicht wissentlich abgeschaltet! ;)
Schon Merkwürdig. :hmmmm:
jou, er lebt wieder (soweit ich das bis jetzt getestet hab).
Der ISP-Modus war an. Den kann man über ISP auch nicht ausschalten
(normalerweise).

BrownOut-Detection war abgeschaltet. Könnte also evtl nicht sauber aus dem
Reset gekommen sein.

Clock war auf Ext.LowFrequencyCrystal - also externer Quarz mit niedriger
Frequenz - und 1k Clock + 4,1ms Startup-Time der CPU. Da könnte evtl das
Problem gelegen haben. Aber du hast ja selber nen Zwangstakt angelegt.
Schon komisch ... :confused:

Gruß
Dino
 
Hi Dino!

Das war es ja, was ich ändern wollte und geändert habe..... FUSE für den externen Quarz.

War die 4,1ms Startup vielleicht ein wenig kurz?
Ich bin der Meinung, dass ich sonst etwas mit 64 verwende.


Na, wie gut, dass ich auch "defekte" Bauteile nicht wegwerfe. :)
Die kommen dann alle mal in eine "Schrott"-Vitrine...... allerdings sind es dafür zur Zeit noch zu wenig Bauteile. ;)

Obendrein eignen sich diese Bauteile immer als "Anschauungs- & Grabbelobjekte" für Nichtelektroniker. :cool:

Danke dir also noch mal :flowers:
Cassio
 
Hi,
du schrubst:
es kommen noch Fotos vom STK500 mit der Verkabelung rein ...
Hast du die Fotos davon noch oder sind die im Nirvana gelandet? Immerhin:
im Moment ist aber erst mal Weihnachten :D
gilt zwar aktuell nicht - ist aber auch schon drei Jahre her. Ich schrieb dir ja schon per PN, dass ich ein M128 Board habe welches sich per ISP nicht mehr meldet. Da wüsste ich jetzt gerne, wie ich das an das STK anschließe. Ich hab die Datenleitungen von dem Prod Data Header am STK an die PB0-PB7 Pins vom Target angschlossen. RDY/BSY, OE, WR, BS1, XA0, XA1 und PAGEL vom Prog Ctrl Header hab ich an PD1 - PD7 angeschlossen. Aber bei Reset bin ich mir nicht ganz sicher. Ich hab den Reset-Jumper auf dem STK entfernt und von da an den Reset vom ISP am Target geführt. bei BS2 gleiches Verfahren - Jumper auf STK gezogen und den einen Pin davon (der auf dem STK richtung Stromversorgung / "Intelligenz" zeigt) an PA0 angeschlossen. Beim Takt bin ich mir aber noch ganz unsicher. Wo hol ich den am STK her? SCK ist es ja sicher nicht oder? Auf jeden Fall meldet das AVR Studio nix sinnvolles, wenn ich versuche was vom Target zu lesen. Wird alles mit FF oder FD (XTAL1 an SCK angeschlossen) beantwortet. Wäre sehr dankbar wenn mir da jemand auf die Sprünge helfen kann.
 
Hi,

Hast du die Fotos davon noch oder sind die im Nirvana gelandet? Immerhin:
ne nicht ganz ... ins Datengrab (NAS) :p :rolleyes: Ich hab die Fotos mal rausgekramt und rangehängt.

Ich schrieb dir ja schon per PN, dass ich ein M128 Board habe welches sich per ISP nicht mehr meldet. Da wüsste ich jetzt gerne, wie ich das an das STK anschließe. Ich hab die Datenleitungen von dem Prod Data Header am STK an die PB0-PB7 Pins vom Target angschlossen. RDY/BSY, OE, WR, BS1, XA0, XA1 und PAGEL vom Prog Ctrl Header hab ich an PD1 - PD7 angeschlossen. Aber bei Reset bin ich mir nicht ganz sicher. Ich hab den Reset-Jumper auf dem STK entfernt und von da an den Reset vom ISP am Target geführt. bei BS2 gleiches Verfahren - Jumper auf STK gezogen und den einen Pin davon (der auf dem STK richtung Stromversorgung / "Intelligenz" zeigt) an PA0 angeschlossen. Beim Takt bin ich mir aber noch ganz unsicher. Wo hol ich den am STK her? SCK ist es ja sicher nicht oder? Auf jeden Fall meldet das AVR Studio nix sinnvolles, wenn ich versuche was vom Target zu lesen. Wird alles mit FF oder FD (XTAL1 an SCK angeschlossen) beantwortet. Wäre sehr dankbar wenn mir da jemand auf die Sprünge helfen kann.

Also das Board aus der PN war ja dieses hier ...

Leider finde ich auf der Seite keinen Schaltplan oder andere Infos wie das nun genau auf dem Board verschaltet ist. Wie so ein Mega128 bei HVP-Programming richtig angeschlossen wird und was er benötigt, das sollte im Datenblatt des Mega128 zu finden sein. ... Moment ... Seite 290 "Parallel Programming Parameters, Pin Mapping, and Commands". Da steht es. Nun muß man das eigentlich nur noch mit den entsprechenden Signalen aus dem UserGuide des STK500 in Einklang bringen. Auf jeden Fall dürfen die Signale nicht durch Hardware auf dem Mega128-Board beeinflußt werden. Ein Reset-Controller der einem in die Suppe spucken könnte scheint aber nicht drauf zu sein. Der Quarz wird vom Takt des STK500 (Systemtakt/Quarzoszillator) zwangsversorgt. Der Quarz auf dem Board dürfte nicht stören. Das hab ich ja schonmal bei ner FAQ über verfusete Atmels gezeigt.

Im UserGuide des STK500 steht ab Seite 21 alles drin ...
- ATmega103/ATmega128
- Use the STK501 Top Module
– Parallel programming as above; mount BSEL2 jumper. See Section 3.8.

Im Kapitel 3.10 "Prog Ctrl and Prog Data Headers" auf Seite 35 findest du die Belegung der beiden benötigten Verbinder des STK500.

Gruß
Dino
 
Hi,
danke für die Antwort und für die Bilder. Leider zeigen die, was ich schon befürchtet hatte, ein auf der Platine (STK) sitzendes Target. Mein Problem ist ja, dass mein Prozessor schon auf nem Devel Board sitzt. Das Nackte Board gibt es übrigens auch hier: http://imall.iteadstudio.com/im121017013.html und da auch einen Schaltplan: ftp://imall.iteadstudio.com/BareOpenPCB/IM121017013/Sch_IM121017013.pdf Du zitierst das Handbuch des STK500 und da steht man soll ein STK501 nehmen. Glaubst du es ist ohne STK501 nicht möglich mit dem STK500 ein externes Target für HV zu verkabeln?
 
Hallo,

hier wollte ich vorhin ja noch was reinschreiben :rolleyes: ...

Leider zeigen die, was ich schon befürchtet hatte, ein auf der Platine (STK) sitzendes Target. Mein Problem ist ja, dass mein Prozessor schon auf nem Devel Board sitzt.
...
Du zitierst das Handbuch des STK500 und da steht man soll ein STK501 nehmen. Glaubst du es ist ohne STK501 nicht möglich mit dem STK500 ein externes Target für HV zu verkabeln?
Der Adapter (STK501) ist "lediglich" ein Nullkraftsockel mit ein wenig Gedöns drum rum. Also im Endeffekt für HVPP nur ein Adapter damit man den Mega128 kontaktieren kann. Darum hab ich auch die Seite mit der Pinbelegung des Daten- und Control-Steckers angegeben. Nimm Steckleitungen und setz sie so an dein Board das er entsprechend am STK500 angeschlossen ist. Das Board muß lediglich so gebaut sein das es die Programmierung nicht behindert.

Im Schaltplan sieht man im Reset-Bereich die Diode D1. Die behindert dich da sie die 12V für die HVPP am Reset nach Vcc kurzschließen würde. Die muß raus. Der Rest sieht soweit OK aus. Wenn du die entfernt hast dann nimm einfach Jumperwires (diese Leitungen mit Einzelbuchsen für Pfostenstecker) und leg das Board an die beiden HVPP-Stecker des STK500. Dabei aber die Verbindungen für GND und Vcc nicht vergessen.

Gruß
Dino
 
Hallo,

hier wollte ich vorhin ja noch was reinschreiben :rolleyes: ...
Danke dafür!
[...] Wenn du die entfernt hast dann nimm einfach Jumperwires [...] und leg das Board an die beiden HVPP-Stecker des STK500. Dabei aber die Verbindungen für GND und Vcc nicht vergessen.

Gruß
Dino

Ja, das hab ich ja alles schon gemacht. Beim X-ten Mal hab ich dann auch Xtal1 auf den richtigen Pin gelegt - ist ja am Schaltplan ganz gut zu sehen, wo man da an C1 gehen muss. Und VCC/GND hab ich natürlich nicht vergessen. Die Power-LED des Boards leuchtet auch brav auf, wenn ich das STK500 einschalte. Das mit der Diode hab ich aber noch nicht gemacht. Das werde ich dann wohl morgen mal ausprobieren und dann wieder hier berichten.
Als Jumpwires beutze ich übrigens Servokabel. Ich mach den Atmel Kram für meine Modellflugzeuge und Helis. Da hab ich massenweise Kabel mit Servosteckern an beiden Enden. Die eignen sich prima um so viele Leitungen zu jumpern.
Die HVPP Stecker reichen aber nicht. Ich muss halt wie oben angeführt noch Xtal1, Bsel2 und RST rüberführen. Und da war/bin ich mir auch nicht 100% sicher, ob ich die an den richtigen stellen vom STK500 abnehme. Ich mach da dann auch mal ein Foto von meinem Drahtverhau...

Ach so - Gruß, Michael (Mein Nick ist als Name zum Ansprechen manch einem schon "komisch" vorgekommen)
 
So, Nr. 5 lebt! Ich hab die Diode ausgebaut und nochmal alles für HV/PP nach Datenblatt und STK Handbuch verkabelt und - nüscht. Da kamen nur Zufallszahlen an. Immerhin mehr als vorher wo eigentlich nur FF kam. Aber mit Zufallszahlen lässt sich auch nicht viel anfangen. Also hab ich nochmal etwas gegoogelt und bin dann auf eine recht simple Lösung für mein spezielles Problem gekommen. Unter der Annahme, dass mir nur der Takt fehlt (Oszilloskop zeigt an XTAL1 und XTAL2 flat an) habe ich die Taktfrequenz des STK500 auf ca. 200kHz gestellt, dann die ISP Frequenz auf 30kHz und von XT1 am Pinheader PORTE/AUX den Takt nach XTAL1 auf dem Board geführt. So konnte ich normal per ISP die Fuses lesen und siehe da - die waren auf external low freq crystal eingestellt. Also schnell mal auf internal R/C mit 8MHz eingestellt und schon konnte ich auch die externe Zwangsbetaktung wieder entfernen und die ISP Frequenz wieder etwas hoch drehen. Und nu redet er wieder mit mir.
Wäre schon interessant mal die HV/PP Programmierung mit dem externen Board hinzukriegen - mal gucken. Vielleicht nehm ich mir irgendwann nochmal die Zeit dafür.
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)