AD5100
Rev. A | Page 27 of 36
WRITING DATA TO AD5100
When writing data to the AD5100, the user begins by writing
an address byte followed by the R/W bit set to 0. The AD5100
acknowledges (if the correct address byte is used) by pulling
the SDA line low during the ninth clock pulse. The user then
follows with two data bytes. The first data byte is the address of
the internal data register to be written to, which is stored in the
address pointer register. The second byte is the data to be written
to the internal data register. After each byte, the AD5100
acknowledges by pulling the SDA line low during the ninth
clock pulse.
illustrates this operation.
READING DATA FROM AD5100
When reading data from an AD5100 register, there are two
possibilities.
•
If the AD5100 address pointer register value is unknown
or not at 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
AD5100, but only a value containing the register address
is sent because data is not to be written to the register. This
is shown in Figure 22. A read operation is then performed
consisting of the serial bus address, R/W bit set to 1,
followed by the data byte from the data register. This is
shown in
•
If the address pointer 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.
Table 14 shows the readback data byte structure. Bits[6:0] con-
tain the data from the register just read. Bit 7 is a reserved bit
and should be ignored for normal read operations. The majority
of AD5100 registers are four bits wide, with only the fault detect
and status register and disable special functions register at seven
bits and five bits wide, respectively.
Table 14. Readback Data Byte Structure
Bit Number
Function
7 Reserved
6 D6
5 D5
4 D4
3 D3
2 D2
1 D1
0 D0
(LSB)
0
56
92
-0
22
SDA
FRAME 1
SLAVE ADDRESS BYTE
FRAME 2
ADDRESS POINTER BYTE
FRAME 3
DATA BYTE
SCL
ACK. BY
AD5100
ACK. BY
AD5100
ACK. BY
AD5100
STOP BY
MASTER
START BY
MASTER
0
1
0
1
1
1
AD0 R/W
OTP AP6 AP5 AP4 AP3 AP2 AP1 AP0
D7
D6
D5
D4
D3
D2
D1
D0
Figure 21. Writing a Register Address to the Address Pointer Register, Then Writing Data to the Selected Register
0
56
92
-0
23
SDA
FRAME 1
SLAVE ADDRESS BYTE
FRAME 2
ADDRESS POINTER BYTE
SCL
ACK. BY
AD5100
ACK. BY
AD5100
STOP BY
MASTER
START BY
MASTER
0
1
0
1
1
1
AD0 R/W
OTP AP6 AP5 AP4 AP3 AP2 AP1 AP0
Figure 22. Dummy Write to Set Proper Address Pointer
0
56
92
-0
24
SDA
FRAME 1
SLAVE ADDRESS BYTE
FRAME 2
READ DATA BYTE
SCL
ACK. BY
AD5100
NO ACK. BY
MASTER
STOP BY
MASTER
START BY
MASTER
0
1
0
1
1
1
AD0 R/W
OTP
OK
D6
D5
D4
D3
D2
D1
D0
Figure 23. Read Data from the Address Pointer Register