beautypg.com

Reset register, Programming enable register, Programming command register – Rainbow Electronics ATmega3290P_V User Manual

Page 304

background image

304

ATmega329/3290/649/6490

2552H–AVR–11/06

Reset Register

The Reset Register is a Test Data Register used to reset the part during programming. It
is required to reset the part before entering Programming mode.

A high value in the Reset Register corresponds to pulling the external reset low. The
part is reset as long as there is a high value present in the Reset Register. Depending
on the Fuse settings for the clock options, the part will remain reset for a Reset Time-out
period (refer to “Clock Sources” on page 26) after releasing the Reset Register. The out-
put from this Data Register is not latched, so the reset will take place immediately, as
shown in Figure 109 on page 244.

Programming Enable Register

The Programming Enable Register is a 16-bit register. The contents of this register is
c o m p a r e d t o t h e p r o g r a m m i n g e n a b l e s i g n a t u r e , b i n a r y c o d e
0b1010_0011_0111_0000. When the contents of the register is equal to the program-
ming enable signature, programming via the JTAG port is enabled. The register is reset
to 0 on Power-on Reset, and should always be reset when leaving Programming mode.

Figure 133. Programming Enable Register

Programming Command
Register

The Programming Command Register is a 15-bit register. This register is used to seri-
ally shift in programming commands, and to serially shift out the result of the previous
command, if any. The JTAG Programming Instruction Set is shown in Table 138. The
state sequence when shifting in the programming commands is illustrated in Figure 135.

Figure 134. Programming Command Register

TDI

TDO

D

A

T

A

=

D

Q

ClockDR & PROG_ENABLE

Programming Enable

0xA370

TDI

TDO

S

T

R

O

B

E

S

A

D

D

R

E

S

S

/

D

A

T

A

Flash

EEPROM

Fuses

Lock Bits