Willkommen in unserer Community

Werde Teil unserer Community und registriere dich jetzt kostenlos ...

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Wer benutzt noch das STK500?

Dieses Thema im Forum "Hardware" wurde erstellt von LotadaC, 2. Oktober 2016.

  1. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.698
    Zustimmungen:
    38
    Ort:
    Hennigsdorf
    Sprachen:
    BascomAVR, Assembler
    Map
    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
     
  2. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.698
    Zustimmungen:
    38
    Ort:
    Hennigsdorf
    Sprachen:
    BascomAVR, Assembler
    Map
    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.
     
    #2 LotadaC, 3. Oktober 2016
    Zuletzt bearbeitet: 3. Oktober 2016
  3. dino03

    dino03 Moderator

    Registriert seit:
    27. Oktober 2008
    Beiträge:
    6.663
    Zustimmungen:
    11
    Sprachen:
    BascomAVR, Assembler
    Map
    Hi,

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

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.698
    Zustimmungen:
    38
    Ort:
    Hennigsdorf
    Sprachen:
    BascomAVR, Assembler
    Map
    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.
     
  5. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.698
    Zustimmungen:
    38
    Ort:
    Hennigsdorf
    Sprachen:
    BascomAVR, Assembler
    Map
    Macht es Sinn, statt "normaler" Pinleisten solche Präzisionskontakte zu verwenden?
    Auch für diese Experimentier-Steckbretter?
     
  6. TommyB

    TommyB Premium Benutzer

    Registriert seit:
    17. Mai 2010
    Beiträge:
    1.612
    Zustimmungen:
    45
    Ort:
    127.0.0.1 ;)
    Sprachen:
    Assembler, LunaAVR, VB.Net, Python, C#
    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.
     
  7. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.698
    Zustimmungen:
    38
    Ort:
    Hennigsdorf
    Sprachen:
    BascomAVR, Assembler
    Map
    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?
     
  8. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.698
    Zustimmungen:
    38
    Ort:
    Hennigsdorf
    Sprachen:
    BascomAVR, Assembler
    Map
    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...
     
  9. TommyB

    TommyB Premium Benutzer

    Registriert seit:
    17. Mai 2010
    Beiträge:
    1.612
    Zustimmungen:
    45
    Ort:
    127.0.0.1 ;)
    Sprachen:
    Assembler, LunaAVR, VB.Net, Python, C#
    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.
     
  10. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.698
    Zustimmungen:
    38
    Ort:
    Hennigsdorf
    Sprachen:
    BascomAVR, Assembler
    Map
    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...
     
  11. TommyB

    TommyB Premium Benutzer

    Registriert seit:
    17. Mai 2010
    Beiträge:
    1.612
    Zustimmungen:
    45
    Ort:
    127.0.0.1 ;)
    Sprachen:
    Assembler, LunaAVR, VB.Net, Python, C#
    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...
     
  12. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.698
    Zustimmungen:
    38
    Ort:
    Hennigsdorf
    Sprachen:
    BascomAVR, Assembler
    Map
    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";)
     
  13. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.698
    Zustimmungen:
    38
    Ort:
    Hennigsdorf
    Sprachen:
    BascomAVR, Assembler
    Map
    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 ?)
     
  14. Dirk

    Dirk Administrator Mitarbeiter

    Registriert seit:
    28. Januar 2007
    Beiträge:
    4.070
    Zustimmungen:
    100
    Ort:
    Mittelhessen, Giessen
    Sprachen:
    C, Assembler, Pascal, C++, PHP, Java
    Map
  15. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.698
    Zustimmungen:
    38
    Ort:
    Hennigsdorf
    Sprachen:
    BascomAVR, Assembler
    Map
    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:
    Zu dieser(n) Datei(en) findet man weder bei Atmochip, noch bei Micromel was...

    Nachtrag: AVR067 für den JTAGICE mkII...
     
  16. Dirk

    Dirk Administrator Mitarbeiter

    Registriert seit:
    28. Januar 2007
    Beiträge:
    4.070
    Zustimmungen:
    100
    Ort:
    Mittelhessen, Giessen
    Sprachen:
    C, Assembler, Pascal, C++, PHP, Java
    Map
    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.
     
  17. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.698
    Zustimmungen:
    38
    Ort:
    Hennigsdorf
    Sprachen:
    BascomAVR, Assembler
    Map
    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?
     
    #17 LotadaC, 6. Juli 2017
    Zuletzt bearbeitet: 6. Juli 2017
  18. TommyB

    TommyB Premium Benutzer

    Registriert seit:
    17. Mai 2010
    Beiträge:
    1.612
    Zustimmungen:
    45
    Ort:
    127.0.0.1 ;)
    Sprachen:
    Assembler, LunaAVR, VB.Net, Python, C#
    :offtopic:
    Herzlich willkommen in meiner Welt.
    Wohl mit einer der vielen Gründe warum ich C nicht leiden kann.
     
    LotadaC gefällt das.
  19. newuser

    newuser Neues Mitglied

    Registriert seit:
    6. Juli 2017
    Beiträge:
    1
    Zustimmungen:
    0
    Ort:
    Düsseldorf
    Sprachen:
    C
    Map

    Anhänge:

  20. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.698
    Zustimmungen:
    38
    Ort:
    Hennigsdorf
    Sprachen:
    BascomAVR, Assembler
    Map
    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?)
     

Diese Seite empfehlen

  • Über uns

    Unsere immer weiter wachsende Community beschäftigt sich mit Themenbereichen rund um Mikrocontroller- und Kleinstrechnersysteme. Neben den Themen Design von Schaltungen, Layout und Software, beschäftigen wir uns auch mit der herkömmlichen Elektrotechnik.

    Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  • Coffee Time

    Unser makerconnect-Team arbeitet hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und unser eigener makerconnekt-Server regelmäßig gewartet wird. Wir nehmen das Thema Datensicherung und Datenschutz sehr ernst und sind hier sehr aktiv, auch sorgen wir uns darum, dass alles Drumherum stimmt!

    Dir gefällt das Forum und die Arbeit unseres Teams und du möchtest es unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft, unser Team freut sich auch über eine Spende für die Kaffeekasse :-)
    Vielen Dank!
    Dein makerconnect-Team

    Spende uns! (Paypal)