Forum: Mikrocontroller und Digitale Elektronik Nach "ext. crystal" programmieren nicht mehr möglich


von Felix Adam (Gast)


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

von thkais (Gast)


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.

von Felix Adam (Gast)


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

von Felix Adam (Gast)


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

von Joerg Wunsch (Gast)


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?

von obeto (Gast)


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

von Klaus L. (Gast)


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

von Felix Adam (Gast)


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

von Felix Adam (Gast)


Lesenswert?

Der Tipp mit der Taktfrequenz war richtig :) .
Danke Joerg.

Eingestellt war ein RC ab 3 MHz.

MfG
Felix

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.