9.2.1 Reading the Status of a ROM Zone Register

To check the current status of a ROM Zone register, the host must emulate a random read sequence with the exception that the opcode 0111b (7h) will be used. The dummy write portion of the random read sequence is needed to specify which ROM Zone register address is to be read.

This sequence begins when the host sends a Start condition, followed by a device address byte with the opcode of 7h in the four Most Significant bits, along with the appropriate client address combination and the Read/Write bit set to a logic ‘0’. The AT21CS01/AT21CS11 will respond with an ACK.

Following this device address byte is an 8-bit ROM Zone register address byte. The four Most Significant bits are not used and are, therefore, “don’t care” bits. The address sent to the device must match one of the ROM Zone register addresses specified in Table 9-2. After the ROM Zone register address has been sent, the AT21CS01/AT21CS11 will return an ACK (logic ‘0’).

Subsequently, an additional Start condition is sent to the device with the same device address byte as before, but now with the Read/Write bit set to a logic ‘1’, to which the device will return an ACK. After the AT21CS01/AT21CS11 has sent the ACK, the device will output either a 00h or FFh data byte. A 00h data byte indicates that the ROM Zone register is zero, meaning the zone has not been set as ROM. If the device outputs FFh data, then the memory zone has been set to ROM and cannot be altered.

Table 9-3. Read ROM Zone Register – Output Data
Output DataROM Zone Register Value
00hROM Zone register value is zero (zone is not set as ROM).
FFhROM Zone register value is one (zone is permanently set as ROM).
Figure 9-1. Reading the State of a ROM Zone Register