AD5231 Data Sheet
Rev. D | Page 14 of 28
THEORY OF OPERATION
The AD5231 digital potentiometer is designed to operate as a
true variable resistor replacement device for analog signals that
remain within the terminal voltage range of VSS < VTERM < VDD.
The basic voltage range is limited to VDD − VSS < 5.5 V. The
digital potentiometer wiper position is determined by the
RDAC register contents.
The RDAC register acts as a scratchpad register, allowing as
many value changes as necessary to place the potentiometer
wiper in the correct position. The scratchpad register can be
programmed with any position value using the standard SPI
serial interface mode by loading the complete representative
data-word. Once a desirable position is found, this value can be
stored in an EEMEM register. Thereafter, the wiper position is
always restored to that position for subsequent power-up.
The storing of EEMEM data takes approximately 25 ms; during
this time, the shift register is locked, preventing any changes
from taking place. The RDY pin pulses low to indicate the
completion of this EEMEM storage.
The following instructions facilitate the user’s programming
needs (see Table 7 for details):
0. Do nothing.
1. Restore EEMEM content to RDAC.
2. Store RDAC setting to EEMEM.
3. Store RDAC setting or user data to EEMEM.
4. Decrement 6 dB.
5. Decrement 6 dB.
6. Decrement one step.
7. Decrement one step.
8. Reset EEMEM content to RDAC.
9. Read EEMEM content from SDO.
10. Read RDAC wiper setting from SDO.
11. Write data to RDAC.
12. Increment 6 dB.
13. Increment 6 dB.
14. Increment one step.
15. Increment one step.
SCRATCHPAD AND EEMEM PROGRAMMING
The scratchpad RDAC register directly controls the position of
the digital potentiometer wiper. For example, when the scratchpad
register is loaded with all zeros, the wiper is connected to
Terminal B of the variable resistor. The scratchpad register is a
standard logic register with no restriction on the number of
changes allowed, but the EEMEM registers have a program
erase/write cycle limitation (see the Flash/EEMEM Reliability
section).
BASIC OPERATION
The basic mode of setting the variable resistor wiper position
(programming the scratchpad register) is accomplished by
loading the serial data input register with Instruction 11 (0xB),
Address 0, and the desired wiper position data. When the
proper wiper position is determined, the user can load the serial
data input register with Instruction 2 (0x2), which stores the
wiper position data in the EEMEM register. After 25 ms, the
wiper position is permanently stored in the nonvolatile
memory. Table 5 provides a programming example listing the
sequence of serial data input (SDI) words with the serial data
output appearing at the SDO pin in hexadecimal format.
Table 5. Set and Store RDAC Data to EEMEM Register
0xB00100 0xXXXXXX Writes data 0x100 to the RDAC
register, Wiper W moves to 1/4
full-scale position.
0x20XXXX 0xB00100 Stores RDAC register content into
the EEMEM register.
At system power-on, the scratchpad register is automatically
refreshed with the value previously stored in the EEMEM
register. The factory-preset EEMEM value is midscale, but
it can be changed by the user thereafter.
During operation, the scratchpad (RDAC) register can be
refreshed with the EEMEM register data with Instruction 1
(0x1) or Instruction 8 (0x8). The RDAC register can also be
refreshed with the EEMEM register data under hardware
control by pulsing the PR pin. The PR pulse first sets the wiper
at midscale when brought to logic zero, and then, on the
positive transition to logic high, it reloads the RDAC wiper
register with the contents of EEMEM.
Many additional advanced programming commands are
available to simplify the variable resistor adjustment process
(see Table 7). For example, the wiper position can be changed
one step at a time using the increment/decrement instruction or
by 6 dB with the shift left/right instruction. Once an increment,
decrement, or shift instruction has been loaded into the shift
register, subsequent CS strobes can repeat this command.
A serial data output SDO pin is available for daisy-chaining and
for readout of the internal register contents.
EEMEM PROTECTION
The write protect (WP) pin disables any changes to the
scratchpad register contents, except for the EEMEM setting,
which can still be restored using Instruction 1, Instruction 8,
and the PR pulse. Therefore, WP can be used to provide a
hardware EEMEM protection feature. To disable WP, it is
recommended to execute a NOP instruction before returning
WP to logic high.