Forum: Mikrocontroller und Digitale Elektronik Ausversehen auf "Low Frequency Crystal Oscillator" gestellt


von Maik (Gast)


Lesenswert?

Hallo,
habe bei meinem atmega 644 die fuses ausversehen auf "Low Frequency 
Crystal Oscillator" gestellt(da die gleiche Einstellung für internen 
Oszillator beim mega16). Als Quarz ist ein 16Mhz eingelötet. Damit 
reagiert der uC nicht mehr. Der kleinste Quarz, den ich da habe, ist ein 
8Mhz. Soweit ich dem Datenblatt entnehmen kann, benötige ich für diese 
Einstellung jedoch einen 32Khz Quarz. Kann man den uC noch so retten, 
ohne extra einen 32Khz Quarz zu bestellen? Müsste ja eigentlich nur die 
Fuses umstellen, aber soweit komme ich mit meinem Quarz nicht.

Gruß
Maik

von Purzel H. (hacky)


Lesenswert?

Man muss die frequenz an XTAL1 eingeben, xB mit einem Frequenzgenerator. 
Dann kann man neu programmieren.

von Maik (Gast)


Lesenswert?

Ich dachte das geht nur, wenn man die fuses auf Ext Clock gestellt hat? 
Denn das hatte ich auch schon mal. Habe dann mit einem Mega8 ein Recheck 
Signal generiert und es auf den XTAL1 des betroffenen uC gelegt. Und 
konnte dann den uC wieder programmieren.

von steuerbeamter (Gast)


Lesenswert?

Geht tatsächlich nur mit einem 32 kHz Quarz, das Problem hatte ich auch.

von Olaf (Gast)


Lesenswert?

> Kann man den uC noch so retten, ohne extra einen 32Khz Quarz
> zu bestellen?

32khz Quarze unterscheiden sich in ihren Daten ganz erheblich
von anderen Quarzen. Das ist auch der Grund warum der Prozessor
da seine Beschaltung aendert.

Aber du willst uns doch nicht erzaehlen das du nicht irgendwo
noch so einen Quarz rumliegen hast? Kein altes Mainboard? Keine
alte Uhr oder aehnliches?

Olaf

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

sollte trotzdem mit xtal1 fremdtaktung gehen.

von yalu (Gast)


Lesenswert?

Winfried J. schrieb:
> sollte trotzdem mit xtal1 fremdtaktung gehen.

Hätte ich auch gesagt, ohne allerdings einschlägige Erfahrungen zu
haben. Möglicherweise wird im Low-Frequency-Crystal-Modus das Signal
intern gefiltert, so dass die Frequenz nicht zu hoch sein darf. Mit
32kHz sollte es aber auf jeden Fall gehen.

Zu beachten ist noch, dass bei 32kHz wahrscheinlich die Bitrate des
ISP-Programmierers herunterzusetzen ist, da dieser meist von einer
Taktfrequenz von mindestens 1MHz ausgeht.

von Purzel H. (hacky)


Lesenswert?

Der 32kHz Quarz ist ueblicherweise nicht an XTAL1&2, sondern anderswo 
(Timer2), schau ins Datenblatt.

von Maik (Gast)


Lesenswert?

Danke für den Tip mit dem Mainboard. Habe natürlich noch mehrere hier 
herumliegen. Wußte gar nicht, dass da so ein Quarz drauf ist. Habe einen 
32Khz gefunden und den in mein ISP Board(Pollin) gelötet. Das Programm, 
dass da drauf war läuft wieder. Jedoch kann ich nicht per ponyprog auf 
die fuses zugreifen und auch unter winavr/avrdude den controller 
bespielen. Vermutlich sind die Einstellungen wirklich nicht für so 
niedrige Frequenzen eingestellt. Kann mir jemand sagen wie man das 
korriegieren kann?

von T. C. (tripplex)


Lesenswert?

Wie vorhin gesagt wurde musst du die ISP Programmier Freqeunz 
runtersetzen.

von Gastofatz (Gast)


Lesenswert?

>Ich dachte das geht nur, wenn man die fuses auf Ext Clock gestellt hat?

Doch, es geht auch bei anderen Einstellungen. Die externe Taktquelle 
muss dann den Ausgang des entsprechenden internen Verstärkers 
"überstimmen", der mit Pin XTAL1 verbunden ist. Das funktioniert, wenn 
sie genügend niederohmig ist, aber der Stromverbrauch dürfte 
währenddessen relativ hoch sein. Deshalb für Notfälle OK; für den 
Normalbetrieb mit einer externen Taktquelle sollte man aber auf 
"external clock" fusen, damit alle internen Verstärker deaktiviert und 
vom Pin XTAL1 abgetrennt sind.

von Bensch (Gast)


Lesenswert?

> Ich dachte das geht nur, wenn man die fuses auf Ext Clock gestellt hat?

Natürlich geht das auch, wenn auf Quarz gestellt ist. Überleg doch mal, 
was passiert. Genauso gut kann man auch einen Takt einspeisen, obwohl 
ein Quarz angeschlossen ist, aber die Fuses auf externen Takt stehen 
(der übliche Fehler, passiert mir auch schonmal..).

von Maik (Gast)


Lesenswert?

Konnte AVRDUDE trotz Takteinstellung nicht überreden den uC mit dem 
32Khz Quarz zu programmieren. Vermutlich lag es an den Einstellungen. 
Mit einem generierten Recheck Takt von einem anderen Mikrocontroller 
ging es allerdings. Jedoch nur an XTAL2 und komischerweise nicht an 
XTAL1. Jetzt geht alles wieder. Danke für die Hilfe!

von Micha (Gast)


Lesenswert?

Was für eine Frequenz hat dein anderer uC denn gemacht? Habe das gleiche 
Problem an einem AtMega 128...

von Karl H. (kbuchegg)


Lesenswert?

Was hast du?
Ist im Grunde nicht wirklich kritisch.
Der kritische Teil besteht darin, dass die ISP Programmierfrequenz nicht 
schneller als 1/4 dieser Taktfrequenz sein darf.

Wenn du also noch einen andern µC hast: Hau drauf. Mach eine Schleife in 
der der Pin toggelt und gut ists.

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.