PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : STK200 will nicht mit USB ISP-Prog von Stange



naicheben
25.10.2009, 19:26
Hallo,
ich habe einen USB Programmieradapter von Stange. Er funktioniert unter BASCOM-AVR mite einem selbstgebautem Kabel auch mit dem Arduino NG Board mit einem ATMEGA168 drauf. Wenn ich dann aber das mitgelieferte Kabel nehme und es auf mein STK200 stecke, kann ich zwar den Chip erkennen lassen, aber weder löschen noch programmieren. Ich habe es mit einem AT90S2343 und einem 2313 versucht.

Bitte alle Ideen posten, auf die ihr kommt. Kein Fehler kann so blöd sein, dass ich ihn nicht gemacht hätte ;-)

Danke Euch
Ingmar

Besserwessi
25.10.2009, 21:26
Ein häufiges Problem bei der ISP Programmierung ist die Kabellänge zwischen ISP und der Zielschaltung. Bei mehr als etwa 30 cm (bei einem Schalten ISP auch kürzer) kann es Porbleme geben, die davon abhängen wie die Platine mit dem µC aufgebaut ist (Leitungsrefelktionen).

Wenn das Chip erkennen geht, scheint ja schin mal eine gewisse finktion da zu sein. Wie ist die Stromversorgung ? Einige der Schaltungen brauchen so wenig strom, dass man die Kurzzeitig über die Signalleitungen versorgen kann, aber nach einiger Zeit sind dann die Elkos leer, und längere Aufgaben gehen dann nicht.

naicheben
25.10.2009, 21:42
Vielen Dank für Deine Antwort.
Leitungslänge vom USB-ISP zum STK sind 15cm und ich habe sowohl vom Programmer als auch von einer externen Stromversorgung das STK gespeist. Reflektionen kann ich natürlich nicht ausschließen, aber die Platine ist original Developer-Kit und professionell erstellt. Ich habe die Jumper für die Ports (Tasten und LEDs) auch schon weggenommen, das hat aber auch nichts geändert.

Besserwessi
25.10.2009, 23:29
Ist das wirklich ein STK200, nicht ein STK 500 ?

Bei 15 cm Leitungslänge sollte es noch keine Problem mit Refelxionen geben, dass sollte kurz genug sein für 74HC oder ähnliche. Die werden ja wohl nicht ohne 74AC... oder ähnliches verbaut haben bei ISP.

Was ist das genau für ein USB-ISP ?
Geht der mit anderen Testplatinen oder einem µC auf dem Steckbrett.

naicheben
26.10.2009, 00:39
Ja, das ist ganz sicher ein stk200. Ist schon etwas älter und kam mit einem Parallelport-dongle daher. Da waren auch Treiberstufen drin eingebaut. An meinem Netbook und Notebook habe ich aber nur noch USB. Darum habe ich mir diesen USB-ISP-Programmer geholt:
http://www.sr-tronic.eu/service/Anleitung/Anleitung_ISP-Programmer.pdf Ein Bild sieht man hier: http://www.srt-versand.de/index.php?sid=19362c31dcbfe04793f61d8928a191c0&cl=details&anid=8dd49932d00865747.65532223&listtype=search&searchparam=USB%20ISP Ist wirklich simpel. Wie gesagt, es funktioniert mit dem Arduino NG-Experimentier Board: http://www.arduino.cc/en/Main/Boards Aber ich verstehe nich, warum das bei dem einen Board geht und bei dem anderen nicht....

oberallgeier
26.10.2009, 09:19
Hi,

Probleme kann eine zu hohe ISP-Geschwindigkeit Deines Programmes sein. Besonders dann, wenn Du einen fabrikfrischen Controller hast, und der evtl. auf 8 MHz internen Takt mit Vorteiler gestellt ist - also 1 MHz (das hatte mich mal STUNDEN gekostet). Vielleicht in die Richtung testen?

Und vielleicht hilft Dir dies weiter? (http://www.mikrocontroller.net/articles/STK200)

naicheben
26.10.2009, 20:47
Das mit dem internen takt ist gut möglich, aber wie stelle ich das in BASCOM ein?

naicheben
27.10.2009, 12:40
Ah, Du hast recht, mit einem externen Takt (ATMEGA168 toggelt eine Portleitung und geht dann auf CLOCK vom AT90S2343) kann ich ihne auslesen und chip erase machen. Eine abfrage, ob der Chip leer ist geht so auch, fusebits kann ich auch sehen. Aber programmieren geht nicht. Da sagt der selbst auf dem Steckbrett Division by zero. Hat scheinbar nichts mit dem STK zu tun.

Ich habe gerade entdeckt, dass in dem einem Programm $prog &HFF , &HFF , &H00 , &H00 nicht auskommentiert war. Setzt das das Fusebit für den Takt auf extern? Dann habe ich mir das damit vermurkst...

naicheben
27.10.2009, 20:58
Im AVR Studio habe ich eine Clock Generator Einstellung gefunden, ist das das gleiche wie wenn man auf der Konsole ISP-Frequency -I4.0KHz eingibt? Oder ist das die Frequenz die am CLOCK Eingang vom AVR anliegt?
Wenn der intern getaktet wird (über die Fusebits gesetzt) gebe ich da die aus dem Datenblatt ein?

naicheben
28.10.2009, 20:18
So, ich habe jetzt das AVR-Studio 4.17 installiert und kann damit wenigstens das FLASH/EEPROM und die Fusebits schreiben (außer vom AT90S2343, da geht nichts außer den Fusebits und Signatur auslesen). In BASCOM kann ich nicht flashen und komme zu dem Schluß, dass ich auf die nächste Version warte und es dann noch mal versuche. Bis dahin flashe ich halt mit der stk500.exe über AVR-Studio, ist ja auch eine schöne Oberfläche...