
ADM1069
Preliminary Technical Data
Rev. PrB | Page 28 of 32
5
6
P
To erase a page of EEPROM memory. EEPROM memory
can be written to only if it is unprogrammed. Before
writing to one or more EEPROM memory locations that
are already programmed, the page or pages containing
those locations must first be erased. EEPROM memory is
erased by writing a command byte.
The master sends a command code that tells the slave
device to erase the page. The ADM1069 command code for
a page erasure is 0xFE (1111 1110). Note that, for a page
erasure to take place, the page address has to be given in
the previous write word transaction (see the Write
Byte/Word section). Also, Bit 2 in the UPDCFG register
(Address 0x90) must be set to 1.
0
2
4
1
3
SLAVE
ADDRESS
COMMAND
BYTE
(0xFE)
S
W
A
A
Figure 39. EEPROM Page Erasure
As soon as the ADM1069 receives the command byte, page
erasure begins. The master device can send a stop
command as soon as it sends the command byte. Page
erasure takes approximately 20 ms. If the ADM1069 is
accessed before erasure is complete, it responds with a no
acknowledge (NACK).
Write Byte/Word
In a write byte/word operation, the master device sends a
command byte and one or two data bytes to the slave device, as
follows:
1.
The master device asserts a start condition on SDA.
2.
The master sends the 7-bit slave address followed by the
write bit (low).
3.
The addressed slave device asserts ACK on SDA.
4.
The master sends a command code.
5.
The slave asserts ACK on SDA.
6.
The master sends a data byte.
7.
The slave asserts ACK on SDA.
8.
The master sends a data byte (or asserts a stop condition at
this point).
9.
The slave asserts ACK on SDA.
10.
The master asserts a stop condition on SDA to end the
transaction.
In the ADM1069, the write byte/word protocol is used for three
purposes:
To write a single byte of data to RAM. In this case, the
command byte is the RAM address from 0x00 to 0xDF and
the only data byte is the actual data, as shown in Figure 40.
0
SLAVE
ADDRESS
RAM
ADDRESS
(0x00 TO 0xDF)
S
W A
DATA
A
P
A
2
4
1
3
5
7
6
8
Figure 40. Single Byte Write to RAM
To set up a 2-byte EEPROM address for a subsequent read,
write, block read, block write, or page erase. In this case, the
command byte is the high byte of the EEPROM address
from 0xF8 to 0xFB. The only data byte is the low byte of
the EEPROM address, as shown in Figure 41.
0
SLAVE
ADDRESS
EEPROM
HIGH BYTE
(0xF8 TO 0xFB)
S
W A
EEPROM
LOW BYTE
(0x00 TO 0xFF)
A
P
A
2
4
1
3
5
7
6
8
Figure 41. Setting an EEPROM Address
Note, for page erasure, that because a page consists of
32 bytes, only the three MSBs of the address low byte are
important. The lower five bits of the EEPROM address low
byte specify the addresses within a page and are ignored
during an erase operation.
To write a single byte of data to EEPROM. In this case, the
command byte is the high byte of the EEPROM address
from 0xF8 to 0xFB. The first data byte is the low byte of the
EEPROM address, and the second data byte is the actual
data, as shown in Figure 42.
0
SLAVE
ADDRESS
EEPROM
ADDRESS
(0HIGH BYTE
S
W A
EEPROM
ADDRESS
(0LOW BYTE
A
P
A
2
4
1
3
5
7
A
9
DATA
8
6
10
Figure 42. Single Byte Write to EEPROM
Block Write
In a block write operation, the master device writes a block of
data to a slave device. The start address for a block write must
have been set previously. In the ADM1069, a send byte opera-
tion sets a RAM address, and a write byte/word operation sets
an EEPROM address, as follows:
1.
The master device asserts a start condition on SDA.
2.
The master sends the 7-bit slave address followed by
the write bit (low).
3.
The addressed slave device asserts ACK on SDA.
4.
The master sends a command code that tells the slave
device to expect a block write. The ADM1069 command
code for a block write is 0xFC (1111 1100).