Die Fuse-Bits
Die Fuse-Bits eines Mikrocontrollers dienen zu dessen Konfiguration und können von der darauf laufenden Software nicht verändert werden. Durch die Fuse-Bits können gewisse Funktionen eines Mikrocontrollers ein- oder ausgeschaltet werden und sind nichts anderes als programmierbare Speicherzellen.
Je nach Mikrocontroller gibt es mehrere Fuse-Bits die zum Low-Fuse-Byte, High-Fuse-Byte und zum Extended-Fuse-Byte zusammengefasst werden. Nicht jeder Mikrocontroller verfügt über ein vollständiges Low-Fuse-Byte oder über ein High-Fuse-Byte und/oder ein Extended-Fuse-Byte. Informationen zu den Fuse-Bits Ihres Mikrocontrollers finden Sie in der Regel im dazugehörigen Datenblatt.
Bei der Programmierung der Fuse-Bits müssen Sie darauf achten, dass ein programmiertes beziehungsweise aktiviertes Fuse-Bit auf den Wert 0 gesetzt wird und ein unprogrammiertes beziehungsweise deaktiviertes Fuse-Bit den Wert 1 besitzt. Zur Berechnung der Fuse-Bytes können Sie den Engbedded Atmel AVR® Fuse Calculator zu Hilfe nehmen.
Die Fuse-Bytes können Sie mit einem entsprechenden Programmieradapter über die ISP-Schnittstelle, die JTAG-Schnittstelle oder mit Hilfe der parallelen Programmierung setzen und löschen.
Hinweis: Wenn Sie die ISP- und die JTAG-Schnittstelle über die Fuse-Bits deaktiviert haben, kann der Mikrocontroller nur noch parallel programmiert werden.
Fuse-Bits des ATmega32 Mikrocontrollers
Der ATmega32 besitzt die folgenden 16 Fuse-Bits die zum Low- und High-Fuse-Byte zusammengefasst sind.
Bit Low High
7 BODLEVEL OCDEN
6 BODEN JTAGEN
5 SUT1 SPIEN
4 SUT0 CKOPT
3 CKSEL3 EESAVE
2 CKSEL2 BOOTSZ1
1 CKSEL1 BOOTSZ0
0 CKSEL0 BOOTRST
7 BODLEVEL OCDEN
6 BODEN JTAGEN
5 SUT1 SPIEN
4 SUT0 CKOPT
3 CKSEL3 EESAVE
2 CKSEL2 BOOTSZ1
1 CKSEL1 BOOTSZ0
0 CKSEL0 BOOTRST
Fuse-Bits des ATmega644P Mikrocontrollers
Der ATmega644P besitzt die folgenden 19 Fuse-Bits die zum Low-, High- und Extended-Fuse-Byte zusammengefasst sind.
Bit Low High Extended
7 CKDIV8 OCDEN
6 CKOUT JTAGEN
5 SUT1 SPIEN
4 SUT0 WDTON
3 CKSEL3 EESAVE
2 CKSEL2 BOOTSZ1 BODLEVEL2
1 CKSEL1 BOOTSZ0 BODLEVEL1
0 CKSEL0 BOOTRST BODLEVEL0
7 CKDIV8 OCDEN
6 CKOUT JTAGEN
5 SUT1 SPIEN
4 SUT0 WDTON
3 CKSEL3 EESAVE
2 CKSEL2 BOOTSZ1 BODLEVEL2
1 CKSEL1 BOOTSZ0 BODLEVEL1
0 CKSEL0 BOOTRST BODLEVEL0
Fuse-Bits des ATtiny2313 Mikrocontrollers
Der ATtiny2313 besitzt die folgenden 17 Fuse-Bits die zum Low-, High- und Extended-Fuse-Byte zusammengefasst sind.
Bit Low High Extended
7 CKDIV8 DWEN
6 CKOUT EESAVE
5 SUT1 SPIEN
4 SUT0 WDTON
3 CKSEL3 BODLEVEL2
2 CKSEL2 BODLEVEL1
1 CKSEL1 BODLEVEL0
0 CKSEL0 RSTDISBL SELFPRGEN
7 CKDIV8 DWEN
6 CKOUT EESAVE
5 SUT1 SPIEN
4 SUT0 WDTON
3 CKSEL3 BODLEVEL2
2 CKSEL2 BODLEVEL1
1 CKSEL1 BODLEVEL0
0 CKSEL0 RSTDISBL SELFPRGEN
Erklärungen zu den einzelnen Fuse-Bits
BODEN
BODEN steht für Brown out detector enable. Dadurch kann die Brown Out Detection aktiviert beziehungsweise deaktiviert werden.
BODLEVEL0 bis BODLEVEL2
BODLEVEL steht für Brown-out Detector trigger level. Mit diesen Fuse-Bits kann der Spannungswert eingestellt werden, bei welchem der Unterspannungsschutz aktiv werden soll. Mit dem Fuse-BIt BODEN kann diese Funktion komplett deaktiviert werden.
BOOTRST
BOOTRST steht für Select Reset Vector. Mit diesem Fuse-Bit wird bestimmt, an welche Adresse nach einem Reset gesprungen werden soll. Is das Fuse-Bit deaktiviert, springt der Mikrocontroller nach einem Reset an Adresse 0000. Bei aktiviertem Fuse-Bit springt der Mikrocontroller nach einem Reset an den Beginn des Bootloaders.
BOOTSZ0 und BOOTSZ1
BOOTSZ steht für Select Boot Size. Mit BOOTSZ wird die Größe des Speicherbereiches bestimmt, welcher für den Bootloader reserviert wird. Die Größe des Speicherbereiches ist abhängig vom Controllertyp und befindet sich immer am Ende des Flash Adressraumes.
DWEN
DWEN steht für debugWIRE Enable und aktiviert beziehungsweise deaktiviert die debugWIRE Schnittstelle.
CKDIV8
CKDIV8 steht für Divide Clock by 8. Wenn CKDIV8 aktiviert ist, wird ein Vorteiler aktiviert, welche den Takt für den Mikrocontroller durch 8 teilt.
CKOPT
CKOPT steht für Oscillator Options. Dieses Fuse-Bit wird benötigt, wenn der Mikrocontroller von einem externen Quarz getaktet wird. Wird CKOPT aktiviert, schwingt der Oszillator mit der maximalen Amplitude. Ist CKOPT deaktiviert, schwingt der Oszillator mit einer niedrigeren Amplitude. Dadurch kann die Stromaufnahme und die Störabstrahlung verringert werden.
CKOUT
CKOUT steht für Clock output. Ist dieses Fuse-Bit aktiviert, wird das CPU-Taktsignal an den CLKO Pin ausgegeben.
CKSEL0 bis CKSEL3
CKSEL steht für Select Clock Source. Durch diese Fuse-Bits legt man fest, von welcher Taktquelle der Mikrocontroller seinen Takt erhält. Eine fehlerhafte Einstellung kann den Mikrocontroller lahm legen, ist jedoch leicht wieder zu beheben.
EESAVE
Bei aktiviertem EESAVE wird das EEPROM bei einem Chip Erase vor dem Löschen geschützt. Normalerweise löscht ein Chip Erase den kompletten Speicher.
JTAGEN
JTAGEN steht für Enable JTAG. Durch JTAGEN kann die JTAG-Schnittstelle aktiviert beziehungsweise deaktiviert werden.
OCDEN
OCDEN steht für Enable OCD. Damit kann das On-Chip Debug System aktiviert beziehungsweise deaktiviert werden. Das On-Chip Debug System kann unabhängig von der JTAG-Schnittstelle deaktiviert werden. Wurde das On-Chip Debug System deaktiviert, kann der Mikrocontroller über die JTAG-Schnittstelle nur programmiert werden.
RSTDISBL
RSTDISBL steht für External reset disable. Wird dieses Fuse-Bit aktiviert, kann der Reset Pin als normaler I/O Pin genutzt werden.
Achtung: Wenn dieses Fuse-Bit aktiviert ist, kann der Controller nicht mehr über die ISP-Schnittstelle erreicht werden.
SELFPRGEN
SELFPRGEN steht für Self Programming Enable und aktiviert beziehungsweise deaktiviert die Self Programming Funktion.
SPIEN
Durch das SPIEN Fuse-Bit kann die ISP-Schnittstelle deaktiviert werden. Dieses Fuse-Bit kann nur über die parallele Programmierung verändert werden.
SUT0 und SUT1
SUT steht für Select Start-Up Time. Durch SUT0 und SUT1 lässt sich die Zeit einstellen, wie lage der Reset Impuls nach einem Reset beziehungsweise Power Up verzögert wird.
WDTON
WDTON steht für Watchdog timer always on. Dieses Fuse-Bit aktiviert den Watchdog Timer permanent. Ist dieses Fuse-Bit nicht aktiviert, kann der Watchdog per Software gesteuert werden.
Dieser Eintrag wurde am 16.08.2010 erstellt.
Direkter Link zu dieser Seite: http://www.gtkdb.de/index_18_1044.html
[ Zur Startseite ] [ Zur Kategorie ]
© 2004-2021 by Georg Kainzbauer