Forum: Mikrocontroller und Digitale Elektronik Fuses für 4MHz Quarz mit avrdude


von Gerry (Gast)


Lesenswert?

Hallo zusammen,

ich versuche meinen ATMega88V-10PU auf einen externen 4MHz Quarz 
umzustellen. Leider habe ich dabei bereits einen µC verfust. Da ich die 
Einstellungsmöglichkeiten noch nicht alle ganz verstanden habe und es 
bei jedem Programm irgendwie anders aussieht, wollte ich fragen, ob mir 
jemand den unten stehenden avrdude Befehl um die nötigen 
Fuses-Einstellungen ergänzen kann. Ich habe bereits lange gesucht aber 
nicht konkretes für meinen Controller gefunden.
Ich bitte euch auch nicht um die Ergänzung um es mir leicht zu machen. 
Mit den korrekten Einstellungen möchte ich versuchen diese 
nachzuvollziehen und so die Einstellmöglichkeiten endlich zu verstehen.

Vielen Dank schonmal vorweg.

Hier der Anfang des Befehls:
1
avrdude -c avrispmkII -p m88 -Pusb -e

von g457 (Gast)


Lesenswert?

Tipp: Erst die vorhandenen Fuses auslesen, dann ins Datenplatt 
rüberübertragen was was heisst, dann die Änderungen (hier: Taktequelle) 
einpflegen, zurückrechnen, per avrdude schreiben.

Wenn Du dir nicht sicher bist, dann zeig Deine errechneten Werte hier 
her bevor Du sie schreibst (aber nachdem Du sie ∗selbst∗ ausgerechnet 
hast) zum drüberschauen.

HF

von Gerry (Gast)


Lesenswert?

Hallo,

danke für den Tip (auch wenn ich darauf natürlich schon selbst gekommen 
bin). Ich habe es nun nocheinmal versucht und bin auf folgendes Ergebnis 
gekommen:
1
-U lfuse:w:0xdc:m -U hfuse:w:0xdf:m -U efuse:w:0xf9:m

Erstellt mit dem Fuse Calculator unter http://www.engbedded.com/fusecalc

Gruß, Gerry

von g457 (Gast)


Lesenswert?

> lfuse:w:0xdc:m
(mit efuse und hfuse auf default)

Das wär dann also ein low power ceramic resonator mit langsam steigender 
Versorgungsspannung. Wenn das passt dann programmier drauf los :-) Falls 
Du doch einen ∗Quarz∗ ("[..] auf einen externen 4MHz Quarz [..]") hast, 
warum nicht SUT 11 und CKSEL 1101?

Nur der Vollständigkeit halber: Du weisst hoffentlich, dass Du mit 
Deiner Einstellung eine gute Abschirmung des "Quarzes" gegen Störungen 
von aussen brauchst. Aus eigener Erfahrung: Schon eine UART in der 
∗Nähe∗ (und mit mittelmäßiger Masseführung ∗hust∗) führt zu sporadischen 
Aussetzern. Warum kein full swing Quarz (SUT 11, CKSEL 0111)? Der ist 
wesentlich störunempfindlicher (braucht aber mehr Energie).

HTH

von Gerry (Gast)


Lesenswert?

Ok, mit deinen Vorschlägen komme ich jetzt auf folgendes Ergebnis:
1
-U lfuse:w:0xf7:m -U hfuse:w:0xdf:m -U efuse:w:0xf9:m

Der full swing Quarz ist sicherlich besser, da ich nicht ausschließen 
kann, dass irgendwoher Störungen auftreten. Eine UART habe ich zwar 
nicht, aber wer weiß. Wäre es eigentlich möglich, dass durch einen 
"gestörten" Quarz der Controller beschädigt wird?

von g457 (Gast)


Lesenswert?

> -U lfuse:w:0xf7:m -U hfuse:w:0xdf:m -U efuse:w:0xf9:m

sollte passen.

> Wäre es eigentlich möglich, dass durch einen "gestörten" Quarz der
> Controller beschädigt wird?

Jein. Nicht unmittelbar. Aber: Wenn der Programmablauf aufgrund der 
Taktstörungen durcheinanderkommt und deswegen Ports geschaltet werden, 
die so nicht geschaltet werden dürften, und deswegen z.B. einen 
Kurzschluss verursachen, dann kann man damit durchaus auch Hardware 
braten.

von Gerry (Gast)


Lesenswert?

Super, danke. Werde es so ausprobieren. Wenn doch etwas nicht passt 
melde ich mich wieder.

Gruß, Gerry

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.