Datasheet
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 Tabl e 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
Table 1 3 and Table 14), is set to 0 by default. This disables any
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 1 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 Map
1
DB9 DB8 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
X X X X X 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 (default)
1
1 = 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.