Good to Know Database

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

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

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

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 ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer