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
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?
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
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
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?
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
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.
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.
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!
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
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!
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
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
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?
>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)
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.
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
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
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