ADM1034
Rev. 0 | Page 14 of 40
REGISTER ADDRESSES FOR
SINGLE/BLOCK BYTE MODES
The ADM1034 supports single-byte as well as block read and
write operations. The register address determines whether a
single-byte or multiple-byte (block) operation is run. For a
single-byte operation, the MSB of the register address is set to 0;
for a multiple-byte operation, it is set to 1. The number of bytes
read in a multiple-byte operation is set in the #Bytes/Block Read
Register at Address 0x00. The number of bytes written to the
ADM1034 is specified during the block-write operation. The
addresses quoted in the register map and throughout this data
sheet assume single-byte operation. For multiple-byte
operations, set the MSB of each register address to 1.
WRITE OPERATIONS
The SMBus specifications define protocols for read and write
operations. The ADM1034 supports send-byte, write-byte, and
block-byte SMBus write protocols. The following abbreviations
are used in the diagrams:
S—START
P—STOP
R—READ
W—WRITE
A—ACKNOWLEDGE
A—NO ACKNOWLEDGE
Send Byte
In this operation, the master device sends a single-command
byte to a slave device as follows:
1.
The master device asserts a start condition on SDA.
2.
The master sends a 7-bit address followed by the write bit
(low).
3.
The addressed slave device asserts ACK on SDA.
4.
The master sends the register address.
5.
The slave asserts ACK on SDA.
6.
The master asserts a stop condition on SDA, and the
transaction ends.
SLAVE
ADDRESS
S
REG
ADDRESS
W A
A P
04918-0-018
Figure 21. Send Byte
The ADM1034 uses the send-byte operation to write a register
address to the APR for a subsequent read from the same
address. (See
Figure 24.) The user may be required to read data
from the register immediately after setting up the address. If so,
the master can assert a repeat start condition immediately after
the final ACK and carry out a single-byte read without asserting
an intermediate stop condition.
Write Byte
In this operation, the master device sends a register address and
one data byte to the slave device as follows:
1.
The master asserts a start condition on SDA.
2.
The master sends the 7-bit slave address followed by a
write bit (low).
3.
The addressed slave device asserts ACK on SDA.
4.
The master sends the register address. The MSB of the
register address should equal 0 for a write-byte operation.
If the MSB equals 1, a block-write operation takes place.
5.
The slave asserts ACK on SDA.
6.
The master sends a data byte.
7.
The slave asserts ACK on SDA.
8.
The master asserts a stop condition on SDA to end the
transaction.
SLAVE
ADDRESS
S
REG
ADDRESS
DATA
W A
A
P
04918-0-019
Figure 22. Write Byte Operation
Block Write
In this operation, the master device writes a block of data to a
slave address as follows. A maximum of 32 bytes can be written.
1.
The master asserts a start condition on SDA.
2.
The master sends the 7-bit slave address followed by a
write bit (low).
3.
The addressed slave device asserts ACK on SDA.
4.
The master sends the register address. The register address
sets up the address pointer register and determines
whether a block-write (MSB = 1) or a byte-write (MSB = 0)
takes place.
5.
The slave asserts ACK on SDA.
6.
The master sends the byte count.
7.
The slave asserts ACK on SDA.
8.
The master sends N data bytes.
9.
The slave asserts ACK on SDA after each byte.
10. The master asserts a stop condition on SDA to end the
transaction.
SLAVE
ADDRESS
S
BYTE
COUNT
DATA 2
DATA 1
REGISTER
ADDRESS
W A
A P
A
DATA N
A
04918-
0-
020
Figure 23. Block Write to RAM