AD5235
THEORY OF OPERATION
The AD5235 digital potentiometer is designed to operate as a
true variable resistor. The resistor wiper position is determined
by the RDAC register contents. The RDAC register acts as a
scratchpad register, allowing unlimited changes of resistance
settings. The scratchpad register can be programmed with any
position setting using the standard SPI serial interface by
loading the 24-bit data-word. In the format of the data-word,
the first four bits are commands, the following four bits are
addresses, and the last 16 bits are data. Once a specified value is
set, this value can be stored in a corresponding EEMEM
register. During subsequent power-up, the wiper setting is
automatically loaded to that value.
Storing data to EEMEM takes about 25 ms and consumes
approximately 35 mA. 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.
There are also 13 addresses with two bytes each of user-defined
data that can be stored in EEMEM.
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 all 6 dB.
6.
Decrement one step.
7.
Decrement all 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 all 6 dB.
14. Increment one step.
15. Increment all one step.
Table 14 to Table 20 provide programming examples that use
some of these commands.
SCRATCHPAD AND EEMEM PROGRAMMING
The scratchpad RDAC register directly controls the position of
the digital potentiometer wiper. For example, when the scratch-
pad 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.
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 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. Write and Store RDAC Settings to EEMEM
Registers
SDI
SDO
0xB00100
0xXXXXXX
0x20XXXX
0xB00100
0xB10200
0x20XXXX
0x21XXXX
0xB10200
At system power-on, the scratchpad register is automatically
refreshed with the value previously stored in the corresponding
EEMEM register. The factory-preset EEMEM value is midscale.
The scratchpad register can also be refreshed with the contents
of the EEMEM register in three different ways. First, executing
Instruction 1 (0x1) restores the corresponding EEMEM value.
Second, executing Instruction 8 (0x8) resets both channels'
EEMEM values. Finally, pulsing the PR pin refreshes both
EEMEM settings. Operating the hardware control PR function
requires a complete pulse signal. When PR goes low, the internal
logic sets the wiper at midscale. The EEMEM value is not
loaded until PR returns high.
Rev. B | Page 14 of 28
Action
Writes data 0x100 to the RDAC1
register, Wiper W1 moves to 1/4 full-
scale position.
Stores RDAC1 register content into
the EEMEM1 register.
Writes 0x200 data into the RDAC2
register, Wiper W2 moves to 1/2 full-
scale position.
Stores RDAC2 register contents into
EEMEM2 register.
Need help?
Do you have a question about the AD5235 and is the answer not in the manual?
Questions and answers