Wer benutzt noch das STK500?

Dirk

Administrator
Teammitglied
28 Jan 2007
4.271
135
63
Mittelhessen, Giessen
Sprachen
C, C++, C#, Pascal, Assembler, PHP, Java
das stört mich auch bei den XMegas bzw dem XTiny, daß man für die Werte 'n zweites DB braucht.
Dies finde ich auch nicht so gut.

Mich selbst interessieren eigentlich nur die Spannungen und eventuell der Oszillator, und eigentlich auch nur vom STK500_2.
Wenn es nur um das STK500 geht und nur um wenige Parameter und jemand das notwendige Protokoll herausschreibt und es nicht sooo schnell sein muss, dann könnte ich für Windows ein Programm schreiben. Da ich kein STK500 habe, kann ich aber leider nicht testen.

... oder @TommyB macht es vielleicht :)

Dirk :ciao:
 

TommyB

Premium Benutzer
17 Mai 2010
2.116
76
48
36
127.0.0.1 ;)
Sprachen
Assembler, LunaAVR, VB.Net, Python, C#
Na der Serial Port ist unter .Net nu wirklich leicht anzusprechen. Wenn man nicht Wert auf Optik legt und mit Konsole auskommt sollte das Ganze auch portabel sein (Windows, Linux*, MacOS*, ReactOS). Ein Beispiel dafür ist fix aneinander getackert, vor allem wenn man weiß was für Daten rein und raus gehen sollen.

*) Vorsicht bei *nix-basierenen Systemen, weil dort die serielle Schnittstelle komplett anders gehandhabt wird. GUI wird noch gruseliger, aber machbar.
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.321
60
48
Marwitz
Sprachen
BascomAVR, Assembler
Ich hab auch die beiden Boards für die TQFP-Packs.
Mir sind folgende Topcards bekannt:
  • STK501
    • TQFP64-AVR (ZIF-Sockel)
    • zusätzlicher RS232-Wandler (inklusive HW-Handshake-Pins)
    • Footprint für SRAM-IC
    • 32kHz-Oszillator
    • legt den AUXI0-Pin (Expand0-Header) auf Gnd (um vom STK500 erkannt zu werden)
  • STK502
    • TQFP64-AVR (ZIF-Sockel), insbesondere AVR mit integriertem LCD-Controller
    • integriertes LCD (sechs 14-Segmente)
    • externer NTC
    • 32kHz-Oszillator
    • legt den AUXI1-Pin (Expand1-Header) auf Gnd (um erkannt zu werden)
  • STK503
    • TQFP100-AVR (ZIF)
    • 32kHz-Oszillator
    • Quarz-Sockel
    • ext. SRAM
    • Dualchannel-RS232-Wandler (ohne SUB-D-Buchse) (wird über seperaten Aufwärtsschaltregler mit 5V (aus Vtg) versorgt)
    • Transistor an AUXO1 kann AUXI0 auf Gnd ziehen
  • STK504
    • TQFP100-AVR (ZIF) (insbes. mit integriertem LCD-Controller)
    • 32kHz-Oszillator
    • Quarz-Sockel
    • integriertes LCD (160 Segmente)
    • Transistor an AUXO0 (Expand0) kann AUXI0 (Expand0) auf Gnd ziehen
  • STK505
    • ATtinyx4x (ZIF, DIP), ATtinyx6x (DIP)
    • Quarz-Sockel (jeweils)
    • AUXO0 kann AUXI0 (über Transistor) auf Gnd ziehen, AUXO1 AUXI1 ebenso
  • STK520
    • AT90PWM2, AT90PWM3 (je ZIF)
    • nicht isoliertes DALI-Interface
    • 100K-Potentiometer
    • AUXO0 kann AUXI1 auf Gnd ziehen
  • STK524
    • ATmega32M1/C1 (TQFP32-ZIF)
    • 100K-Poti
    • AUXO0 kann AUXI0 und AUXI1 auf Gnd ziehen
  • STK525
    • AT90USB
  • STK526
    • AT90USB82/162
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.321
60
48
Marwitz
Sprachen
BascomAVR, Assembler
Die da oben kenne ich nur - haben tu ich keins.
Andere Sache:
Kannst Du mir mal Angaben machen, wie sich Dein STK500 (ggf mit Topcard) im Studio meldet?
Also wenn man das im Flash-Dialog auswählt, welche Angaben das studio da ausgibt: HW/SW-Version usw...
Meins meldet sich als STK500_2.
Unklar ist mir auch noch die Sache mit der Aref und Clock. Als Parameter ist ein Byte dokumentiert, in Dezigrad von 0..6V. Das Studio gibt aber Centigrad-genau an. Habe mal das Auslesen lassen mitgeloggt - Aref wird zehnmal gelesen (also wahrscheinlich Mittelwertbildung). Das Schreiben der Spannung hab ich noch nicht geloggt.
Außerdem war im Log kein Get-Clock-Command (Prescaler und CompareMatch des Timers auslesen lassen) zu erkennen...hmm...
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.321
60
48
Marwitz
Sprachen
BascomAVR, Assembler
So, mal einen kleinen Vorab-Test.
Bisher ist nur das Auslesen implementiert.
Das Programm versucht an allen vorhandenen seriellen Ports ein STK500 (Firmware 2 ?) zu finden. ist das der Fall, werden diverse Parameter ausgelesen.
Mein Satellite (Intel Centrino) besitzt ein internes Modem an COM3, COM3 echot alles zurück. Das entspricht zwar einem regulären STK500-Telegramm (klar, ich sende ja eins) inklusive Prüfsumme, aber keiner zu erwartenden Antwort. Paßt also.

