www.mikrocontroller.net

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


Autor: bene88 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Frederik Krämer (n0ll4k)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Julian O. (juliano)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: bene88 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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..

Autor: Nico22 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.mikrocontroller.net/articles/AVR_Fuses#...

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

Autor: bene88 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: bene88 (Gast)
Datum:

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

Autor: Grrrr (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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:
while(1)
   PORTD ^= 0xFF;

Autor: bene88 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.