ATtiny22/22L
37
Note:
a = address high bits
b = address low bits
i = data in
o = data out
x = don’t care
1 = Lock Bit1
2 = Lock Bit2
R = RCEN Fuse
S = SPIEN Fuse
High-Voltage Serial Programming Characteristics
Figure 32. High-Voltage Serial Programming Timing
Read EEPROM
byte
PB0
PB1
PB2
0_0000_0000_00
0_0110_1000_00
x_xxxx_xxxx_xx
0_0000_0000_00
0_0110_1100_00
o_oooo_ooox_xx
Repeat Instr.2 for each new
address
Write Fuse bits
PB0
PB1
PB2
0_0100_0000_00
0_0100_1100_00
x_xxxx_xxxx_xx
0_11S1_111R_00
0_0010_1100_00
x_xxxx_xxxx_xx
0_0000_0000_00
0_0110_0100_00
x_xxxx_xxxx_xx
0_0000_0000_00
0_0110_1100_00
x_xxxx_xxxx_xx
Wait
t
WLWH_PFB
after Instr.3 for the
Write Fuse bits cycle to finish. Set
S,R = “0” to program, “1” to
unprogram.
Write Lock bits
PB0
PB1
PB2
0_0010_0000_00
0_0100_1100_00
x_xxxx_xxxx_xx
0_1111_1
21
1_00
0_0010_1100_00
x_xxxx_xxxx_xx
0_0000_0000_00
0_0110_0100_00
x_xxxx_xxxx_xx
0_0000_0000_00
0_0110_1100_00
0_0000_0000_00
Wait after Instr.4 until PB2 goes
high. Write
2
,
1
= “0” to program
the Lock bit.
Read Fuse and
Lock bits
PB0
PB1
PB2
0_0000_0100_00
0_0100_1100_00
x_xxxx_xxxx_xx
0_0000_0000_00
0_0110_1000_00
x_xxxx_xxxx_xx
0_0000_0000_00
0_0110_1100_00
1
_
2
Sxx_xxRx_xx
Reading
1
,
2
, S, R = “0” means the
Fuse/Lock bit is programmed.
Read Signature
Bytes
PB0
PB1
PB2
0_0000_1000_00
0_0100_1100_00
x_xxxx_xxxx_xx
0_0000_00bb_00
0_0000_1100_00
x_xxxx_xxxx_xx
0_0000_0000_00
0_0110_1000_00
x_xxxx_xxxx_xx
0_0000_0000_00
0_0110_1100_00
o_oooo_ooox_xx
Repeat Instr.2 - Instr.4 for each
Signature byte address
Table 14. High-Voltage Serial Programming Instruction Set (Continued)
Instruction
Instruction Format
Operation Remarks
Instr.1
Instr.2
Instr.3
Instr.4
SDI (PB0), SII (PB1)
SDO (PB2)
SCI (PB3)
t
IVSH
t
SHSL
t
SLSH
t
SHIX
t
SHOV