ADM1027
Any number of bytes of data can be transferred over the serial
bus in one operation. However, it is not possible to mix read
and write in one operation because the type of operation is
determined at the beginning and subsequently cannot be changed
without starting a new operation.
register to be written to, which is stored in the address pointer
register. The second data byte is the data to be written to the
internal data register.
When reading data from a register, there are two possibilities:
1. If the ADM1027 address pointer register value is unknown or
not the desired value, it is first necessary to set it to the correct
value before data can be read from the desired data register.
This is done by performing a write to the ADM1027 as before,
but only sending the data byte containing the register address,
as data is not to be written to the register. This is shown in
Figure 7.
In the case of the ADM1027, write operations contain either
one or two bytes, and read operations contain one byte and
perform the following functions:
To write data to one of the device data registers or read data
from it, the address pointer register must be set so the correct
data register is addressed, then data can be written into that
register or read from it. The first byte of a write operation always
contains an address that is stored in the address pointer register.
If data is to be written to the device, then the write operation
contains a second data byte that is written to the register selected
by the address pointer register.
A read operation is then performed consisting of the serial
bus address, R/W bit set to 1, followed by the data byte read
from the data register. This is shown in Figure 8.
2. If the address pointer register is known to be already at the
desired address, data can be read from the corresponding data
register without first writing to the address pointer register,
so Figure 7 can be omitted.
This is illustrated in Figure 6. The device address is sent over
the bus followed by R/W being set to 0. This is followed by two
data bytes. The first data byte is the address of the internal data
1
9
1
9
SCL
D6
D2
0
1
0
1
1
A1
A0
D7
D5
D4
D3
D1
D0
SDA
START BY
MASTER
R/W
ACK. BY
ADM1027
ACK. BY
ADM1027
FRAME 1
SERIAL BUS ADDRESS
BYTE
FRAME 2
ADDRESS POINTER REGISTER BYTE
1
9
SCL (CONTINUED)
SDA (CONTINUED)
D2
D1
D7
D6
D5
D4
D3
D0
ACK. BY STOP BY
ADM1027 MASTER
FRAME 3
DATA
BYTE
Figure 6. Writing a Register Address to the Address Pointer Register, Then Writing Data to the Selected Register
1
0
9
1
9
SCL
SDA
D6
D2
1
0
1
1
A1
A0
D7
D5
D4
D3
D1
R/W
D0
ACK. BY
ADM1027
START BY
MASTER
ACK. BY STOP BY
ADM1027 MASTER
FRAME 1
SERIAL BUS ADDRESS
BYTE
FRAME 2
ADDRESS POINTER REGISTER BYTE
Figure 7. Writing to the Address Pointer Register Only
1
0
9
1
9
SCL
D6
D2
1
0
1
1
A1
A0
D7
D5
D4
D3
D1
R/W
D0
SDA
ACK. BY
ADM1027
START BY
MASTER
NO ACK. BY STOP BY
MASTER MASTER
FRAME 1
SERIAL BUS ADDRESS
BYTE
FRAME 2
DATA BYTE FROM ADM1027
Rev. 3 | Page 9 of 56 | www.onsemi.com
Figure 8. Reading Data from a Previously Selected Register
–9–
REV. A