
ADM1026
Because the EEPROM consists of 128 pages of 64 bytes, the
EEPROM page address consists of the EEPROM address high
byte (from 80h to 9Fh) and the two MSBs of the low byte. The
lower six bits of the EEPROM address (low byte only) specify
addresses within a page and are ignored during an erase
operation.
Rev. A | Page 15 of 56
S
ASLAVE
EEPROM
ADDRESS
HIGH BYTE
(80h TO 9Fh)
1
2
3
4
5
6
A
AARDATA
7
8
EEPROM
ADDRESS
LOW BYTE
(00h TO FFh)
A Y
9 10
0
Figure 22. EEPROM Page Erasure
Page erasure takes approximately 20 ms. If the EEPROM is
accessed before erasure is complete, the ADM1026 responds
with No Acknowledge.
Last, this protocol is used to write a single byte of data to
EEPROM. In this case, the command byte is the high byte of the
EEPROM address from 80h to 9Fh. The first data byte is the low
byte of the EEPROM address, and the second data byte is the
actual data. Bit 1 of EEPROM Register 3 must be set. This is
illustrated in Figure 23.
S
ASLAVE
EEPROM
ADDRESS
HIGH BYTE
(80h TO 9Fh)
1
2
3
4
5
6
A
A
DATA
7
8
EEPROM
ADDRESS
LOW BYTE
(00h TO FFh)
A
Y
9 10
0
Figure 23. Single-Byte Write to EEPROM
Block Write
In this 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 case of the ADM1026, this is done by a
Send Byte operation to set a RAM address or by a write
byte/word operation to set an EEPROM address.
1.
The master device asserts a start condition on the SDA.
2.
The master sends the 7-bit slave address followed by the
write bit (low).
3.
The addressed slave device asserts an ACK on the SDA.
4.
The master sends a command code that tells the slave
device to expect a block write. The ADM1026 command
code for a block write is A0h (10100000).
5.
The slave asserts an ACK on the SDA.
6.
The master sends a data byte (20h) that tells the slave
device that 32 data bytes are being sent to it. The master
should always send 32 data bytes to the ADM1026.
7.
The slave asserts an ACK on the SDA.
8.
The master sends 32 data bytes.
9.
10.
The master sends a packet error checking (PEC ) byte.
11.
The ADM1026 checks the PEC byte and issues an ACK if
correct. If incorrect (NACK), the master resends the data
bytes.
12.
The master asserts a stop condition on the SDA to end the
transaction.
The slave asserts an ACK on the SDA after each data byte.
S
ASLAVE
COMMAND
A0h BLOCK
WRITE
A
A DATA 1
BYTE
COUNT
A
A
A
P
DATA 2 A
DATA
32
PEC
0
Figure 24. Block Write to EEPROM or RAM
When performing a block write to EEPROM, Bit 1 of EEPROM
Register 3 must be set.
Unlike some EEPROM devices that limit block writes to within
a page boundary, there is no limitation on the start address
when performing a block write to EEPROM, except:
There must be at least 32 locations from the start address
to the highest EEPROM address (9FFF) to avoid writing to
invalid addresses.
If the addresses cross a page boundary, both pages must be
erased before programming.
ADM1026 Read Operations
The ADM1026 uses the SMBus read protocols described here.
Receive Byte
In this operation, the master device receives a single byte from a
slave device as follows:
1.
The master device asserts a start condition on the SDA.
2.
The master sends the 7-bit slave address followed by the
read bit (high).
3.
The addressed slave device asserts an ACK on the SDA.
4.
The master receives a data byte.
5.
The master asserts a NO ACK on the SDA.
6.
The master asserts a stop condition on the SDA to end the
transaction.
In the ADM1026, the receive byte protocol is used to read a
single byte of data from a RAM or EEPROM location whose
address has previously been set by a send byte or write
byte/word operation. Figure 25 shows this. When reading from
EEPROM, Bit 0 of EEPROM Register 3 must be set.
S
SLAVE
ADDRESS
R
A
DATA
A
P
1
2
3
4
5
6
0
Figure 25. Single-Byte Read from EEPROM or RAM