DS3901
Triple, 8-Bit NV Variable Resistor
with Dual Settings and User EEPROM
16 ____________________________________________________________________
MEMORY REGISTER 9Fh: SLAVE ADDRESS REGISTER
Factory Default: A0h
Access Without Password: Read only
Access With PW1 Password: Read only
Access With PW2 Password: Read and Write
Memory Type: Nonvolatile (EEPROM)
9Fh 2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
0
b7 b0
The I
2
C slave address of the DS3901 depends on the
state of the ADD_SEL pin. If this pin is low, then the
slave address is fixed at A2h. If the ADD_SEL pin is
high, then the slave address is determined by the value
stored in EEPROM at address 9Fh. Factory default
value for the slave address is A0h. The seven most sig-
nificant bits are used (the LSB is not used because it is
in the bit position of the R/W bit) to allow the slave
address to be programmed to one of 128 possible
addresses.
MEMORY REGISTERS A0hFFh: PW2 EEPROM
Factory Default: 00h
Access Without Password: Read only
Access With PW1 Password: Read only
Access With PW2 Password: Read and Write
Memory Type: Nonvolatile (EEPROM)
A0hFFh EEPROM
DS3901
Triple, 8-Bit NV Variable Resistor
with Dual Settings and User EEPROM
____________________________________________________________________ 17
SDA
SCL
t
HD:STA
t
LOW
t
HIGH
t
R
t
F
t
HD:DAT
t
SU:DAT
REPEATED
START
t
SU:STA
t
HD:STA
t
SU:STO
t
SP
STOP START
t
BUF
NOTE: TIMING IS REFERENCE TO V
IL(MAX)
AND V
IH(MIN)
.
Figure 1. I
2
C Timing Diagram
I
2
C Serial Interface Description
I
2
C Definitions
The following terminology is commonly used to describe
I
2
C data transfers.
Master Device: The master device controls the slave
devices on the bus. The master device generates SCL
clock pulses and START and STOP conditions.
Slave Devices: Slave devices send and receive data
at the masters request.
Bus Idle or Not Busy: Time between STOP and START
conditions when both SDA and SCL are inactive and
their logic-high states. When the bus is idle it often initi-
ates a low-power mode for slave devices.
START Condition: A START condition is generated by
the master to initiate a new data transfer with a slave.
Transitioning SDA from high to low while SCL remains
high generates a START condition. See the timing dia-
gram for applicable timing.
STOP Condition: A STOP condition is generated by
the master to end a data transfer with a slave.
Transitioning SDA from low to high while SCL remains
high generates a STOP condition. See the timing dia-
gram for applicable timing.
Repeated START Condition: The master can use a
repeated START condition at the end of one data trans-
fer to indicate that it immediately initiates a new data
transfer following the current one. Repeated STARTS
are commonly used during read operations to identify a
specific memory address to begin a data transfer. A
repeated START condition is issued identically to a nor-
mal START condition. See the timing diagram for
applicable timing.
Bit Write: Transitions of SDA must occur during the low
state of SCL. The data on SDA must remain valid and
unchanged during the entire high pulse of SCL plus the
setup and hold-time requirements (see Figure 1). Data is
shifted into the device during the rising edge of the SCL.
Bit Read: At the end of a write operation, the master
must release the SDA bus line for the proper amount of
setup time (see Figure 1) before the next rising edge of
SCL during a bit read. The device shifts out each bit of
data on SDA at the falling edge of the previous SCL
pulse and the data bit is valid at the rising edge of the
current SCL pulse. Remember that the master gener-
ates all SCL clock pulses including when it is reading
bits from the slave.
Acknowledgement (ACK and NACK): An Acknowl-
edgement (ACK) or Not Acknowledge (NACK) is
always the 9th bit transmitted during a byte transfer.
The device receiving data (the master during a read or
the slave during a write operation) performs an ACK by
transmitting a zero during the 9th bit. A device per-
forms a NACK by transmitting a one during the 9th bit.
Timing (Figure 1) for the ACK and NACK is identical to
all other bit writes. An ACK is the acknowledgment that
the device is properly receiving data. A NACK is used
to terminate a read sequence or as an indication that
the device is not receiving data.
DS3901
Triple, 8-Bit NV Variable Resistor
with Dual Settings and User EEPROM
18 ____________________________________________________________________
Byte Write: A byte write consists of 8 bits of informa-
tion transferred from the master to the slave (MSB first)
plus a 1-bit acknowledgement from the slave to the
master. The 8 bits transmitted by the master are done
according to the bit write definition and the acknowl-
edgement is read using the bit read definition.
Byte Read: A byte read is an 8-bit information transfer
from the slave to the master plus a 1-bit ACK or NACK
from the master to the slave. The 8 bits of information that
are transferred (MSB first) from the slave to the master are
read by the master using the bit read definition above, and
the master transmits an ACK using the bit write definition
to receive additional data bytes. The master must NACK
the last byte read to terminate communication so the slave
will return control of SDA to the master.
Slave Address Byte: Each slave on the I
2
C bus
responds to a slave addressing byte sent immediately
following a START condition. The slave address byte
contains the slave address in the most significant 7 bits
and the R/W bit in the least significant bit.
The ADD_SEL pin and Slave Address register (9Fh)
determine the I
2
C slave address for the DS3901. If
ADD_SEL is low, then the slave address is fixed at A2h.
If ADD_SEL is high, then the slave address in the Slave
Address Register (9Fh) is used.
The LSB of the Slave Address Byte is the R/W bit. If the
R/W bit is 0, then the master indicates it will write data
to the slave. If R/W = 1, then the master will read data
from the slave. If an incorrect slave address is written,
the DS3901 will assume the master is communicating
with another I
2
C device and ignore the communication
until the next START condition is sent.
Memory Address: During an I
2
C write operation, the
master must transmit a memory address to identify the
memory location where the slave is to store the data.
The memory address is always the second byte trans-
mitted during a write operation following the slave
address byte.
I
2
C Communication
Writing a Single Byte to a Slave: The master must
generate a START condition, write the slave address
byte (R/W = 0), write the memory address, write the
byte of data, and generate a STOP condition.
Remember the master must read the slaves acknowl-
edgement during all byte write operations.
Writing Multiple Bytes to a Slave: To write multiple
bytes to a slave the master generates a START condi-
tion, writes the slave address byte (R/W = 0), writes the
memory address, writes up to 8 data bytes, and gener-
ates a STOP condition.
The DS3901 is capable of writing up to 8 bytes (1 page
or row) with a single write transaction. This is internally
controlled by an address counter that allows data to be
written to consecutive addresses without transmitting a
memory address before each data byte is sent. The
address counter limits the write to one 8-byte page.
Attempts to write to additional pages of memory without
sending a STOP condition between pages result in the
address counter wrapping around to the beginning of
the present row. To prevent address wrapping from
occurring, the master must send a STOP condition at
the end of the page, and then wait for the bus free or
EEPROM write time to elapse. Then the master may
generate a new START condition and write the slave
address byte (R/W = 0) and the first memory address of
the next memory row before continuing to write data.
Acknowledge Polling: Any time an EEPROM page is
written, the DS3901 requires the EEPROM write time
(t
W
) after the STOP condition to write the contents of
the page to EEPROM. During the EEPROM write time,
the device will not acknowledge its slave address
because it is busy. It is possible to take advantage of
that phenomenon by repeatedly addressing the
DS3901, which allows the next page to be written as
soon as the DS3901 is ready to receive the data. The
alternative to acknowledge polling is to wait for a maxi-
mum period of t
W
to elapse before attempting to write
again to the device.
EEPROM Write Cycles: When EEPROM writes occur,
the DS3901 will write the whole EEPROM memory page
even if only a single byte on the page was modified.
Writes that do not modify all 8 bytes on the page are
allowed and do not corrupt the remaining bytes of
memory on the same page. Because the whole page is
written, bytes on the page that were not modified during
the transaction are still subject to a write cycle. This can
result in a whole page being worn out over time by
writing a single byte repeatedly. The DS3901s EEPROM
write cycles are specified in the Nonvolatile Memory
Characteristics table. The specification shown is at the
worst-case temperature.

DS3901E+

Mfr. #:
Manufacturer:
Maxim Integrated
Description:
Digital Potentiometer ICs Tri 8Bit NV Variable w/Dual Stgs & EEPROM
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union

Products related to this Datasheet