Unklar ist weiterhin die Oszillatorfrequenz. Wurde in irgendeinem Studio 'ne Frequenz größer "0" eingestellt, lese ich beim Prescaler und Compare je 'ne "1" zurück (entspräche den maximalen 3,??? MHz). Bei "0" erhalte ich die korrekten "0"-Werte.
Muß wohl doch nochmal das Lesen und Schreiben mitloggen... oder bei Micromel nachfragen.

Meine Firmware ist 2.10 (Studio6.x liest 2.a).

Irgendwie sind die Studios bezüglich der Spannungen etwas buggy - nach dem Schreiben einer Spannung inkrementiert die Anzeige - schreibt man nochmal, steigt sie weiter...
Zumindest die Spannungen werden bei mir korrekt ausgelesen.

Kann das ganze mal wer gegentesten (insbesondere bei abweichender Firmware, mit vorhandenen Topcards etc...)??
 

Anhänge

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.321
60
48
Marwitz
Sprachen
BascomAVR, Assembler
So, der Bug mit dem Lesen der Frequenz ist raus. Die ausgelesenen Werte sollten jetzt zu dem passen, was der Controller auf dem STK eingestellt zu haben glaubt(!).
@TommyB : erstellt ist das auf meinem Bastel-Satellite unter WinXP mit dotnet-fragmichnich. Wenn ich das jetzt unter Win8 starte, ploppt irgend'ne Fehlermeldung mit Framework64 v2.0.50727 und 'nem Parserfehler 0xC00CE556 auf. Nickt man den ab, geht's trotzdem. Kannst Du das mal testen, insbesondere mit Deinem Workaround?
@dino03 : kannst Du mal das auslesen der Topcards usw testen - oder gibt's bei Dir derart diabolische Betriebssysteme gar nicht mehr?

Im Anhang die aktuelle Version...
 

Anhänge

dino03

Aktives Mitglied
27 Okt 2008
6.711
15
38
Sprachen
BascomAVR, Assembler
Hi,

