Wer benutzt noch das STK500?

LotadaC

Sehr aktives Mitglied
22. Jan. 2009
3.547
70
48
Marwitz
Sprachen
  1. BascomAVR
  2. Assembler
Hi,

ich habe gerade gesehen, daß auch die moderneren Versionen des Atmel-Studios (inklusive dem aktuellen 7er) noch das STK500 unterstützen. Hat hier noch jemand das ganze so am laufen?

Ich selbst habe ja sonst eigentlich nur den AVRISP auf das STK gesteckt, aber der Master-Controller auf dem STK ist ja nicht nur Programmer, sondern regelt außerdem die Target- und Reference-Voltage, und einen Takt.
Kann man das dann bei den neuen Studio-Versionen immer noch einstellen?

Ich kann das hier mangels USB-RS232-Wandlers grad nicht ausprobieren - obwohl...
Ich hätte einen USB-TTL-Wandler hier... Hmm... wenn ich den lins am STK an die "RS232 Spare" Pins anschliesse (TxD-TxD, RxD-RxD und Gnd irgendwo an Gnd), und bei den beiden SUBD9 (Spare und CTRL) TxD und RxD gekreuzt verbinde, sollte es doch eigentlich auch gehen.
Wäre zwar etwas von hinten durch die Brust ins Auge (zweimal über denselben MAX202CSE), aber müßte doch eigentlich passen, oder?

Nochmal 'n Blick auf den Schaltplan des STK werfen... morgen
 
So...
Mein USB-TTL-Wandler wandelt auf 5V-TTL. Der Spare-Anschluß ist auf Vtg ausgelegt - also irgendwo kleinergleich 5V5 - und nimmt dann nochmal mit zwei Doppeltransistoren (BC847) 'ne Pegelanpassung auf Vcc (5V) für den RS232-IC vor.
TxD würde über 47kOhm auf Vtg gezogen werden, RxD über 1kOhm.

Wie gesagt: mein USB-Wandler arbeitet mit 5V, Vtg sollte default beim STK auch 5V sein - den Rest müssen die Widerstände schlucken.
Also hab ich's so riskiert.

Wie oben angedeutet verdrahtet, Wandler in den USB und den COM-Port identifiziert (COM6).
Atmelstudio gestartet, bei Tools -> Add Tool gewählt -> STK500 -> COM6,
Auf das Flashen-Symbol-Dingens geklickt, da ist jetzt außer dem AVISPmkII und dem Simulator auch das STK500 auswählbar -> STK500 -> im Board steckt zufällig noch'n Mega88.
Jetzt kann man noch zwischen SPI und HVPP wählen, ich bleibe bei SPI.
Apply!

Die ausgelesene Target Spannung liegt bei 5V5, oho.
Das auslesen der Signatur schlägt fehl.
Hm...
Stimmt, ich hatte bisher den AVRISP an den entsprechenden PROG3-Header gesteckt, und den Reset-Jumper gezogen -> Jumper gesteckt, Hosenträger vom ISP6PIN zum richtigen Prog-Header gesteckt -> Signatur wird korrekt gelesen, Fuses und LOCKs auch.
Fein.
Wie ist das jetzt mit Vtg?
Wenn man die Verbindung zum STK hergestellt hat, gibts links jetzt 'nen Board Settings Reiter (o.ä.), da hat man dann drei Schieberegler.
Vtg, Aref und den Takt. Also Vtg mal auf 5,0V runtergezogen und das ganze ins STK geschrieben. Jetzt werden 5V gelesen. Den Takt könnte man bis 3,irgendwas MHz hochziehen (der Master-Controller selbst wird mit 7,36... betaktet, und generiert den Ausgabetakt mit dem Timer2-OutputCompare (wahrscheinlich CTC)).
Für die beiden Spannungen werden beide PWMs von Timer1 verwendet - je über einen dreifachen Tiefpaß geglättet/gemittelt, über einen Impedanzwandler (LM358) ausgekoppelt, zur Einstellung eines einstellbaren Linearreglers (LM317) verwendet. Der im Vtg hat etwas mehr Bums und'ne Kühlfläche auf der Platine.
Die erzeugte Aref wird über ADC6 zurückgelesen (für die Regelung), und zwar vor dem Aref-Jumper. Legt man also (bei gezogenem Jumper, klar) eine andere Spannung auf das Aref-Netz, wird trotzdem die eingestellte vom Master gelesen.
Bei Vtg hingegen wird hinter dem Jumper zurückgelesen - hier also die tatsächliche Spannung am Target.

