2 security register, 1 programming the security register – Rainbow Electronics AT45DB161D User Manual

Page 18

Advertising
background image

18

3500O–DFLASH–11/2012

AT45DB161D

10.2

Security Register

The device contains a specialized Security Register that can be used for purposes such as unique device
serialization or locked key storage. The register is comprised of a total of 128-bytes that is divided into two
portions. The first 64-bytes (byte locations 0 through 63) of the Security Register are allocated as a one-time user
programmable space. Once these 64-bytes have been programmed, they cannot be reprogrammed. The
remaining 64-bytes of the register (byte locations 64 through 127) are factory programmed by Adesto and will
contain a unique value for each device. The factory programmed data is fixed and cannot be changed.

Table 10-5.

Security Register

10.2.1 Programming the Security Register

The user programmable portion of the Security Register does not need to be erased before it is programmed.

To program the Security Register, the CS pin must first be asserted and the appropriate 4-byte opcode sequence
must be clocked into the device in the correct order. The 4-byte opcode sequence must start with 9BH and be
followed by 00H, 00H, and 00H. After the last bit of the opcode sequence has been clocked into the device, the
data for the contents of the 64-byte user programmable portion of the Security Register must be clocked in.

After the last data byte has been clocked in, the CS pin must be deasserted to initiate the internally self-timed
program cycle. The programming of the Security Register should take place in a time of t

P

, during which time the

Status Register will indicate that the device is busy. If the device is powered-down during the program cycle, then
the contents of the 64-byte user programmable portion of the Security Register cannot be guaranteed.

If the full 64-bytes of data is not clocked in before the CS pin is deasserted, then the values of the byte locations
not clocked in cannot be guaranteed. For example, if only the first two bytes are clocked in instead of the complete
64-bytes, then the remaining 62-bytes of the user programmable portion of the Security Register cannot be
guaranteed. Furthermore, if more than 64-bytes of data is clocked into the device, then the data will wrap back
around to the beginning of the register. For instance, if 65-bytes of data are clocked in, then the 65

th

byte will be

stored at byte location 0 of the Security Register.

The user programmable portion of the Security Register can only be programmed one time. Therefore, 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.

The Program Security Register command utilizes the internal SRAM buffer 1 for processing. Therefore, the
contents of the buffer 1 will be altered from its previous state when this command is issued.

Figure 10-3. Program Security Register

Security Register Byte Number

0

1

· · ·

62

63

64

65

· · ·

126

127

Data Type

One-time User Programmable

Factory Programmed By Adesto

Data Byte

n

Opcode

Byte 1

Opcode

Byte 2

Opcode

Byte 3

Opcode

Byte 4

Data Byte

n + 1

Data Byte

n + x

CS

Each transition
represents eight bits

SI

Advertising