@dino03 : kannst Du mal das auslesen der Topcards usw testen - oder gibt's bei Dir derart diabolische Betriebssysteme gar nicht mehr?
... leider im Moment das ganze Zeugs wegen Zeitmangel eingemottet. :(
Müßte ich erstmal suchen wo der Kram liegt.
XP ist nur in einer 32Bit-Version vorhanden. Zur Zeit läuft bei mir aber nur der Pinguin.

Gruß
Dino
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.321
60
48
Marwitz
Sprachen
BascomAVR, Assembler
Sollte man nochmal zu einem Treffen zusammenkommen, müssen wir es eben da versuchen. Will eh wissen, ob die Software (wie gedacht) mit mehreren STKs klarkommt.

Hat, nebenbei gefragt, irgendwer Zugriff auf einen (original) AVRisp (also den echten seriellen)?
 

TommyB

Premium Benutzer
17 Mai 2010
2.116
76
48
36
127.0.0.1 ;)
Sprachen
Assembler, LunaAVR, VB.Net, Python, C#
@TommyB : erstellt ist das auf meinem Bastel-Satellite unter WinXP mit dotnet-fragmichnich. Wenn ich das jetzt unter Win8 starte, ploppt irgend'ne Fehlermeldung mit Framework64 v2.0.50727 und 'nem Parserfehler 0xC00CE556 auf. Nickt man den ab, geht's trotzdem. Kannst Du das mal testen, insbesondere mit Deinem Workaround?
Habs getestet unter Win7 und Win10, unter Win7 sagt er Timeout, unter Win10 bleiben alle Fenster leer. Aber kein Fehler oder ähnliches. Dass es bei mir nicht funktioniert ist klar, ich hab die Hardware nicht, geschweige dem COM4.
Angefügt der Workaround (einfach mit in's selbe Verzeichnis wie die .exe kopieren. Vorzugsweise entpackt...).
 

Anhänge

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.321
60
48
Marwitz
Sprachen
BascomAVR, Assembler
Der Timeout kommt in der unteren Textbox, davor der getestete Port, korrekt? Das heißt, das ein serieller Port gefunden, und die ID des STK angefordert wurde, aber keine hinreichend lange Antwort kam. Bei mir antwortet das interne Modem an Com3 (Echo), aber nicht mit der STK-ID.
Danke schon mal...
 

TommyB

Premium Benutzer
17 Mai 2010
2.116
76
48
36
127.0.0.1 ;)
Sprachen
Assembler, LunaAVR, VB.Net, Python, C#
Bei mir (Win7 System) war es COM4 (als einziger COM Port). Ist so ein widerspenstiger TI Chip. Das Win10 hat keine COM Ports. Falls das hilft.
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.321
60
48
Marwitz
Sprachen
BascomAVR, Assembler
Für mich selbst, und alle die's sonst interessiert:
Macht es Sinn, statt "normaler" Pinleisten solche Präzisionskontakte zu verwenden?
Nein, die vierkant-"Beine" sind willkürlich gedreht in der Leiste ver... äh... gossen, lassen sich also nicht in eine Buchsenleiste stecken.

Als Alternative hatte ich ewig nach konventionellen Buchsenleisten mit langen Beinen gesucht. Der entscheidende Such-Begriff lautet: PC/104.
Gibt's zB von Harwin.

Und für Hobbyisten sogar bei Reichelt.

Ok, nicht billig - und bei achtzig Pins am STK braucht man dann wohl Bärenkräfte um das zusammen und je wieder auseinanderzubekommen...

Hmm.. zum Löten ist klar - aber "Einpreßtechnik"... wär vielleicht auch 'ne Überlegung wert. Aber da gibt's bestimmt entsprechende Anforderungen an die Pads/Durchkontaktierungen.
(Es sind ja zwei Expansion-Header, die perfekt zueinander ausgerichtet sein müssen. Und da ich händisch löten muß… )

Nachtrag: Das Progamm, um welches es hier eigentlich ging, ist hier als Ressource verfügbar...
 
Zuletzt bearbeitet:

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