Preliminary Technical Data
ADM1068
•
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.
In the ADM1068, 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 30.
1
2
3
4
5
6
7
8
The master sends a command code that tells the slave
device to erase the page. The ADM1068 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.
RAM
SLAVE
ADDRESS
S
W
A
ADDRESS
A
DATA
A
P
(0x00 TO 0xDF)
Figure 30. 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 31.
1
2
3
4
5
6
COMMAND
BYTE
(0xFE)
SLAVE
ADDRESS
S
W
A
A
P
1
2
3
4
5
6
7
8
EEPROM
ADDRESS
EEPROM
ADDRESS
Figure 29. EEPROM Page Erasure
SLAVE
S
W
A
A
A
P
ADDRESS
HIGH BYTE
(0xF8 TO 0xFB)
LOW BYTE
(0x00 TO 0xFF)
As soon as the ADM1068 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 ADM1068 is
accessed before erasure is complete, it responds with a no
acknowledge (NACK).
Figure 31. 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.
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:
•
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 32.
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).
1
2
3
4
5
6
7
8
9
10
EEPROM
ADDRESS
HIGH BYTE
(0xF8 TO 0xFB)
EEPROM
ADDRESS
LOW BYTE
(0x00 TO 0xFF)
SLAVE
ADDRESS
S
W
A
A
A
DATA
A
P
3. The addressed slave device asserts ACK on SDA.
4. The master sends a command code.
5. The slave asserts ACK on SDA.
Figure 32. 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 ADM1068, a send byte opera-
tion sets a RAM address, and a write byte/word operation sets
an EEPROM address, as follows:
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).
1. The master device asserts a start condition on SDA.
9. The slave asserts ACK on SDA.
2. The master sends the 7-bit slave address followed by
the write bit (low).
10. The master asserts a stop condition on SDA to end the
transaction.
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 ADM1068 command
code for a block write is 0xFC (1111 1100).
Rev. PrB | Page 23 of 28