Forum: Mikrocontroller und Digitale Elektronik atmega8 kann nicht mehr geflasht werden, nachdem umstellung auf ext. clock signal


von bene88 (Gast)


Lesenswert?

hallo,

zum programmieren verwende ich das STK500.
habe eine kleine Platine mit einem atmega8 drauf. die platine hat auch 
eine isp-schnittstelle, die ich dann per flachbandkabel mit dem STK500 
verbinde.
Getaktet soll der atmega über ein externes Clock-Signal.
Wenn ich dann die Fuses so programmiere und anschließend wieder per 
STK500 z.b. die Signatur lesen will, kommt die Fehlermeldung "ISP Mode 
Error"..

ich habe aber gedacht, zum flashen brauch man das ext.Clock-Signal 
nicht, da ich doch vom STK500 über das isp-Kabel ein Clock-Signal 
erhalte!?

oder sehe ich da was falsch?

mfg

von Frederik K. (n0ll4k)


Lesenswert?

Er bekommt ein Clock Signal, diese hat aber nichts mit der Fuse zu tun. 
Du müsstest dir nun ne Quarz an die passenden Pins löten. Da mit 
externer Clock ein externer Takt für den Oszilatir gemeint ist.

Wenn der Mega gesockelt ist kannst du den auch ins stk500 einstecken. 
Das hat soweit ich mich erinner auch nen einstellbare Taktquelle drin. 
Oder mit HV Programmierung retten.

von spess53 (Gast)


Lesenswert?

Hi

>ich habe aber gedacht, zum flashen brauch man das ext.Clock-Signal
>nicht, da ich doch vom STK500 über das isp-Kabel ein Clock-Signal
>erhalte!?

>oder sehe ich da was falsch?

Ja. Das CLK vom ISP hat nichts mit Controllertakt zu tun. Setze den 
OSCSEL-Jumper vom STK auf die Linke Position. Dann wir dein Controller 
vom STK mit dem Takt versorgt.

MfG Spess

von Julian O. (juliano)


Lesenswert?

Frederik Krämer schrieb:
> Du müsstest dir nun ne Quarz an die passenden Pins löten

Soweit ich weiß ist externer Clock != Quarz (Crystal)

es wäre eher richtig einen Quarzoszillator oder eine andere Taktquelle 
mit Logikpegeln zu verwenden

von bene88 (Gast)


Lesenswert?

hallo,

leider ist der atmega direkt auf die platine gelötet (TQFP-Gehäuse). 
Deswegen wird die HV-Programmierung net gehen :(

Ich hab den Jumper auf die linke Position umgestellt..tut sich aber auch 
nix mehr -.-

Ist wohl jetzt hinüber..

von Nico22 (Gast)


Lesenswert?

Behelfsmäßig nen anderen µC nehmen, mit nem Code (sinngemäß)

while(1)
{
   PORTD ^= 0xFF;
}

und dann einen PIN davon an CLOCK hängen, da du dann ein Clock-Signal 
mit Logikpegeln hast.

Nico

von g457 (Gast)


Lesenswert?

http://www.mikrocontroller.net/articles/AVR_Fuses#Reaktivieren_bei_fehlerhaften_Taktquellen-Fuse-Einstellungen

Bei TQFP brauchst dann nur noch eine ruhige Hand um den (externen) Takt 
lange genug sauber draufzuhalten bis der Fuse-umprogrammieren-Job 
(vorzugsweise automatisch) erledigt worden ist :-)

HTH und HF

von bene88 (Gast)


Lesenswert?

ok..habe ein zweiten atmega genommen und aufs STK500 gesteckt wo ein 
Taktsignal ausgibt und habe das Taktsignal über ein Stück Kabel an den 
XTAL1-Pin gelötet...der macht trotzdem nix mehr!
Kommt immer der gleiche Fehler...

von Karl H. (kbuchegg)


Lesenswert?

bene88 schrieb:
> ok..habe ein zweiten atmega genommen

wie schnell taktet der?

> Kommt immer der gleiche Fehler...

Die ISP Geschwindigkeit hast du soweit runtergestellt, wie es nur 
irgendwie geht?

von bene88 (Gast)


Lesenswert?

also in der schleife habe ich ein delay von 3ms reingemacht.
die isp-geschwindigkeit habe ich beim STK500 dann auf 1.21kHz 
eingestellt.

von Grrrr (Gast)


Lesenswert?

bene88 schrieb:
> ein delay von 3ms

Der Takt ist zu langsam bzw. der ISP-Takt zu schnell. Der ISP Takt darf 
höchstens ein Viertel des uC Taktes betragen.
Achtung: Falls Du den Pin in 3ms Abstand toggelst gibt das 6ms 
Periodendauer also etwa 167Hz.

von g457 (Gast)


Lesenswert?

> also in der schleife habe ich ein delay von 3ms reingemacht.

Wozu? Machs analog zu dem was Nico22 schon schrub mit ganz ohne Delays, 
das ist auch so schon langsam genug:
1
while(1)
2
   PORTD ^= 0xFF;

von bene88 (Gast)


Lesenswert?

hatte mal verschiedene frequenzen ausprobiert..hatte bzw. habe nun 
wieder kein delay drin...geht aber trotzdem nicht!
isp-frequenz ist weiterhin 1,21kHz..der CPU-Takt des funktionierenden 
atmegas ist 8Mhz

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.