
AD5100
Preliminary Technical Data
Rev. PrJ | Page 26 of 32
Figure 21
– Writing a register address to the Address Pointer Register, then writing data to the selected register
Reading Data from AD5100
When reading data from an AD5100 register there are two
possibilities:
1.
If the AD5100’s 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 as before, 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 Figure 23.
2.
If the address pointer is known to be already at the
desire address, data can be read from the
corresponding data register without first writing to the
Address Pointer Register.
Figure 22. Dummy Write to set proper Address Pointer.
Figure 23. Read Data from the Address Pointer Register.
Table 11 shows the read-back data byte structure. Bits [6:0] contain
the data from the register just read. Bit [7] only has significance
when OTP mode is being used, and should be ignored for normal
read operations. The majority of AD5100’s registers are 4-bits wide,
with only the Status/FDR Register and disable Special Function
Register by 7 bit and 5 bits wide respectively.
Table 11
– Read-Back Data Byte Structure
Bit #
Function
[7]
[6]
D6
[5]
D5
[4]
D4
[3]
D3
[2]
D2
[1]
D1
[0]
D0
OTP Okay
Permanent Setting of AD5100 Registers (OTP Function)
When the user wants to permanently program settings to the
AD5100, the one time program (OTP) function is invoked. To
complete a permanent program cycle for a particular register, the
following sequence should be used:
1.
Set bit [0] in register 0x16 using a normal write operation
2.
Set bit [1] in register 0x16 using a normal write operation
3.
Apply a 6V (200mA) voltage source to the OTP pin. This
provides the current for the programming cycle.
4.
Write the desired permanent data to the register of
choice, using a write operation with the OTP bit set to ‘1’
in the Address Pointer byte.
When the write cycle has been completed, the user should allow
minimum of 30ms for the AD5100 to perform the permanent
setting of the internal register. The user has the opportunity to
check whether the AD5100 programmed correctly by performing a
read cycle, and monitoring the state of bit [7] (
OTP Okay
).
OTP Okay
= 1 indicates the AD5100 programmed correctly
OTP Okay
= 0 indicates the AD5100 programmed incorrectly
Note:
Read-back of the
OTP Okay
bit is only
available for the read
cycle following immediately after the program cycle. If a write or
read of a different register is done immediately after the program
cycle, then the opportunity for verifying if the programming was
successful will have been missed. Figure 24 shows the
recommended way of performing a program then read-back and
verify of the V
1MON
Over-Voltage Register, (assuming steps 1-3
above have already been done).
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
AD0
OTP
OK
D6
D5
D4
D3
D2
D1
D0
R/W
03437-0-037
1
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
AD0
R/W
OTPAP6 AP5 AP4 AP3 AP2 AP1 AP0
03437-0-035
1