PRELIMINARY TECHNICAL DATA
Nonvolatile Memory Digital Potentiometers AD5251/AD5252
REV PrB 2 DEC 99 6
Information contained in this Product Concept data sheet describes a product in the early definition stage. There is no guarantee that the
information contained here will become a final product in its present form. For latest information contact Walt Heinzer/Analog Devices, Santa
Clara, CA. TEL(408)562-7254; FAX (408)727-1550; walt.heinzer@analog.com
OPERATIONAL OVERVIEW
The AD5251/AD5252 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 a VDD -
VSS<5.5V. Control of the digital potentiometer allows both
scratch pad register (RDAC register) changes to be made, as
well as 100,000 times of nonvolatile electrically erasable
memory (EEMEM) register operations. The EEMEM update
process takes approximately 20.2ms, during this time the shift
register is locked preventing any changes from taking place.
The EEMEM retention is designed to last 10 years without
refresh. The scratch pad register can be changed incrementally
by using the software controlled Increment/Decrement
instruction or the Shift Left/Right instruction command.
Alternately the scratch pad register can be programmed with
any position value using the standard I2C serial interface mode
by loading the representative data word. The scratch pad
register can be loaded with the current contents of the
nonvolatile EEMEM register under program control. At system
power ON, the default value of the scratch pad memory is the
value previously saved in the EEMEM register. The factory
EEMEM preset values are mid-scale 32/128 for
AD5251/AD5252 respectively.
The serial input data register uses a 32-bit slave
address/instruction/data WORD.
SERIAL DATA INTERFACE
The AD5251/AD5252 employs a two-wire I2C serial interface
requiring only two I/O lines of a standard microprocessor port.
Key features of this interface include:
• Read & Write capability to all registers
• Direct parallel refresh of all RDAC wiper registers from
corresponding EEMEM registers
• Increment & Decrement instructions for each RDAC wiper
register
• Left & right Bit Shift of all RDAC wiper registers to
achieve 6dB level changes
• Permanent storage of the present scratch pad RDAC
register values into the corresponding EEMEM register
• EEMEM Write Protect
Figure 1 shows the timing diagram for signals on the wire bus.
The 2-wire bus can have several devices attached in addition to
the AD5251/AD5252. The two bus lines (SDA and SCL) must
be high when the bus is not in use. When in use, the port bits are
toggled to generate the appropriate signals for SDA and SCL.
For I2C applications, two pull up resistors are required at both
the SDA and SCL pins to VDD.
The AD5251/AD5252 can operate SCL of up to 400kHz. A
master device sends information to the AD5251/AD5252 by
transmitting the AD5251/AD5252’s address over the bus and
then transmitting the desired information. Each transmission
consists of a START condition, the AD5251/AD5252’s
programmable slave address, an instruction byte, 2 data bytes
consist of 10 data bits, and a STOP condition.
The address byte, instruction byte, and data bytes are
transmitted between the START and STOP conditions. The state
of SDA is allowed to change only if SCL is low, with the
exceptions at START and STOP conditions. SDA must remain
stable and is sampled ( read or write depends upon the state of
R/W) when SCL is high. Data is transmitted in 8-bit bytes.
The START and STOP Conditions
When the bus is not in use, both SCL and SDA must be high. A
bus master signals the beginning of a transmission with a
START condition by transitioning SDA from high to low while
SCL is high (Figure 3). When the master has finished
communicating with the slave, it issues a STOP condition by
transitioning SDA from low to high while SCL is high. The bus
is then free for another transmission.
Figure 3.START and STOP Conditions
The Slave Address
The AD5251/AD5252’s slave address is seven bits long (Figure
4). The first five bits (MSBs) of the slave address have been
factory programmed to 01011. The state of the
AD5251/AD5252 inputs AD0 and AD1 determine the final two
bits of the 7-bit slave address, These input pins may be
connected to VDD or GND, or may be actively driven by TTL
or CMOS logic levels. There are four possible addresses for the
AD5251/AD5252, and therefore a maximum of four such
devices may be on the bus at the same time. The eighth bit
(LSB) in the slave address byte is for read write purpose. Active
high allows data to be read back from the input register. Active
low allows data to be written to the input register. The
AD5251/AD5252 watches the bus continuously, waiting for a
START condition followed by its slave address. When it
recognizes its slave address, it is ready to accept data.
Figure 4. Slave Address and R/W Byte
The Instruction Byte
(To be determined)
The Data Bytes
(To be determined)
SCL
SDA
START Condition
STOP Condition
SCL
SDA
LSBMSB ACK
AD0
R/W
AD1
10011
SLAVE ADDRESS AND R/W BYTE