Zur eigentlichen Frage oben (Benutzt wer noch das STK500 mit dem aktuellen Atmelstudio?) jetzt noch eine zweite:

Benutzt irgendjemand diese aufsteckbaren Ergänzungsboards (STK50x)?
Die werden ja über zwei 40Pin-Pfostenleisten gesteckt - kriegt man die da überhaupt gewaltfrei rauf/runter, bei 80 Pins?

P.S.: Interessant nebenbei...
Auf dem STK befinden sich ja zwei Controller. Ein Tiny und ein Mega. Für den Tiny gibts 'ne nicht bestückte (aber zumindest vorhandene) ISP-Buchse, beim Mega nicht (Die landet zwar auf dem gemeinsamen ISP-Bus, aber der Reset nur am Tiny).
Beide greifen auf den CTRL-RS232 zu. Der Tiny kann den Mega außerdem in den Reset zwingen.
Der Tiny kann die Reset- und Prog-Taste lesen.
Für mich sieht das so aus, als wenn die wesentliche (einzige?) Aufgabe des Tiny darin besteht, den Mega neu programmieren zu können.

Die Reset-Spannung für's HighVoltage-Programmieren wird irgendwie (hab ich noch nicht ganz verstanden) aus den Ladungspumpen des Max202 (RS232-Pegelwandler) abgezwackt.
 
Zuletzt bearbeitet:
Hi,

Zur eigentlichen Frage oben (Benutzt wer noch das STK500 mit dem aktuellen Atmelstudio?) jetzt noch eine zweite:

Benutzt irgendjemand diese aufsteckbaren Ergänzungsboards (STK50x)?
Die werden ja über zwei 40Pin-Pfostenleisten gesteckt - kriegt man die da überhaupt gewaltfrei rauf/runter, bei 80 Pins?

ich hab das STK500 und benutze es wenn ich Zeit habe auch wieder. Ich hab auch die beiden Boards für die TQFP-Packs. Das Board für die Tinys fehlt leider, ist aber nicht so kriegsentscheidend.

Die Boards gehen so naja runter. Ich stecke die nicht bis ganz unten drauf. Dann kann man die mit zwischengestecktem Schraubendreher wieder hochhebeln. Lassen sich dann auch etwas leichter ziehen.

Gruß
Dino
 
Das Board für die Tinys fehlt leider, ist aber nicht so kriegsentscheidend.
Damit meinst Du das STK505? Wenn ich recht gesehen habe, unterstützt das den Tiny26 (auch den 261/461/... ? ) als DIP, und den Tiny24 (auch den 44/84, 441/841 ? ) als SOIC.
Einige (andere) Tinies unterstützt das STK ja bereits von sich aus - als DIP, klar.

Ich grübel bereits seit ein paar Tagen darüber nach, mir ein eigenes Expansion-Board zu entwerfen, um diverse Tinies aus meiner Liste anbinden zu können. Als SMD.

Ich habe einen ZIF-Sockel für SOT23-6 (Wells CTI 449-P44-20) und einen für 0,3"SOIC-28 (Textool 228-7396-55-1902). Ich suche noch einen für 0,15"SOIC (zB Textool 216-7383-55-1902 @Dirk mit dem Zaunpfahl wink).

Jedenfalls bin ich vor dem Hintergrund mal meine Tiny-Liste durchgegangen.
  • Tiny4/5/9/10 - SOT23-6 - eigener SPROG-Header nötig (nur externer TPI-Programmer), Reset-Netz auf B3 jumperbar, wegen highvoltage komplett trennbar?
  • Tiny13, 25/45/85 - 0,15"SOIC8 - SPROG1, Reset auf B5, XTAL1 auf B3, Aref auf B0 (CAVE: MOSI) jumperbar. (prinzipiell wäre hier auch der 11/12, 22 kompatibel, außerdem der 15 (bei dem allerdings B3 und B4 vertauscht sind) - laut meinen Datenblättern aber alle nur als 0,2"-SOIC)
  • Tiny24/44/84, 441/841, 20 - 0,15"SOIC14 - eigener SPROG, Reset auf B3, XTAL1 auf B0, Aref auf A0 jumperbar. Beim 20 TPI, ggf HV.
  • Tiny102/104 - 0,15"SOIC14 - eigener SPROG (TPI, ggf HV), Reset auf A2, XTAL1 auf A0 jumperbar. Der 102 ist quasi ein abgesägter 104.
  • Tiny2313/4313 - 0,3"SOIC20 - SPROG3, Reset auf A2, XTAL1 auf A0 jumperbar
  • Tiny26, 261/461/861 - 0,3"SOIC20 - SPROG1, Reset auf B7, XTAL1 auf B4, Aref auf A3 jumperbar. Analog Power.
  • Tiny87/167 - 0,3"SOIC20 - der ist irgendwie gespiegelt zum 26er, aber nicht genug. eigener SPROG, Reset auf B7, XTAL auf B4, Aref auf A7
  • Tiny1634, 40 - 0,3"SOIC20 - eigener SPROG, Reset auf C3, XTAL auf C5, Aref auf A0, der 40 mit TPI auf andere Pins (ggf HV)
  • Tiny43u - 0,3"SOIC20 - eigener SPROG, RST auf A7, XTAL auf A6
