Nach "ext. crystal" programmieren nicht mehr möglich

Gast #46665
Lesenswert?

Hallo allerseits,


ich habe hier eine Platine mit einem ATmega8L
und einem externen Quarz. Die Standardeinstellung
ist der interne RC-Oszillator. Das wollte ich
eigentlich nicht und stellte die Fuses hin und
her (zuletzt "ext. crystal, mid freq", glaube ich).

Nun kann der Programmiermodus nicht mehr erreicht
werden.

Hat da jemand ähnliche Beobachtungen machen
können und das Problem gelöst bekommen?

Danke im Voraus

MfG
Felix
Gast #46666
Lesenswert?

Sicher, daß der externe Quarz auch schwingt? Ich beschäftige mich noch
nicht allzu lange mit dem Mega, aber es gibt verschiedene Betriebsarten
für den externen Oszillator. Wenn Du die Betriebsart für "Oszillator"
und nicht "Crystal" erwischt hast, wird der Quarz wohl nicht
anschwingen, weil der Mega einen sauberen Rechteck am Eingang erwartet.
Evtl. mal einen Oszillator aufbauen (2 Inverter-Methode) und dann
nochmal versuchen.
Gast #46667
Lesenswert?

Tut er nicht. Ich habe aber herausgefunden,
dass ein RC-Glied (Externer RC-Oszillator)
funktioniert. Einen Takt aufdrücken klappt auch
nicht, weil während der High-Zeit des externen
Rechtecksignals ein Hf-Signal auf dem XTAL1
liegt (hinter dem Vorwiderstand).

Und selbst wenn der RC-Osc schwingt (ca. 65 kHz),
kann der Chip nicht programmiert werden.

Auf der Atmelsite in der FAQ wird berichtet, dass
die Programmierung immer möglich sein soll.

MfG
Felix
Gast #46668
Lesenswert?

Ich habe den Fehler möglicherweise gefunden:

es gibt diverse Einstellungen für die Taktquelle
(Quarz, RC, etc.). Wenn man da eine Option wählt,
die vom BrownOutDetector abhängt und dieser NICHT
aktiviert ist, startet der Chip nicht mehr.

Vielleicht kann "Parallel programming" weiterhelfen.

MfG
Felix
Gast #46669
Lesenswert?

Parallele Programmierung wird Dir sicher weiterhelfen, so Du ein
Programmiergerät hast, was das kann.

Das mit dem brown-out detector verstehe ich nicht, hast Du da mal 'ne
Atmel-Referenz?

Wenn Du aber nur 65 kHz Takt hast, werden die meisten Programmier-
geräte damit nicht mehr umgehen können, da sie viel zu kurze Zeiten
annehmen für alles.  Im Prinzip sollte der Chip damit aber noch
programmierbar sein, so Du eine Programmiersoftware findest, die man
so langsam stellen kann.

Bekommst Du den RC-Oszillator denn nicht noch ein wenig schneller?
Gast #46670
Lesenswert?

Ich hatte das Problem auch, allerdings bei einem höheren Takt. Bei
meiner regulären Betriebsspannung von 5V arbeitet zwar der Controller
(Mega16) ganz normal, aber programmieren lässt er sich nicht. Wenn ich
die Spannung aber auf 4,5V runterdrehe, dann geht's seltsamerweise.

Gruss
Tom
Gast #46671
Lesenswert?

Hallo,

das Problem kommt scheinbar öfter beim programmieren der Takt-Fuses im
ISP Modus vor. Bei mir hat immer ein Programmieren im High Voltage
parallel Modus geholfen.

Kann aber sein, das es vom Programmiergerät bzw. SW abhängt. (Bei mir
Atmel AVR910 App Note mit Studio)

HTH,
Klaus
Gast #46672
Lesenswert?

Danke für die Tipps.

Ich werde einfach mal R kleiner machen und
sehen was bei weniger Programmierspannung
passiert. Dennoch werde ich mal eine Platine zum
parallelen Programmieren anfertigen. Das STK500
verfügt über Stiftleisten zum ParProg.

Ein Errata oder Referenz, in der das beschrieben
ist, habe ich leider nicht.
Ich konnte die Fuses zu Beginn etwa 5 mal umstellen.
Erst dann bei Auswahl einer Fuse mit SUT 01 ging
nichts mehr.
Deshalb vermute ich den BOD.
Dazu ist nämlich etwas im normalen Datasheet vorhanden
(Bereich "system clock and clock options").

MfG
Felix

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren