![](http://datasheet.mmic.net.cn/Analog-Devices-Inc/AD5292BRUZ-50-RL7_datasheet_95797/AD5292BRUZ-50-RL7_23.png)
AD5291/AD5292
Rev. D | Page 23 of 32
20-TP MEMORY
Once a desirable wiper position is found, the contents of the
RDAC register can be saved into a 20-TP memory register
(see
Table 12). Thereafter, the wiper position is always set at that
position for any future on-off-on power supply sequence. The
AD5291 and AD5292 have an array of 20 one-time programmable
(OTP) memory registers. When the desired word is programmed
to 20-TP memory, the device automatically verifies that the
program command was successful. The verification process
includes margin testing. Bit C3 of the control register can be
polled to verify that the fuse program command was successful.
Programming data to 20-TP memory consumes approximately
25 mA for 550 μs and takes approximately 8 ms to complete.
During this time, the shift register is locked, preventing any
changes from taking place. The RDY pin can be used to monitor
the completion of the 20-TP memory program and verification.
No change in supply voltage is required to program the 20-TP
memory. However, a 1 μF capacitor on the EXT_CAP pin is
required (see
Figure 68). Prior to 20-TP activation, the AD5291
and AD5292 preset to midscale on power-up.
WRITE PROTECTION
On power-up, the shift register write commands for both the
RDAC register and the 20-TP memory register are disabled.
The RDAC write protect bit, C1 of the control register (see
change of the RDAC register content regardless of the software
commands, except that the RDAC register can be refreshed
from the 20-TP memory using the software reset command
(Command 4) or through hardware by the RESET pin. To enable
programming of the variable resistor wiper position (program-
ming the RDAC register), the write protect bit, C1 of the control
register, must first be programmed. This is accomplished by
loading the shift register with Command 6 (see
). To
enable programming of the 20-TP memory block bit, C0 of the
control register (set to 0 by default) must first be set to 1.
Table 12. Write and Read to RDAC and 20-TP Memory
DIN
SDO
Action
0x1803
0xXXXX
Enable update of wiper position and 20-TP memory contents through digital interface.
0x0500
0x1803
Write 0x100 to the RDAC register; wiper moves to full-scale position.
0x0800
0x0500
Prepare data read from the RDAC register.
0x0C00
0x0100
Stores RDAC register content into 20-TP memory. The 16-bit word appears out of SDO, where the last 10 bits
contain the contents of the RDAC register (0x100).
0x1C00
0x0C00
Prepare data read from the control register.
0x0000
0x000X
NOP Instruction 0 sends 16-bit word out of SDO, where the last four bits contain the contents of the control
register. If Bit C3 = 1, the fuse program command is successful.
Table 13. Control Register Bit Map1 DB9
DB8
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
X
C3
C2
C1
C0
1 X = don’t care.
Table 14. Control Register Function
Bit Name
Description
C0
20-TP program enable
0 = 20-TP program disabled (default)
1 = enable device for 20-TP program
C1
RDAC register write protect
0 = wiper position frozen to value in memory (d
efault)11 = allow update of wiper position through digital Interface
C2
Calibration enable
0 = resistor performance mode enabled (default)
1 = normal mode enabled
C3
20-TP memory program success
0 = fuse program command unsuccessful (default)
1 = fuse program command successful
1 Wiper position frozen to value last programmed in 20-TP memory. Wiper is frozen to midscale if 20-TP memory has not been previously programmed.