32 Atmel AT25DF641
3680F–DFLASH–4/10
Table 9-4. OTP Security Register
Security Register
Byte Number
0 1 . . . 62 63 64 65 . . . 126 127
One-Time User Programmable Factory Programmed by Atmel
The user-programmable portion of the OTP Security Register does not need to be erased before it is
programmed. In addition, the Program OTP Security Register command operates on the entire 64-byte user-
programmable portion of the OTP Security Register at one time. Once the user-programmable space has been
programmed with any n umber of by tes, the user-progr ammable s pace cannot be progr ammed aga in; therefo re, it
is not possible to only program the first two bytes of the register and then program the remaining 62-bytes at a
later time.
Before the Progra m OTP S ecurity R egister command can be is sued, the Writ e Enab le comman d must h ave been
previously is s ued to s e t th e W EL bit in the S tatus R eg i s ter t o a logic a l “1” . T o pr o gr am t he OTP Sec urity R e gis ter ,
the pin must first be asserted and an opcode of 9Bh must be clocked into the device followed by the three
address bytes denoting the first byte location of the OTP Security Register to begin programming at. Since the
size of the user-programm able portion of the OTP Security Register is 64-bytes, the upper order address bits do
not need to be decoded by the device. Therefore, address bits A23-A6 will be ignored by the device and their
values can be either a logical “1” or “0”. After the address bytes have been clocked in, data can then be clocked
into the device and will be stored in the internal buffer.
If the starting memory address denoted by A23-A0 does not start at the beginning of the OTP Security Register
memory space (A5-A0 ar e not al l 0), then s pecial c ircumstanc es regar ding wh ich O TP Security Regis ter loc ations
to be pr ogrammed will app ly. In t his situa tion, any data th at is sent to the device that goes beyond the end of the
64-byte user-programmable space will wrap around back to the beginning of the OTP Security Register. For
example, if the starting address denoted by A23-A0 is 00003Eh, and three bytes of data are sent to the device,
then the first two bytes of data will be programmed at OTP Security Register addresses 00003Eh and 00003Fh
while the last byte of data will be programmed at address 000000h. The remaining bytes in the OTP Security
Register (addresses 000001h through 00003Dh) will not be programmed and will remain in the erased state
(FFh). In addition, if more than 64-bytes of data are sent to the device, then only the last 64-bytes sent will be
latched into the internal buffer.
When the pin is deasserted, the device will take the data stored in the internal buffer and program it into the
appropriate OTP Security Register locations based on the starting address specified by A23-A0 and the number
of data bytes sent to the device. If less than 64-bytes of data were sent to the device, then the remaining bytes
within the OTP Security Register will not be programmed and will remain in the erased state (FFh). The
programmi ng of the dat a bytes is interna lly self-tim ed and sho uld take pl ace in a time of tOTPP. It is not possi ble to
suspend the programming of the OTP Security Register.
The three addr es s by tes an d at le as t on e c omp let e byt e of dat a must be cloc k ed int o th e devic e befor e the pin
is deasserted, and the pin must be deasserted on even byte boundaries (multiples of eight bits); otherwise, the
device will abort the operation and the user-programmable portion of the OTP Security Register will not be
programmed. The WEL bit in the Status Register will be reset back to the logical “0” state if the OTP Security
Register program cycle aborts due to an incomplete address being sent, an incomplete byte of data being sent,
the pin being deasserted on uneven byte boundaries , or because the user -programmable portion of the O TP
Security Register was previously programmed.
While the devic e is pr o gr a mming t he OT P Secur ity Register, th e Sta tus Register c an be read and will indic a te that
the devic e is b us y . For f as ter thr ou ghp ut , it is r ec o mm ende d t hat the St at us R eg i ster be po lle d rat her t han waiting
the tOTPP time to determine if the data bytes have finished programming. At some point before the OTP Security
Register programming completes, the WEL bit in the Status Register will be reset back to the logical “0” state.