Forum: Mikrocontroller und Digitale Elektronik STK500 als ISP


von Fabian H. (Firma: Technische Universität Berlin) (brein)


Angehängte Dateien:

Lesenswert?

Hallo,

ich möchte mein STK500 als ISP nutzen.
Im wesentlichen steht im User Guide auf Seite 51 alles.

Nur funktioniert es nicht. ^^

Wie müssen die SPI-Verbindungen hergestellt werden?
1
STK500 ---> ATmega32
2
-RST   ---> -RST
3
 SCK   --->  SCK
4
 MISO  --->  MISO
5
 
6
 MOSI  --->  MOSI
1
STK500 ---> ATmega32
2
-RST   ---> -RST
3
 SCK   --->  SCK
4
 MISO  \ />  MISO
5
        X
6
 MOSI  / \>  MOSI

Beides habe ich probiert, beides funktioniert leider nicht.
Wenn ich versuche, mit eclipse den µC-Typ auszulesen, was auf dem STK500 
klappt, kommt bei beiden Varianten eine Fehlermeldung.

Vielen Dank
Fabian

von AVR (Gast)


Lesenswert?

Wie sieht es mit Masse aus?
Wie wird der AVR mit Spannung versorgt?

von Uli (Gast)


Lesenswert?

Hast Du VCC und GND auch angeschlossen? Den VTARGET Jumper entfernt?
Beides ist nötig damit sich das STK500 auf den richtigen Pegel 
einstellen kann.

von Karl H. (kbuchegg)


Lesenswert?

So rum

 MISO  --->  MISO
 MOSI  --->  MOSI


Das gedankliche 'Kreuzen' der Datenleitungen ist da bereits eingebaut:

MOSI    Master Out - Slave In
MISO    Master In - Slave Out


Da jeder der Teilnehmer weiß, wer von ihnen Master und wer Slave ist, 
werden die Leitungen einfach durchverbunden. Getreu der Bezeichnung MOSI 
sendet der Master auf MOSI und der Slave hört auf MOSI zu.


Hast du auch eine Spannungsversorgung für dein Nicht-STK500 Board bzw. 
die Masse mit der STK500 Masse verbunden?

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

AVR schrieb im Beitrag #2603258:
> Wie sieht es mit Masse aus?
> Wie wird der AVR mit Spannung versorgt?
Durch das STK500!

Uli schrieb:
> Hast Du VCC und GND auch angeschlossen?
Klar! ^^ Hatte ich aber vergessen zu erwähnen. War aber 
selbstverständlich für mich!

Uli schrieb:
> Den VTARGET Jumper entfernt?
Da liegt eines der Fehler! Jetzt lese ich es auch in der Doku!

Karl Heinz Buchegger schrieb:
> So rum
>
>  MISO  --->  MISO
>  MOSI  --->  MOSI
War mein erster Gedanke richtig.

Danke Leute! Melde mich gleich wieder ob es geklappt hat.

Gruß
Fabian

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

Hmmm, Jumper ist gezogen, MISO->MISO und MOSI->MOSI gelötet und leider 
entsteht der selbe Fehler.
Die Status-LED leuchtet nicht mehr grün, sondern blinkt Rot-Gelb.

Ich habe die IC-Versorgungsspannung beim STK500 auf 3V eingestellt. Die 
messe ich auch am Vcc des ATmega32. Wenn ich VTARGET ziehe, messe ich da 
nur noch 1V. Ich glaube VTARGET soll auch nicht gezogen werden, da der 
Controller im Moment noch über das 6-Polige Flachbandkabel mit dem 
STK500 versorgt wird.

Welchen Einfluss hat die Quarzbeschaltung am µC? Ich habe da ein 
3,686MHz Quartz dran, mit 12pF Kondensatoren daran. Im Eingeschalteten 
Zustand, kann ich mit dem OSZI aber leider nichts Messen. Obwohl ich die 
Frequenz mit den selben OSZI-Settings messen kann, wenn der µC auf dem 
STK500 steckt. (Der Takt wird dann vom STK500 und nicht von einem Quarz 
geliefert.)

Hat jemand noch eine Idee?

Gruß und Danke
Fabian

von Uli (Gast)


Lesenswert?

Ahhh... Versorg das Ding doch mal extern!

