Takterzeugung_Fusebits
(armin77, 01.01.2013, 19:58:50)
Ein ATMEGA 8, wie auch viele andere AVR werden mit einem
voreingestelltem 1 MHZ RC Oszillator geliefert.
Genaueres siehe entsprechendes Datenblatt des verwendeten AVR.
Braucht man eine schnelle oder genaue Taktfrequenz braucht man einen Quarz
So wird ein Quarz an den AVR angeschlossen:
Jetzt müssen wir dies in den Fuses einstellen sonst läuft der AVR mit dem 1 MHZ RC Oszillator weiter.
Fusebiteinstellung über das AVR Studio 4
Hier ein Beispiel mit dem AVR Studio 4.
Wir schließen den Programmer an den AVR an und starten das AVR Studio.
Wir öffnen die Fuses Einstellungen
mit Tools > Program AVR>Auto connect.
Wir gehen auf den Reiter Fuses und sehen folgendes Bild:
Hier kann die Taktfrequenz mit dem internen Oszillator auf 1,2,4 oder 8MHZ eingestellt werden.
Brauchen wir eine schnellere oder genauere Taktfrequenz so müssen wir einen Quarz anschließen und
es in den Fuses einstellen:
Jetzt noch die neue Takteinstellung in den AVR schreiben:
Vorsicht vor dem Kästchen RSTDISBL.
Damit wird der Reset Eingang zum normalen Port und der AVR kann nicht mehr mit einem ISP Programmer
programmiert werden.
Für das Kästchen SPIEN gilt das Gleiche. Es schaltet die SPI Schnittstelle ab und man hat sich ausgesperrt.
Im allgemeinen gilt, lieber 10 Mal überlegen was man ändert bevor der AVR verfust und damit unbrauchbar ist.
Die neue Taktfrequenz muß in den Bascom Programmen natürlich angegeben werden.
$regfile = "m8def.dat"
$Crystal=1000000 <-- Neue Frequenz angeben
$hwstack=40
$swstack=16
$framesize=32
$Crystal=1000000 <-- Neue Frequenz angeben
$hwstack=40
$swstack=16
$framesize=32
Fusebit mit Bascom einstellen
Man kann die Fusebit auch über Bascom direkt einstellen.
Den AVR mit dem Programmer an den PC anschließen und auf den Pfeil neben dem "grünen Sockel" klicken.
Manuell Programmieren anwählen.
Jetzt sehen wird die Werkseinstellungen (Fusebits) auf einen Blick.
Oben der verwendete AVR, die Größe des Programmspeicher und die Größe des internen EEPROM.
Vorsicht vor dem Fusebit I. Hier wird der SPI ausgeschaltet und der AVR kann nicht mehr mit einem ISP Programmer
programmiert werden.
Mit dem Fusebit M kann man den Reset-Pin zum normalen Port umschalten. Der AVR kann aber dann auch nicht
mehr mit einem ISP Programmer programmiert werden. Aber man hat einen Port gewonnen.
Hier lassen sich die Taktfrequenzen von 1Mhz bis 8Mhz mit dem internen RC Oszillator auswählen und mit dem Knopf "Write FS"
programmieren.
Schließen wir einen Quarz an müssen wir in den Fusebit "Ext. Crystal/Resonator" wählen und mit Write FS den AVR programmieren.
Besonderheit bei den Attiny Fuse Bit
Bei den kleinen Attiny 25/45/85/13 etc. gibt es eine Besonderheit
Dort kann zusätzlich zu der Taktfrequenz noch ein Vorteiler durch 8 ein und ausgeschaltet werden.
Bei ausgewählter Taktfrequenz von 8 Mhz und eingeschaltetem Vorteiler ergibt dies eine Taktfrequenz von 1 Mhz.
Diese 1Mhz muß man in Bascom angeben.
Besonderheit bei den größeren ATmega mit JTAG Schnittstelle (ATMega 16 aufwärts)
Auch bei den größeren ATMega`s gibt es eine Besonderheit. Diese verfügen über eine JTAG Schnittstelle.
Wenn man sich wundert das Portc.2 und Portc.5 nicht so funktionieren wie erwartet, liegt das an der
werkseitig aktivierten JTAG Schnittstelle.
Diese kann in den Fusebit gefahrlos deaktiviert werden.