Datasheet

ADM1069
Rev. C | Page 30 of 32
6
9.
The ADM1069 sends a byte-count data byte that tells the
master how many data bytes to expect. The ADM1069
always returns 32 data bytes (0x20), which is the maximum
allowed by the SMBus Version 1.1 specification.
READ OPERATIONS
The ADM1069 uses the following SMBus read protocols.
Receive Byte
10.
The master asserts an ACK on SDA.
In a receive byte operation, the master device receives a single
byte from a slave device, as follows:
11.
The master receives 32 data bytes.
12.
The master asserts an ACK on SDA after each data byte.
1.
The master device asserts a start condition on SDA.
13.
The master asserts a stop condition on SDA to end the
transaction.
2.
The master sends the 7-bit slave address followed by the
read bit (high).
3.
The addressed slave device asserts an ACK on SDA.
04735-046
SLAVE
ADDRESS
SWA
2
COMMAND 0xFD
(BLOCK READ)
413
A
5
S
6
SLAVE
ADDRESS
7
BYTE
COUNT
910 1211
ARA
8
DATA
1
DATA
32
A
13
P
A
4. The master receives a data byte.
5.
The master asserts a NACK on SDA.
6.
The master asserts a stop condition on SDA, and the
transaction ends.
In the ADM1069, 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, as shown in Figure 45.
Figure 46. Block Read from the EEPROM or RAM
Error Correction
The ADM1069 provides the option of issuing a packet error
correction (PEC) byte after a write to the RAM, a write to the
EEPROM, a block write to the RAM/EEPROM, or a block read
from the RAM/ EEPROM. This option enables the user to verify
that the data received by or sent from the ADM1069 is correct.
The PEC byte is an optional byte sent after the last data byte has
been written to or read from the ADM1069. The protocol is the
same as a block read for Step 1 to Step 12 and then proceeds as
follows:
04735-045
23145
SLAVE
ADDRESS
S R DATA PA
A
Figure 45. Single Byte Read from the EEPROM or RAM
Block Read
In a block read operation, the master device reads a block of
data from a slave device. The start address for a block read must
have been set previously. In the ADM1069, this is done by a
send byte operation to set a RAM address, or a write byte/word
operation to set an EEPROM address. The block read operation
itself consists of a send byte operation that sends a block read
command to the slave, immediately followed by a repeated start
and a read operation that reads out multiple data bytes, as
follows:
13.
The ADM1069 issues a PEC byte to the master. The master
checks the PEC byte and issues another block read, if the
PEC byte is incorrect.
14.
A NACK is generated after the PEC byte to signal the end
of the read.
15.
The master asserts a stop condition on SDA to end the
transaction.
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).
Note that the PEC byte is calculated using CRC-8. The frame
check sequence (FCS) conforms to CRC-8 by the polynomial
3.
The addressed slave device asserts an ACK on SDA.
C(x) = x
8
+ x
2
+ x
1
+ 1
4.
The master sends a command code that tells the slave
device to expect a block read. The ADM1069 command
code for a block read is 0xFD (1111 1101).
See the SMBus Version 1.1 specification for details.
An example of a block read with the optional PEC byte is shown
in Figure 47.
5.
The slave asserts an ACK on SDA.
6.
The master asserts a repeat start condition on SDA.
04735-047
SLAVE
ADDRESS
SWA
2
COMMAND 0xFD
(BLOCK READ)
413
A
5
S
6
SLAVE
ADDRESS
7
BYTE
COUNT
910 1211
ARA
8
DATA
1
DATA
32
A
13
PEC
14
A
15
P
A
7. The master sends the 7-bit slave address followed by the
read bit (high).
8.
The slave asserts an ACK on SDA.
Figure 47. Block Read from the EEPROM or RAM with PEC