von Larsen (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ab Seite 17 sollte alles benötigte Wissen stehen!

Gruss Larsen

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

Uli schrieb:
> Ahhh... Versorg das Ding doch mal extern!
Warum? Was würde das denn am Problem ändern?

von Chris (Gast)


Lesenswert?

Fabian Hoemcke schrieb:
> Ich glaube VTARGET soll auch nicht gezogen werden, da der
> Controller im Moment noch über das 6-Polige Flachbandkabel mit dem
> STK500 versorgt wird.
Dann muss VTARGET gesetzt sein damit deine externe Schaltung mit über 
das STK500 versorgt wird.

Fabian Hoemcke schrieb:
> Welchen Einfluss hat die Quarzbeschaltung am µC? Ich habe da ein
> 3,686MHz Quartz dran, mit 12pF Kondensatoren daran. Im Eingeschalteten
> Zustand, kann ich mit dem OSZI aber leider nichts Messen. Obwohl ich die
> Frequenz mit den selben OSZI-Settings messen kann, wenn der µC auf dem
> STK500 steckt. (Der Takt wird dann vom STK500 und nicht von einem Quarz
> geliefert.)
Das STK500 kann einen im STK500 eingesteckten µC mit Takt versorgen. 
Diesen externen Takt kannst Du im AVR Studio einstellen. Ist für dich 
jedoch nicht relevant.
Der Quarz am µC in deiner externen Schaltung wird wahrscheinlich nicht 
schwingen, da der µC über seine Fuses noch nicht auf ext. Quarz 
eingestellt wurde. Im Auslieferungszustand verwendet er den internen 
R-C-Oszi als Taktquelle.

Was für eine Fehlermeldung bekommst Du denn?

von Uli (Gast)


Lesenswert?

Und was hast Du am Target genau angeschlossen?

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Angehängte Dateien:

Lesenswert?

Chris schrieb:
> Der Quarz am µC in deiner externen Schaltung wird wahrscheinlich nicht
> schwingen, da der µC über seine Fuses noch nicht auf ext. Quarz
> eingestellt wurde. Im Auslieferungszustand verwendet er den internen
> R-C-Oszi als Taktquelle.
Nein, die Fuses sind so gesetzt, dass der externe Takt genutzt wird.
Merkt man spätestens dann, wenn man den Jumper OSCSEL zieht. ^^

Chris schrieb:
> Was für eine Fehlermeldung bekommst Du denn?
Ich nutze ja eclipse und nicht AVR-Studio. Wenn Du was damit anfangen 
kannst, findest Du es im Anhang.

Uli schrieb:
> Und was hast Du am Target genau angeschlossen?
Da ich nicht genau weiß, was DU damit meinst, habe ich mal ein Bild 
gemacht. Natürlich sonst mit µC. xD

Bitte nehmt mir die Kondensatorenschaltung am XTAL nicht überl. wusste 
es jetzt nicht besser und gleichzeitig Platz schonend.
Was mich dabei interessiert, ist, kann die externe Taktschaltung 
Einfluss auf den ISP haben?

Danke
Fabian

von SeriousSam (Gast)


Lesenswert?

Könnte ev. der SPI-Takt vom STK500 zu hoch sein? Sollte höchstens 1/4 
der uC-Frequenz betragen. Ist ev. noch CLKDIV gesetzt?

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

Das ansich glaube ich nicht. Da der µC auf dem Board auch mit dieser 
Frequenz arbeitet.

Wenn das aber abhängig ist vom Takt, kann es also doch das Problem sein, 
dass da nichts schlägt am XTAL, wie oben beschrieben?

Ich werde mal versuchen, die Fuses so zu setzen, dass er doch mit 
internem Takt arbeitet. Um diesen Fehler zu umgehen.

von Chris (Gast)


Lesenswert?

Fabian Hoemcke schrieb:
> Nein, die Fuses sind so gesetzt, dass der externe Takt genutzt wird.
> Merkt man spätestens dann, wenn man den Jumper OSCSEL zieht. ^^
Der Jumper hat bei einem externen Target keinerlei Funktion. Den kannst 
Du dann setzen wie Du lustig bist.

Fabian Hoemcke schrieb:
> Bitte nehmt mir die Kondensatorenschaltung am XTAL nicht überl. wusste
> es jetzt nicht besser und gleichzeitig Platz schonend.
Das ist weder platzschonend noch zielführend. Baue das mal vernünftig 
auf! Auch auf gute Masseführung achten. Wenn die Fuses tatsächlich 
korrekt auf ext. Quarz eingestellt sind muss der auch schwingen. Das bei 
dir nichts schwingt wundert mich so jedenfalls nicht.

Fabian Hoemcke schrieb:
> Was mich dabei interessiert, ist, kann die externe Taktschaltung
> Einfluss auf den ISP haben?
Die Frequenz des ISP muss weniger als 1/4 der Taktfrequenz des µC haben. 
Da bei dir der Quarz aber nicht schwingt erübrigt sich das zunächst mal.

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Angehängte Dateien:

Lesenswert?

Chris schrieb:
> Der Jumper hat bei einem externen Target keinerlei Funktion. Den kannst
> Du dann setzen wie Du lustig bist.
Stimmt. Ich meinte, wenn der µC auf dem Board steckt.

Chris schrieb:
> Das ist weder platzschonend noch zielführend. Baue das mal vernünftig
> auf! Auch auf gute Masseführung achten. Wenn die Fuses tatsächlich
> korrekt auf ext. Quarz eingestellt sind muss der auch schwingen. Das bei
> dir nichts schwingt wundert mich so jedenfalls nicht.
OK. Dabei habe ich mich an die Doku auf Seite 26 gehalten und 
durchgemessen.
Konnte jetzt keinen Fehler finden. Werde es aber überarbeiten.
Wie meine Fusebits gesetzt waren, findest Du im Anhang.

Chris schrieb:
> Die Frequenz des ISP muss weniger als 1/4 der Taktfrequenz des µC haben.
> Da bei dir der Quarz aber nicht schwingt erübrigt sich das zunächst mal.
Habe jetzt erstmal die Fuses auf internen Takt umgestellt und siehe da, 
es geht.

Danke Dir!

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

Durchgemessen habe ich es und die bedrahtung scheint erstmal zu stimmen. 
Kann nur sein, dass ich die Cs beim Löten gegrillt habe. Werde jetzt 
erstmal bedrahtete kaufen gehen.

Das Datenblatt sagt 12pF - 22pF.
Was ist besser? Oder bleibt sich das gleich?

Gruß
Fabian

von Chris (Gast)


Lesenswert?

Fabian Hoemcke schrieb:
> Das Datenblatt sagt 12pF - 22pF.
> Was ist besser? Oder bleibt sich das gleich?

Welches DB? Maßgebend ist das DB vom Quarz. Das ist jedoch auch nicht 
allzu kritisch zu sehen. 22pF ist meist ein guter Wert. Viel wichtiger 
ist kurze Leiterbahn und Masseführung. Viel Erfolg!

von Dietrich L. (dietrichl)


Lesenswert?

Fabian Hoemcke schrieb:
> Habe jetzt erstmal die Fuses auf internen Takt umgestellt und siehe da,
> es geht.

Und vorher war es wie oben im Bild? Dort steht "Ext. Clock". Ich kenne 
die von Dir verwendete SW zwar nicht, aber ist das nicht ein 
Taktgenerator (und kein Quarz)?

Gruß Dietrich

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

Chris schrieb:
> Fabian Hoemcke schrieb:
>> Das Datenblatt sagt 12pF - 22pF.
>> Was ist besser? Oder bleibt sich das gleich?
>
> Welches DB? Maßgebend ist das DB vom Quarz. Das ist jedoch auch nicht
> allzu kritisch zu sehen. 22pF ist meist ein guter Wert. Viel wichtiger
> ist kurze Leiterbahn und Masseführung. Viel Erfolg!
Das Datenblatt vom ATmega32 das weiter oben im Anhang ist.
Masseführung heißt? Das es mit Masse verbunden ist?
Danke!

Dietrich L. schrieb:
> Und vorher war es wie oben im Bild? Dort steht "Ext. Clock". Ich kenne
> die von Dir verwendete SW zwar nicht, aber ist das nicht ein
> Taktgenerator (und kein Quarz)?
Stimmt, die Einstellung kann zu allgemein sein. Man kann auch genauere 
Einstellungen vornehmen. Jedoch funktioniert der µC so, wenn er den Takt 
vom STK500 bekommt.

Folgende Einstellungen kann ich zum Thema CKSEL machen:
1
Ext. Clock
2
Int. RC OSC. 1 MHz
3
Int. RC OSC. 2 MHz
4
Int. RC OSC. 4 MHz
5
Int. RC OSC. 8 MHz
6
Ext. RC OSC.   - 0.9 MHz
7
Ext. RC OSC. 0.9 MHz - 3.0 MHz
8
Ext. RC OSC. 3.0 MHz - 8.0 MHz
9
Ext. RC OSC. 8.0 MHz - 12.0 MHz
10
Ext. Low-Freq. Crystal
11
Ext. Crytal/Resonator Low Freq.
12
Ext. Crytal/Resonator Medium Freq.
13
Ext. Crytal/Resonator High Freq.

Ich nehme mal an, dass /Ext. Crytal/Resonator Medium Freq./ am besten 
passen würde. So ganz schlau werde ich aber aus dem Datenblatt nicht.
SUT (Start Up Time) lasse ich hier mal außer Betracht erstmal.

Gruß
Fabian

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Angehängte Dateien:

Lesenswert?

Es hat leider nicht funktioniert.

Habe mir jetzt 22pF Kondensatoren besorgt, habe sie eingelötet aber da 
schwingt nichts. Jetzt messe ich an XTAL1 und XTAL2 konstant High.

Habe CKSEL auf _Ext. Crytal/Resonator High Freq._ gesetzt.

Hat jemand noch eine Idee?

von Peter S. (psavr)


Lesenswert?

>Uli schrieb:
>> Ahhh... Versorg das Ding doch mal extern!
>Warum? Was würde das denn am Problem ändern?
JA...!!! Die Speisung ab STK500 ISP reicht in der Regel nicht aus! Warum 
fragst Du hier im Forum um Hilfe, wenn Du die guten  Ratschläge ohnehin 
ignorierst?

Ein weiterer Tip, den Du ignorieren darfst, falls Du nicht weiterkommen 
möchtest: Hast Du im Eclipse "STK500 V2.x" ausgewählt= STK500 V1.x geht 
normalerweise nicht (mehr)

von Martin e. C. (eduardo)


Angehängte Dateien:

Lesenswert?

Peter S. schrieb:
> JA...!!! Die Speisung ab STK500 ISP reicht in der Regel nicht aus! Warum
> fragst Du hier im Forum um Hilfe, wenn Du die guten  Ratschläge ohnehin
> ignorierst?

Peter hat vollkomen Recht! du brauchst nur ein 7805 und paar Kondis mehr 
erst mal nicht, so hast du ein vernünftiges Spanung Versorgung, die ISP 
Schaltung muß genau der STK500 entsprechend (siehe Bild), und der Jumper 
VTARGET must raus.

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

Peter S. schrieb:
>>Uli schrieb:
>>> Ahhh... Versorg das Ding doch mal extern!
>>Warum? Was würde das denn am Problem ändern?
> JA...!!! Die Speisung ab STK500 ISP reicht in der Regel nicht aus! Warum
> fragst Du hier im Forum um Hilfe, wenn Du die guten  Ratschläge ohnehin
> ignorierst?
Tue ich das?
Chris schrieb:
> [...]
> Dann muss VTARGET gesetzt sein damit deine externe Schaltung mit über
> das STK500 versorgt wird.

> Ein weiterer Tip, den Du ignorieren darfst, falls Du nicht weiterkommen
> möchtest: Hast Du im Eclipse "STK500 V2.x" ausgewählt= STK500 V1.x geht
> normalerweise nicht (mehr)
Danke! Ich nutze bereits V2.x. Denn mit dem STK500 an sich, klappt ja 
das Programmieren.

Danke
Fabian

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

Martin e. C. schrieb:
> Peter S. schrieb:
>> JA...!!! Die Speisung ab STK500 ISP reicht in der Regel nicht aus! Warum
>> fragst Du hier im Forum um Hilfe, wenn Du die guten  Ratschläge ohnehin
>> ignorierst?
>
> Peter hat vollkomen Recht! du brauchst nur ein 7805 und paar Kondis mehr
> erst mal nicht, so hast du ein vernünftiges Spanung Versorgung, die ISP
> Schaltung muß genau der STK500 entsprechend (siehe Bild), und der Jumper
> VTARGET must raus.

Gut, dann werde ich das dann erst mal machen.
Warum mein Quarz dann aber nicht schwingt, erklärt es dennoch nicht. 
Leider!

Gruß
Fabian

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Angehängte Dateien:

Lesenswert?

Es funktioniert!

Ich habe jetzt ein neues Quarz gekauft[1].
Und nun funktioniert es einfach. :D

Sieht zwar anders aus, als auf der Webseite. Aber es funktioniert.
Daran hat es gelegen.
Jetzt kann ich die Signatur auslesen, Fuses auslesen und das Ding neu 
flashen.
Ich denke, jetzt funktioniert es einfach.

Eine Separate SV habe ich noch nicht geschafft zu bauen.

Vielen vielen Dank
Fabian

________
[1]http://www.conrad.de/ce/de/product/168610/QUARZ-3686400-MHZHC-49US

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.