Forum: Mikrocontroller und Digitale Elektronik Fusebits beim Atmega16


von huygens (Gast)


Lesenswert?

Hallo,
da ich noch ein ziemlich unbeschriebenes Blatt bin was µCs angeht, frage 
ich lieber hier nochmal nach, bevor ich mir meinen Controller mit 
falschen Fuse-Bits zerlege.
Mein ATMega16 soll den 8 MHz Keramikresonator nutzen, der an XTal1 und 
XTal2 hängt.
Nur leider habe ich Schwierigkeiten die richtige Einstellung zu finden.
Ich würde gerne den Fusebitrechner 
(http://palmavr.sourceforge.net/cgi-bin/fc.cgi?P_PREV=&P=ATmega16) 
benutzen.

Ich tippe mal auf die Einstellung Ext.Crystal/Resonator mit High-Freq. 
Die Startzeit sollte doch recht unkritisch sein, oder? (Im Zweifel das 
lääängste eben)
Und wenn ich dann schon rumspiele würde ich auch die BoD aktivieren. Den 
BoD-Level würde ich auf 4.0V setzen, da das ganze ja in einer 5V 
SChaltung werkelt.

Soweit wäre das meine Vorstellung, ich würde mich sehr freuen, wenn 
jemand dazu Stellung nehmen könnte.

es grüßt
huygens

von Johannes M. (johnny-m)


Lesenswert?

huygens wrote:
> Ich tippe mal auf die Einstellung Ext.Crystal/Resonator mit High-Freq.
> Die Startzeit sollte doch recht unkritisch sein, oder? (Im Zweifel das
> lääängste eben)
Klingt gut. Sollte so passen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Keramikresonatoren schwingen recht schnell an, da musst du nicht
die längsten Zeiten nehmen.  Quarze haben eine höhere Güte und
brauchen daher länger zum Anschwingen.  Da du den Brownoutdetektor
sowieso anschalten musst, kannst du hier die Zeit eher kurz halten
(siehe Datenblatt).

8 MHz sind beim ATmega16 gerade noch die Grenze, die man ohne CKOPT
benutzen kann.  (CKOPT erhöht die Stromaufnahme, da der Oszillator
dann stärker ausgesteuert wird.)

Ich würde mit einer lfuse von 0b00101110 (= 0x2e) ins Rennen gehen.

von huygens (Gast)


Lesenswert?

Danke schonmal für eure schnellen Tipps.
Ich habe jetzt die lfuse auf 2E geschrieben, nur leider muckst sich der 
Gute nun nicht mehr.
Programmieren funktioniert noch tadellos, nur versagt das 
LED-Dimm-Programm nun seine Dienste, obwohl es vorher prima lief.
Habe auch schon F_CPU auf 8000000 geändert, allerdings ohne Ergebnis.

Woran könnte das liegen?
Vielleicht doch mehr Saft auf den Reso?

von Stefan B. (stefan) Benutzerseite


Lesenswert?

1/ Hast du Vcc am Atmega16 (Messung GND direkt am µC und Plus-pol 
Multimeter direkt am Vcc-Pin) bereits nachgemessen?

D.h. ob die 4,0V erreicht werden, ab der der µC wegen Brownout erst 
loslaufen darf...

2/ Wie sieht denn das LED-Dimm-Programm aus?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

> Programmieren funktioniert noch tadellos

Dann läuft der Takt auch, sonst würde das ISP nicht mehr gehen.

Was passiert denn, wenn du den internen RC-Oszillator mit 8 MHz
auswählst (lfuse = 0xe4)?

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.