
356
7682C–AUTO–04/08
AT90CAN32/64/128
2g. Write Flash Page
0110111_00000000
0110101_00000000
0110111_00000000
xxxxxxx_xxxxxxxx
2h. Poll for Page Write Complete
0110111_00000000
xxxxxox_xxxxxxxx
3a. Enter Flash Read
0100011_00000010
xxxxxxx_xxxxxxxx
3b. Load Address High Byte
0000111_aaaaaaaa
xxxxxxx_xxxxxxxx
3c. Load Address Low Byte
0000011_bbbbbbbb
xxxxxxx_xxxxxxxx
3d. Read Data Low and High Byte
0110010_00000000
0110110_00000000
0110111_00000000
xxxxxxx_xxxxxxxx
xxxxxxx_oooooooo
Low byte
High byte
4a. Enter EEPROM Write
0100011_00010001
xxxxxxx_xxxxxxxx
4b. Load Address High Byte
0000111_aaaaaaaa
xxxxxxx_xxxxxxxx
4c. Load Address Low Byte
0000011_bbbbbbbb
xxxxxxx_xxxxxxxx
4d. Load Data Byte
0010011_iiiiiiii
xxxxxxx_xxxxxxxx
4e. Latch Data
0110111_00000000
1110111_00000000
0110111_00000000
xxxxxxx_xxxxxxxx
4f. Write EEPROM Page
0110011_00000000
0110001_00000000
0110011_00000000
xxxxxxx_xxxxxxxx
4g. Poll for Page Write Complete
0110011_00000000
xxxxxox_xxxxxxxx
5a. Enter EEPROM Read
0100011_00000011
xxxxxxx_xxxxxxxx
5b. Load Address High Byte
0000111_aaaaaaaa
xxxxxxx_xxxxxxxx
5c. Load Address Low Byte
0000011_bbbbbbbb
xxxxxxx_xxxxxxxx
5d. Read Data Byte
0110011_bbbbbbbb
0110010_00000000
0110011_00000000
xxxxxxx_xxxxxxxx
xxxxxxx_oooooooo
6a. Enter Fuse Write
0100011_01000000
xxxxxxx_xxxxxxxx
6b. Load Data Low Byte
(8)0010011_iiiiiiii
xxxxxxx_xxxxxxxx
6c. Write Fuse Extended Byte
0111011_00000000
0111001_00000000
0111011_00000000
xxxxxxx_xxxxxxxx
6d. Poll for Fuse Write Complete
0110111_00000000
xxxxxox_xxxxxxxx
6e. Load Data Low Byte
(9)0010011_iiiiiiii
xxxxxxx_xxxxxxxx
Table 25-16. JTAG Programming Instruction (Continued)
Set a = address high bits, b = address low bits, H = 0 - Low byte, 1 - High Byte, o = data out, i = data in, x = don’t care
Instruction
TDI Sequence(1)(2)
TDO Sequence(1)(2)
Notes