beautypg.com

Programming the fuse low bits, Programming the fuse high bits, Programming the lock bits – Rainbow Electronics ATmega163L User Manual

Page 130: Reading the fuse and lock bits, Atmega163(l)

background image

ATmega163(L)

130

Programming the Fuse Low Bits

The algorithm for programming the Fuse Low bits is as follows (refer to “Programming the Flash” on page 126 for details on
Command and Data loading):

1.

A: Load Command ‘0100 0000’.

2.

C: Load Data Low Byte. Bit n = ‘0’ programs and bit n = ‘1’ erases the Fuse bit.
Bit 7 = BODLEVEL Fuse bit
Bit 6 = BODEN Fuse bit
Bit 5 = SPIEN Fuse bit
Bit 3..0 = CKSEL3..0 Fuse bits
Bit 4 = ‘1’. This bit is reserved and should be left unprogrammed (‘1’).

3.

Give WR a negative pulse and wait for RDY/BSY to go high.

Programming the Fuse High Bits

The algorithm for programming the Fuse high bits is as follows (refer to “Programming the Flash” on page 126 for details on
Command and Data loading):

1.

A: Load Command ‘0100 0000’.

2.

C: Load Data High Byte. Bit n = ‘0’ programs and bit n = ‘1’ erases the Fuse bit.
Bit 2..1 = BOOTSZ1..0 Fuse bits
Bit 0 = BOOTRST Fuse bit
Bit 7..3 = ‘1’. These bits are reserved and should be left unprogrammed (‘1’).

3.

Set BS1 to ‘1’. This selects high data byte.

4.

Give WR a negative pulse and wait for RDY/BSY to go high.

5.

Set BS1 to ‘0’. This selects low data byte.

Programming the Lock Bits

The algorithm for programming the Lock bits is as follows (refer to “Programming the Flash” on page 126 for details on
Command and Data loading):

1.

A: Load Command ‘0010 0000’.

2.

D: Load Data Low Byte. Bit n = ‘0’ programs the Lock bit.
Bit 5 = Boot Lock Bit12
Bit 4 = Boot Lock Bit11
Bit 3 = Boot Lock Bit02
Bit 2 = Boot Lock Bit01
Bit 1 = Lock Bit2
Bit 0 = Lock Bit1
Bit 7..6 = ‘1’. These bits are reserved and should be left unprogrammed (‘1’).

3.

L: Write Data Low Byte.

The Lock bits can only be cleared by executing Chip Erase.

Reading the Fuse and Lock Bits

The algorithm for reading the Fuse and Lock bits is as follows (refer to “Programming the Flash” on page 126 for details on
Command loading):

1.

A: Load Command ‘0000 0100’.

2.

Set OE to ‘0’, BS2 to ‘0’ and BS1 to ‘0’. The status of the Fuse Low bits can now be read at DATA (‘0’ means pro-
grammed).
Bit 7 = BODLEVEL Fuse bit
Bit 6 = BODEN Fuse bit
Bit 5 = SPIEN Fuse bit
Bit 3..0 = CKSEL3..0 Fuse bits