Die noch größeren sind dann nicht mehr SOIC. Insgesamt sind das zu viele, klar. Da sind jetzt diverse alte Teile bei, und einige Spezialisten.
Ich würde meine Sockel auf entsprechende Stiftleisten stecken wollen.
Die erste Vorauswahl wäre:
  • 4/5/9/10
  • 13/25/45/85
  • 24/44/84/441/841(/20)
  • (102/104)
  • 2313/4313
  • 26/261/461/861
Das XTAL1-Netz des STK500 soll auf 20MHz ausgelegt sein, mein Board wäre allerdings eine Verlängerung der Antenne. Ok, üblicherweise legt man die Tinies ja auf den internen Takt aus. Bei Aref, Reset usw ist Vorsicht geboten, insbesondere wenn die auch auf den Port-Headern landen.
Insgesammt hat man mit mehreren Sockeln ja nicht viel Platz zwischen den Expands vertikal, und den anderen Jumpern horizontal auf dem STK.
Aus den Wannensteckern, die die Expands kontaktieren könnte man nicht benötigte Pins entfernen (die Data/Prog-Pins für HVSP), ungenutzte PORTs, die Aref-Rohspannung vor dem LM317 usw), um die mechanische Last zu reduzieren, und ggf mehr Platz beim Routen zu bekommen.
 
Ich persönlich halte von diesen Präzisionskontakten nichts, außer man nutzt ausschließlich das passende Gegenstück.
Es wird dann ja nicht gefedert, also bei zu dünnen Kontakten: Pech gehabt. Bei zu dicken auch. Oder die schneiden sich ein und du hast später Probleme mit passenden Kontakten…
Für IC Sockel nutz ich nur die mit Federkontakt und sonst die normalen Stift- und Buchsenleisten.
Ist jetzt aber nur meine persönliche Meinung. Vielleicht hat wer Anders andere Erfahrungen.
 
Nein, ich meine das andersrum... (siehe restlicher Thread)
Im STK500 hast Du zwei Expansion-Header. Das sind normale zweireihige 2,54mm Pfostenbuchsen mit je 40 Pins.
Die Erweiterungsplatinen besitzen (von unten) entsprechend die normalen Pinleisten (könnten auch Wannenstecker sein) - zusammen also 80 Pins.
Entsprechend ist der mechanische Halt, die mechanische Belastung beim auf- und abstecken.
Bei meiner Erweiterung würde ich nicht alle Pins nutzen (und auch nicht bestücken) - aber so um die 50 werdens trotzdem sein.
Wenn ich bei meiner Platine also statt von unten Pinleisten, von oben so'ne Präzisionsleiste bestücke, hätte ich unten ca 10mm lange runde Pins (statt der eckigen), und die sollten dann die Pfostenbuchsen kontaktieren.
Die eigentlichen Tüllen oben blieben ungenutzt, bzw könnte man für Jagwires etc... nutzen.
Damit sollte die Belastung doch geringer sein, oder?
 
Es antwortet...
STK-comm.png
@TommyB : wie siehts aus? Lust, 'n Tool zu schreiben, welches Vtarget, Aref und den Oszillator auf dem Board auslesen/einstellen kann?
(es gibt allerdings unterschiedliche Hard- und Firmwareversionen - alle sollten jedoch auf das obige Kommando antworten. Ebenso auf die zum auslesen der Firmware etc...)
P.S.: dummerweise hast Du'n Drachen, und kein STK...
 
N bissl Serielles I/O? Das ist doch kein Ding.
Aber jo, testen könnte ich es mangels Hardware nicht.

Aber auf den Kopf gefallen biste ja nicht, kleinere Anpassungen kannst auch du machen ;)
Visual Studio 2008 (nutze ich tatsächlich noch) hab ich noch aufm Server.
 
Naja, ich hab auch nur die eine Version -> müßte also nicht alle anderen Revisionen unterstützen, aber vielleicht interessiert ja irgendwen anders sowas (auch wenn das STK obsolet ist), und dann kann das ganze etwas ausufern.
Natürlich kann man das STK auch im aktuellen Studio auslesen/einstellen, aber das ist mir ein wenig umständlich, wenn man da gerade ein nichtkompatibles (neues) Device über einen anderen Progger verwendet, und das STK nur als Hardware-Plattform (Sockel, Stromversorgung, Spannungsreferenz, Takt, Taster&LEDs) nutzt...
 
Hm... Oder man entwickelt einfach mal einen eigenen Prommer und versucht den bekannt zu machen. Gemeinschaftsprojekt?
Dieses ganze hin und her geflashe des Dragons bei Versionswechsel vom AVR Studio ging mir eh schon gegen den Strich...
 
Grundsätzlich kannste mit den entsprechenden Commands auch SPI-ISP, HVPP, HVSP - aber das STK kann definitiv (Hardware) kein TPI oder UPDI, da dazu eine bidirektionale Leitung nötig wäre - beim STK laufen die Leitungen über "Einbahnstraßen-Levelshifter";)
 
P.S.: ein Teil der Commands greift auch beim AVRisp, zum STK600 hab ich auch was gefunden. Wie's mit dem ICE aussieht, weiß ich nicht...
( vorsichtig-flüster @Dirk ?)
 
Ja, das sind die angedeuteten Kommandos für das STK500_2 und den AVRisp.
Für die alte Firmware gilt die AVR061.
Für das STK600 die AVR079.

In allen Application Notes findet man:
the file “command.h”. This file can be downloaded from the Atmel web site.
Zu dieser(n) Datei(en) findet man weder bei Atmochip, noch bei Micromel was...

Nachtrag: AVR067 für den JTAGICE mkII...
 
In command.h werden lediglich die Commando-Codes stehen. Im PDF sind diese angegeben ...

Command Value (AVR061)

Command ID (AVR097)

command.h wird man wahrscheinlich nicht benötigen.
 
AVR097 paßt nicht...
In 061 stehen die Command Values drinn - aber mein STK meldet sich wie oben gezeigt mit "STK500_2", und da gelten teilweise andere Command Values (nämlich eben die, die nicht in AVR068 stehen - da gibt's nämlich nur die Namen ohne Value)

Nachtrag: in 079 (STK600) gibt's 'n Appendix A mit den Values - ob die zu meinen vom STK500 passen, hab ich noch nicht verglichen...

Habe mal das auslesen von Vtg, Aref und den Clock-Settings durch das Studio mitgeloggt - es sind aber nur elf Telegramme (Vtg und zehnmal Aref (interpolierte Centivolt)) - wo ermittelt das Studio da die Clock?
 
Zuletzt bearbeitet:
AVR097 paßt nicht...
In 061 stehen die Command Values drinn - aber mein STK meldet sich wie oben gezeigt mit "STK500_2", und da gelten teilweise andere Command Values (nämlich eben die, die nicht in AVR068 stehen - da gibt's nämlich nur die Namen ohne Value)
:offtopic:
Herzlich willkommen in meiner Welt.
Wohl mit einer der vielen Gründe warum ich C nicht leiden kann.
 
  • Like
Reaktionen: LotadaC
Ja, das Ding hab ich auch schon in anderen Quellen im Netz gefunden - es ist nur grundsätzlich ärgerlich, daß es bei Atmel/Microchip selbst nicht (zumindest nicht einfach) zu finden ist - insbesondere, da die eigenen (ok, alten) Datenblätter darauf verweisen (was einem auch nichts nützt, wenn man die selbst lokal archiviert, oder gar ausdruckt...). Meiner Meinung nach gehört das mit ins Datenblatt (meinetwegen als Appendix) - das stört mich auch bei den XMegas bzw dem XTiny, daß man für die Werte 'n zweites DB braucht.

Aber genug gemeckert, das führt vom Thema weg.
Die Frage war, wer Interesse ein so'nem Tool hätte, und wie Umfangreich das dann werden sollte.
Mich selbst interessieren eigentlich nur die Spannungen und eventuell der Oszillator, und eigentlich auch nur vom STK500_2.
(Beim STK600 müßte man eh wegen USB anders ran, oder?)
 

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