Forum: Mikrocontroller und Digitale Elektronik Problem: Externe Platine übers STK500 (ISP) programmieren


von Bernd E. (edi)


Lesenswert?

Hallo,
ich habe mir eine Platine mit einem ATTiny26 gebaut und MISO, MOSI, SCK 
und Reset auf einem 6 poligen Pfostenstecker herausgeführt um den 
Prozessor übers ISP vom STK500 programmieren zu können. Wenn ich jetzt 
den 6 poligen Stecker vom STK501 abziehe und an meine zu programmierende 
Platine stecke, dann schreibt er mir beim Versuch zu programmieren im 
AVR Studio immer hin, dass die Programmierfrequenz max. 1/4 der 
Taktfrequenz haben soll...
Was mach ich falsch? Die Platine ist mit einer extra Spannungsversorgung 
ausgestattet, daher habe ich am 6 poligen Kabel VCC und GND nicht 
verbunden, außerdem hat die Platine einen extra Quarz mit 4Mhz, der AVR 
in der Platine wurde bis jetzt noch nie programmiert.

von Einhart (Gast)


Lesenswert?

Hallo,

GND nicht verbunden? Dann mach' das 'mal schnell.

von Bernd E. (edi)


Lesenswert?

Alles klar, jetzt klappt es!

von Roy T. (thinnes)


Lesenswert?

Hi gleiches Problem auch so ne Fehlermeldung mit 1/4 Taktfrequez...

Ich konnte die Fehlermeldung leider nicht ganz lesen, da ich weg musste 
und ich bin auch jetzt nicht zu Hause und kann deswegen die 
Fehlermeldung nicht schnell nochmal lesen...

Jedoch habe ich ALLES am 6Pol Stecker verbunden (alles das in der STK500 
Beschreibung steht, da wo der Programmierstecker beschrieben ist...)

Was kann ich da machen? Ich habe NOCHNIE ISP Programmiert also 
normalerweise habe ich immer den ATmega16 auf das Board in die Rosa Area 
eingesetzt zum programmieren und diesmal will ich mal probieren den 
ATmega auf meiner selbstgebauten Platine zu programmieren... Muss ich da 
was einstellen??

Auf meiner Platine hat der ATmega einen externen Quartz mit 16MHz... 
(Wenn ich jetzt nicht total durcheinander bin... Auf jedenfall 8 oder 
16MHz...)


MfG

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Der ATMEGA auf der externen Platine muß einen gültigen Takt haben. Wenn 
Du die Fuses für externen Takt gesetzt hast, muß ein externer Takt 
anliegen. Wenn Du einen Quarz per Fuses eingestellt hat, muß dieser mit 
passenden Lastkondensatoren vorhanden sein. Bei einem externen R/C 
Generator müssen diese Bauteile auf dem externen Board vorhanden sein. 
Letztlich mußt Du Pin2 vom ISP nur verbinden, wenn Deine externe Platte 
keine eigene Spannungsversorgung hat. Hat sie selber eine 
Spannungsversorgung, darf Pin 2 nicht mitverbunden werden oder aber der 
VTARGET Jumper auf dem STK 500 muß gezogen werden.

von Roy T. (thinnes)


Lesenswert?

Travel Rec. wrote:
> Der ATMEGA auf der externen Platine muß einen gültigen Takt haben. Wenn
> Du die Fuses für externen Takt gesetzt hast, muß ein externer Takt
> anliegen. Wenn Du einen Quarz per Fuses eingestellt hat, muß dieser mit
> passenden Lastkondensatoren vorhanden sein. Bei einem externen R/C
> Generator müssen diese Bauteile auf dem externen Board vorhanden sein.
> Letztlich mußt Du Pin2 vom ISP nur verbinden, wenn Deine externe Platte
> keine eigene Spannungsversorgung hat. Hat sie selber eine
> Spannungsversorgung, darf Pin 2 nicht mitverbunden werden oder aber der
> VTARGET Jumper auf dem STK 500 muß gezogen werden.

Also:

Mir ist beim lesen deines Beitrages aufgefallen dass ich im ATmega 
NICHTS initialisiert habe ausser der USART... Und die Fuses da hab ich 
jetzt sofort auch keine Ahnung von meine bisherigen Schaltungen liefen 
immer per 1MHz interner Takt...

Der Quartz ist mit den Kondensatoren am ATmega angeschlossen...

Ich kann meine externe Platte mit eigener Betriebsspannung in Betrieb 
nehmen, muss aber nicht (kann also abschalten und muss mein 
Programmierkabel nicht ändern nur wegen der BSpg.)

Also muss ich jetzt wohl erst noch die Initialisation machen und vor 
allem auch noch die Fuses setzen, wobei ich da kA hab wie...

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Mach mal das AVR-Studio auf, gehe auf Help -> AVR Tools User Guide -> 
STK 500 User Guide.

Zum Fuses programmieren findest Du auch dort eine entsprechende 
Anweisung. Im Programmierfenster erscheinen die Fuses mit 
Klartextangaben, was sie bedeuten. Um den Controller auf dem externen 
Board überhaupt ansprechen zu können, mußt Du die ISP-Frequenz auf einen 
Wert kleiner 250kHz stellen, da der Controller ja noch mit 1Mhz läuft.

von Roy T. (thinnes)


Angehängte Dateien:

Lesenswert?

Hi
Ich habe da mal nachgeseh und alles so eingestellt wie es da beschrieben 
wurde, jedoch kam immerwieder die gleiche fehlermeldung...

Jetzt sind die Fuses wieder so wie sie standartmässig sind...

Die Fehlermeldung habe ich mit den standartfuses angehängt...

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Wenn auf Deiner Platine ein Quarz sitzt, Du aber auf externen Takt 
eingestellt hat, kann es nicht gehen. Um den externen Controller 
wiederzuerwecken, mußt Du einen Takt an XTAL1 anlegen, dann die Fuses 
auf "Crystal/Resonator" mit >8MHZ einstellen, die CKOPT-Fuse muß auch 
aktiviert sein. Dann kannst Du den Takt von XTAL1 wieder abklemmen und 
der Controller sollte von alleine laufen und sich auch proggen lassen.

von Roy T. (thinnes)


Lesenswert?

Travel Rec. wrote:
> Wenn auf Deiner Platine ein Quarz sitzt, Du aber auf externen Takt
> eingestellt hat, kann es nicht gehen. Um den externen Controller
> wiederzuerwecken, mußt Du einen Takt an XTAL1 anlegen, dann die Fuses
> auf "Crystal/Resonator" mit >8MHZ einstellen, die CKOPT-Fuse muß auch
> aktiviert sein. Dann kannst Du den Takt von XTAL1 wieder abklemmen und
> der Controller sollte von alleine laufen und sich auch proggen lassen.

erm der takt ist IMMER an xtal1, den kann ich nicht so einfach 
anklemmen/abklemmen... Gibt es keine Möglichkeit den beim proggen dran 
zu lassen?

von TeraByte (Gast)


Lesenswert?

Hallo Leute,

leider habe ich jetzt auch Probleme,

habe Atmega8 und Software drauf. Programm läuft und funktioniert auch, 
nur
ich kann seit her weder fuses schreiben, noch den flash!!! Woran kann 
das liegen? Lesezugriff habe ich, liest auch fuses korrekt aus! 
Schreiben hatte mal funktioniert.

Suche schon seit Tagen den Fehler, jedoch ohne erfolg!

PS: Hab schon den 2. Mega8 drauf, was mache ich falsch?
Habe noch n evolution Board, darf funktionier das schreiben auch!

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.