DATASHEET

NS
E SI G
D
W
CT
R NE ODU
Channel/Gigabit
Ethernet Laser Diode Control for Fiber Optic Modules
R
D FO E PFiber
E
D
EN
UT
T
M
I
T
M
6
S
O
34 Sheet
S UB
R EC
August 20, 2007
FN8206.2
L22Data
NOT SSIBLE 2343, IS
2
O
L
P
IS
X9520
®
Triple DCP, POR, 2kbit EEPROM Memory,
Dual Voltage Monitors
The X9520 combines three Digitally Controlled
Potentiometers (DCPs), V1/VCC Power-on Reset (POR)
circuitry, two programmable voltage monitor inputs with
software and hardware indicators, and integrated EEPROM
with Block Lock™ protection. All functions of the X9520 are
accessed by an industry standard 2-Wire serial interface.
Two of the DCPs of the X9520 may be utilized to control the
bias and modulation currents of the laser diode in a Fiber Optic
module. The third DCP may be used to set other various
reference quantities, or as a coarse trim for one of the other two
DCPs. The 2kbit integrated EEPROM may be used to store
module definition data. The programmable POR circuit may be
used to ensure that V1/VCC is stable before power is applied to
the laser diode/module. The programmable voltage monitors
may be used for monitoring various module alarm levels.
The features of the X9520 are ideally suited to simplifying the
design of fiber optic modules which comply to the Gigabit
Interface Converter (GBIC) specification. The integration of
these functions into one package significantly reduces board
area, cost and increases reliability of laser diode modules.
Features
• Three Digitally Controlled Potentiometers (DCPs)
- 64 Tap - 10kΩ
- 100 Tap - 10kΩ
- 256 Tap - 100kΩ
- Nonvolatile
- Write Protect Function
• 2kbit EEPROM Memory with Write Protect & Block Lock™
• 2-Wire Industry Standard Serial Interface
- Complies to the Gigabit Interface Converter (GBIC)
specification
• Power-on Reset (POR) Circuitry
- Programmable Threshold Voltage
- Software Selectable Reset Timeout
- Manual Reset
• Two Supplementary Voltage Monitors
- Programmable Threshold Voltages
• Single Supply Operation
- 2.7V to 5.5V
• Hot Pluggable
• 20 Ld Package
- TSSOP
• Pb-free available (RoHS compliant)
Ordering Information
PART NUMBER
PART
MARKING
PRESET (FACTORY SHIPPED) TRIPx
THRESHOLD LEVELS (x = 2, 3)
TEMP. RANGE
(°C)
PACKAGE
PKG.
DWG. #
X9520V20I-A
X9520V IA
Optimized for 3.3V system monitoring**
-40 to +85
20 Ld TSSOP
MDP0044
X9520V20I-AT1*
X9520V IA
Optimized for 3.3V system monitoring**
-40 to +85
20 Ld TSSOP
MDP0044
X9520V20I-AT2*
X9520V IA
Optimized for 3.3V system monitoring**
-40 to +85
20 Ld TSSOP
MDP0044
X9520V20I-B
X9520V IB
Optimized for 5V system monitoring**
-40 to +85
20 Ld TSSOP
MDP0044
X9520V20I-BT1*
X9520V IB
Optimized for 5V system monitoring**
-40 to +85
20 Ld TSSOP
MDP0044
X9520V20IZ-A (Note)
X9520V ZIA
Optimized for 3.3V system monitoring**
-40 to +85
20 Ld TSSOP (Pb-free)
MDP0044
X9520V20IZ-AT1* (Note)
X9520V ZIA
Optimized for 3.3V system monitoring**
-40 to +85
20 Ld TSSOP (Pb-free)
MDP0044
X9520V20IZ-AT2* (Note)
X9520V ZIA
Optimized for 3.3V system monitoring**
-40 to +85
20 Ld TSSOP (Pb-free)
MDP0044
X9520V20IZ-B (Note)
X9520V ZIB
Optimized for 5V system monitoring**
-40 to +85
20 Ld TSSOP (Pb-free)
MDP0044
X9520V20IZ-BT1* (Note)
X9520V ZIB
Optimized for 5V system monitoring**
-40 to +85
20 Ld TSSOP (Pb-free)
MDP0044
* Please refer to TB347 for details on reel specifications.
** For details, see DC Operating characteristics
NOTE: These Intersil Pb-free plastic packaged products employ special Pb-free material sets; molding compounds/die attach materials and 100%
matte tin plate PLUS ANNEAL - e3 termination finish, which is RoHS compliant and compatible with both SnPb and Pb-free soldering operations.
Intersil Pb-free products are MSL classified at Pb-free peak reflow temperatures that meet or exceed the Pb-free requirements of IPC/JEDEC J
STD-020.
1
CAUTION: These devices are sensitive to electrostatic discharge; follow proper IC Handling Procedures.
1-888-INTERSIL or 1-888-468-3774 | Intersil (and design) is a registered trademark of Intersil Americas Inc.
Copyright Intersil Americas Inc. 2005-2007. All Rights Reserved
All other trademarks mentioned are the property of their respective owners.
X9520
Block Diagram
RH0
WIPER
COUNTER
REGISTER
RL0
8
WP
6 - BIT
NONVOLATILE
MEMORY
PROTECT LOGIC
RH1
CONSTAT
SDA
SCL
DATA
REGISTER
RW0
4
COMMAND
DECODE &
CONTROL
LOGIC
WIPER
COUNTER
REGISTER
REGISTER
RW1
RL1
7 - BIT
NONVOLATILE
MEMORY
2kbit
EEPROM
ARRAY
RH2
THRESHOLD
RESET LOGIC
WIPER
COUNTER
REGISTER
RW2
RL2
MR
2
V3
VTRIP3
+
VTRIP 2
+
VTRIP 1
+
-
V2
V1/VCC
Detailed Device Description
The X9520 combines three Intersil Digitally Controlled
Potentiometer (DCP) devices, V1/VCC power-on reset
control, V1/VCC low voltage reset control, two
supplementary voltage monitors, and integrated EEPROM
with Block Lock™ protection, in one package. These
functions are suited to the control, support, and monitoring of
various system parameters in Fiber Channel/Gigabit
Ethernet fiber optic modules, such as in Gigabit Interface
Converter (GBIC) applications. The combination of the
X9520 fucntionality lowers system cost, increases reliability,
and reduces board space requirements using Intersil’s
unique XBGA™ packaging.
Two high resolution DCPs allow for the “set-and-forget”
adjustment of Laser Driver IC parameters such as Laser
Diode Bias and Modulation Currents. One lower resolution
DCP may be used for setting sundry system parameters
such as maximum laser output power (for eye safety
requirements).
Applying voltage to VCC activates the Power-on Reset circuit
which allows the V1RO output to go HIGH, until the supply
the supply voltage stabilizes for a period of time (selectable
via software). The V1RO output then goes LOW. The Low
Voltage Reset circuitry allows the V1RO output to go HIGH
when VCC falls below the minimum VCC trip point. V1RO
remains HIGH until VCC returns to proper operating level. A
Manual Reset (MR) input allows the user to externally trigger
the V1RO output (HIGH).
2
8 - BIT
NONVOLATILE
MEMORY
V3RO
V2RO
POWER-ON /
LOW VOLTAGE
RESET
GENERATION
V1RO
Two supplementary Voltage Monitor circuits continuously
compare their inputs to individual trip voltages. If an input
voltage exceeds it’s associated trip level, a hardware output
(V3RO, V2RO) are allowed to go HIGH. If the input voltage
becomes lower than it’s associated trip level, the
corresponding output is driven LOW. A corresponding binary
representation of the two monitor circuit outputs (V2RO and
V3RO) are also stored in latched, volatile (CONSTAT)
register bits. The status of these two monitor outputs can be
read out via the 2-wire serial port.
An application of the V1RO output may be to drive the
“ENABLE” input of a Laser Driver IC, with MR as a
“TX_DISABLE” input. V2RO and V3RO may be used to
monitor “TX_FAULT” and “RX_LOS” conditions respectively.
Intersil’s unique circuits allow for all internal trip voltages to
be individually programmed with high accuracy. This gives
the designer great flexibility in changing system parameters,
either at the time of manufacture, or in the field.
The memory portion of the device is a CMOS serial
EEPROM array with Intersil’s Block Lock™ protection. This
memory may be used to store fiber optic module
manufacturing data, serial numbers, or various other system
parameters. The EEPROM array is internally organized as x
8, and utilizes Intersil’s proprietary Direct Write™ cells,
providing a minimum endurance of 1,000,000 cycles and a
minimum data retention of 100 years.
The device features a 2-Wire interface and software protocol
allowing operation on an I2C™ compatible serial bus.
FN8206.2
August 20, 2007
X9520
Pinout
X9520
(20 LD TSSOP)
TOP VIEW
RH2
1
20
V1/VCC
RW2
2
19
V1RO
RL2
3
18
V2RO
V3
4
17
V2
V3RO
5
16
RL0
MR
6
15
RW0
7
14
RH0
SCL
8
13
RH1
SDA
9
12
RW1
10
11
RL1
WP
VSS
NOT TO SCALE
Pin Descriptions
TSSOP
NAME
FUNCTION
1
RH2
Connection to end of resistor array for (the 256 Tap) DCP 2.
2
Rw2
Connection to terminal equivalent to the “Wiper” of a mechanical potentiometer for DCP 2.
3
RL2
Connection to other end of resistor array for (the 256 Tap) DCP 2.
4
V3
V3 Voltage Monitor Input. V3 is the input to a non-inverting voltage comparator circuit. When the V3 input is higher than the
VTRIP3 threshold voltage, V3RO makes a transition to a HIGH level. Connect V3 to VSS when not used.
5
V3RO
V3 RESET Output. This open drain output makes a transition to a HIGH level when V3 is greater than VTRIP3 and goes LOW
when V3 is less than VTRIP3. There is no delay circuitry on this pin. The V3RO pin requires the use of an external “pull-up”
resistor.
6
MR
Manual Reset. MR is a TTL level compatible input. Pulling the MR pin active (HIGH) initiates a reset cycle to the V1RO pin
(V1/VCC RESET Output pin). V1RO will remain HIGH for time tpurst after MR has returned to it’s normally LOW state. The
reset time can be selected using bits POR1 and POR0 in the CONSTAT Register. The MR pin requires the use of an external
“pull-down” resistor.
7
WP
Write Protect Control Pin. WP pin is a TTL level compatible input. When held HIGH, Write Protection is enabled. In the enabled
state, this pin prevents all nonvolatile “write” operations. Also, when the Write Protection is enabled, and the device Block Lock
feature is active (i.e. the Block Lock bits are NOT [0,0]), then no “write” (volatile or nonvolatile) operations can be performed
in the device (including the wiper position of any of the integrated Digitally Controlled Potentiometers (DCPs). The WP pin
uses an internal “pull-down” resistor, thus if left floating the write protection feature is disabled.
8
SCL
Serial Clock. This is a TTL level compatible input pin used to control the serial bus timing for data input and output.
9
SDA
Serial Data. SDA is a bidirectional TTL level compatible pin used to transfer data into and out of the device. The SDA pin input
buffer is always active (not gated). This pin requires an external pull up resistor.
10
Vss
Ground.
11
RL1
Connection to other end of resistor for (the 100 Tap) DCP 1.
12
Rw1
Connection to terminal equivalent to the “Wiper” of a mechanical potentiometer for DCP 1.
13
RH1
Connection to end of resistor array for (the 100 Tap) DCP 1.
14
RH0
Connection to end of resistor array for (the 64 Tap) Digitally Controlled Potentiometer (DCP) 0.
15
RW0
Connection to terminal equivalent to the “Wiper” of a mechanical potentiometer for DCP 0.
16
RL0
Connection to the other end of resistor array for (the 64 Tap) DCP 0.
17
V2
V2 Voltage Monitor Input. V2 is the input to a non-inverting voltage comparator circuit. When the V2 input is greater than the
VTRIP2 threshold voltage, V2RO makes a transition to a HIGH level. Connect V2 to VSS when not used.
18
V2RO
V2 RESET Output. This open drain output makes a transition to a HIGH level when V2 is greater than VTRIP2, and goes LOW
when V2 is less than VTRIP2. There is no power-up reset delay circuitry on this pin. The V2RO pin requires the use of an
external “pull-up” resistor.
3
FN8206.2
August 20, 2007
X9520
Pin Descriptions (Continued)
TSSOP
NAME
FUNCTION
19
V1RO
V1/VCC RESET Output. This is an active HIGH, open drain output which becomes active whenever V1/VCC falls below
VTRIP1. V1RO becomes active on power-up and remains active for a time tpurst after the power supply stabilizes (tpurst can
be changed by varying the POR0 and POR1 bits of the internal control register). The V1RO pin requires the use of an external
“pull-up” resistor. The V1RO pin can be forced active (HIGH) using the manual reset (MR) input pin.
20
V1/VCC Supply Voltage.
Principles of Operation
START condition and does not respond to any command
until this condition has been met. See Figure 2.
Serial Interface
SERIAL STOP CONDITION
SERIAL INTERFACE CONVENTIONS
The device supports a bidirectional bus oriented protocol.
The protocol defines any device that sends data onto the
bus as a transmitter, and the receiving device as the
receiver. The device controlling the transfer is called the
master and the device being controlled is called the slave.
The master always initiates data transfers, and provides the
clock for both transmit and receive operations. Therefore,
the X9520 operates as a slave in all applications.
All communications must be terminated by a STOP condition,
which is a LOW to HIGH transition of SDA while SCL is HIGH.
The STOP condition is also used to place the device into the
Standby power mode after a read sequence. A STOP
condition can only be issued after the transmitting device has
released the bus. See Figure 2.
SERIAL CLOCK AND DATA
Data states on the SDA line can change only while SCL is
LOW. SDA state changes while SCL is HIGH are reserved
for indicating START and STOP conditions. See Figure 1.
On power-up of the X9520, the SDA pin is in the input mode.
SERIAL START CONDITION
All commands are preceded by the START condition, which
is a HIGH to LOW transition of SDA while SCL is HIGH. The
device continuously monitors the SDA and SCL lines for the
SCL
SDA
DATA STABLE
DATA CHANGE
DATA STABLE
FIGURE 1. VALID DATA CHANGES ON THE SDA BUS
SCL
SDA
START
STOP
FIGURE 2. VALID START AND STOP CONDITIONS
4
FN8206.2
August 20, 2007
X9520
SCL
from
SCL
Master
from
Master
1
8
9
Data Output from
Transmitter
Data Output from
Receiver
START
ACKNOWLEDGE
FIGURE 3. ACKNOWLEDGE RESPONSE FROM RECEIVER
Device Internal Addressing
SERIAL ACKNOWLEDGE
An ACKNOWLEDGE (ACK) is a software convention used to
indicate a successful data transfer. The transmitting device,
either master or slave, will release the bus after transmitting
eight bits. During the ninth clock cycle, the receiver will pull the
SDA line LOW to ACKNOWLEDGE that it received the eight
bits of data. Refer to Figure 3.
The device will respond with an ACKNOWLEDGE after
recognition of a START condition if the correct Device
Identifier bits are contained in the Slave Address Byte. If a
write operation is selected, the device will respond with an
ACKNOWLEDGE after the receipt of each subsequent eight
bit word.
In the read mode, the device will transmit eight bits of data,
release the SDA line, then monitor the line for an
ACKNOWLEDGE. If an ACKNOWLEDGE is detected and
no STOP condition is generated by the master, the device
will continue to transmit data. The device will terminate
further data transmissions if an ACKNOWLEDGE is not
detected. The master must then issue a STOP condition to
place the device into a known state.
Addressing Protocol Overview
The user addressable internal components of the X9520 can
be split up into three main parts:
• Three Digitally Controlled Potentiometers (DCPs)
• EEPROM array
• Control and Status (CONSTAT) Register
Depending upon the operation to be performed on each of
these individual parts, a 1, 2 or 3 Byte protocol is used. All
operations however must begin with the Slave Address Byte
being issued on the SDA pin. The Slave address selects the
part of the X9520 to be addressed, and specifies if a Read or
Write operation is to be performed.
It should be noted that in order to perform a write operation
to either a DCP or the EEPROM array, the Write Enable
Latch (WEL) bit must first be set (See “BL1, BL0: Block Lock
protection bits - (Nonvolatile)” on page 13.)
Slave Address Byte
Following a START condition, the master must output a
Slave Address Byte (Refer to Figure 4). This byte consists of
three parts:
• The Device Type Identifier which consists of the most
significant four bits of the Slave Address (SA7 - SA4). The
Device Type Identifier must always be set to 1010 in order
to select the X9520.
• The next three bits (SA3 - SA1) are the Internal Device
Address bits. Setting these bits to 000 internally selects
the EEPROM array, while setting these bits to 111 selects
the DCP structures in the X9520. The CONSTAT Register
may be selected using the Internal Device Address 010.
• The Least Significant Bit of the Slave Address (SA0) Byte
is the R/W bit. This bit defines the operation to be
performed on the device being addressed (as defined in
the bits SA3 - SA1). When the R/W bit is “1”, then a READ
operation is selected. A “0” selects a WRITE operation
(Refer to Figure 4.)
5
FN8206.2
August 20, 2007
X9520
SA7
SA6 SA5
1 0 1
SA4
SA3
SA2
SA1
Byte load completed
by issuing STOP.
Enter ACK Polling
SA0
0
R/W
INTERNAL
DEVICE
ADDRESS
DEVICE TYPE
IDENTIFIER
Issue START
READ/
WRITE
INTERNAL ADDRESS
(SA3 - SA1)
INTERNALLY ADDRESSED
DEVICE
000
EEPROM Array
010
CONSTAT Register
111
DCP
Issue Slave Address
Byte (Read or Write)
Issue STOP
NO
ACK
returned?
YES
BIT SA0
OPERATION
0
WRITE
1
READ
High Voltage Cycle
complete. Continue
command sequence?
NO
Issue STOP
FIGURE 4. SLAVE ADDRESS FORMAT
YES
Continue normal
Read or Write
command sequence
Nonvolatile Write Acknowledge Polling
After a nonvolatile write command sequence (for either the
EEPROM array, the Non Volatile Memory of a DCP (NVM),
or the CONSTAT Register) has been correctly issued
(including the final STOP condition), the X9520 initiates an
internal high voltage write cycle. This cycle typically requires
5 ms. During this time, no further Read or Write commands
can be issued to the device. Write Acknowledge Polling is
used to determine when this high voltage write cycle has
been completed.
To perform acknowledge polling, the master issues a START
condition followed by a Slave Address Byte. The Slave
Address issued must contain a valid Internal Device
Address. The LSB of the Slave Address (R/W) can be set to
either 1 or 0 in this case. If the device is still busy with the
high voltage cycle then no ACKNOWLEDGE will be
returned. If the device has completed the write operation, an
ACKNOWLEDGE will be returned and the host can then
proceed with a read or write operation (Refer to Figure 5.).
Digitally Controlled Potentiometers
DCP Functionality
The X9520 includes three independent resistor arrays.
These arrays respectively contain 63, 99 and 255 discrete
resistive segments that are connected in series. The
physical ends of each array are equivalent to the fixed
terminals of a mechanical potentiometer (RHx and RLx
inputs - where x = 0,1,2).
6
PROCEED
FIGURE 5. ACKNOWLEDGE POLLING SEQUENCE
RHx
N
WIPER
COUNTER
REGISTER
(WCR)
DECODER
NON
VOLATILE
MEMORY
(NVM)
“WIPER”
RESISTOR
FET
ARRAY
SWITCHES
2
1
0
RLx
RWx
FIGURE 6. DCP INTERNAL STRUCTURE
FN8206.2
August 20, 2007
X9520
V1/VCC
V1/VCC (Max)
VTRIP1
ttrans
tpurst
t
0
MAXIMUM WIPER RECALL TIME
FIGURE 7. DCP POWER
At both ends of each array and between each resistor
segment there is a CMOS switch connected to the wiper
(Rwx) output. Within each individual array, only one switch
may be turned on at any one time. These switches are
controlled by the Wiper Counter Register (WCR) (See Figure
6). The WCR is a volatile register.
tpurst. It should be noted that ttrans is determined by
On power-up of the X9520, wiper position data is
automatically loaded into the WCR from its associated Non
Volatile Memory (NVM) Register. The table below shows the
Initial Values of the DCP WCR’s before the contents of the
NVM is loaded into the WCR.
• DCP Nonvolatile Write
DCP
INITIAL VALUES BEFORE RECALL
R0/64 TAP
VH/TAP = 63
R1/100 TAP
VL/TAP = 0
R2/256 TAP
VH/TAP = 255
The data in the WCR is then decoded to select and enable
one of the respective FET switches. A “make before break”
sequence is used internally for the FET switches when the
wiper is moved from one tap position to another.
Hot Pluggability
Figure 7 shows a typical waveform that the X9520 might
experience in a Hot Pluggable situation. On power-up,
V1/VCC applied to the X9520 may exhibit some amount of
ringing, before it settles to the required value.
The device is designed such that the wiper terminal (RWx) is
recalled to the correct position (as per the last stored in the
DCP NVM), when the voltage applied to V1/VCC exceeds
VTRIP1 for a time exceeding tpurst (the Power-on Reset
time, set in the CONSTAT Register - See “Control and Status
Register” on page 12.).
Therefore, if ttrans is defined as the time taken for V1/VCC
to settle above VTRIP1 (Figure 7): then the desired wiper
terminal position is recalled by (a maximum) time: ttrans +
7
system hot plug conditions.
DCP Operations
In total there are three operations that can be performed on
any internal DCP structure:
• DCP Volatile Write
• DCP Read
A nonvolatile write to a DCP will change the “wiper position”
by simultaneously writing new data to the associated WCR
and NVM. Therefore, the new “wiper position” setting is
recalled into the WCR after V1/VCC of the X9520 is powered
down and then powered back up.
A volatile write operation to a DCP however, changes the
“wiper position” by writing new data to the associated WCR
only. The contents of the associated NVM register remains
unchanged. Therefore, when V1/VCC to the device is
powered down then back up, the “wiper position” reverts to
that last position written to the DCP using a nonvolatile write
operation.
Both volatile and nonvolatile write operations are executed
using a three byte command sequence: (DCP) Slave
Address Byte, Instruction Byte, followed by a Data Byte (See
Figure 9).
A DCP Read operation allows the user to “read out” the
current “wiper position” of the DCP, as stored in the
associated WCR. This operation is executed using the
Random Address Read command sequence, consisting of
the (DCP) Slave Address Byte followed by an Instruction
Byte and the Slave Address Byte again (Refer to Figure 10.).
Instruction Byte
While the Slave Address Byte is used to select the DCP
devices, an Instruction Byte is used to determine which DCP
is being addressed.
FN8206.2
August 20, 2007
X9520
I7
WT
I6
I5
I4
I3
I2
0
0
0
0
0
I1
P1
WRITE TYPE
DCP Write Operation
I0
A write to DCPx (x = 0,1,2) can be performed using the three
byte command sequence shown in Figure 9.
P0
In order to perform a write operation on a particular DCP, the
Write Enable Latch (WEL) bit of the CONSTAT Register
must first be set (See “BL1, BL0: Block Lock protection bits (Nonvolatile)” on page 13.)
DCP SELECT
WT†
DESCRIPTION
0
Select a Volatile Write operation to be performed on the
DCP pointed to by bits P1 and P0
1
Select a Nonvolatile Write operation to be performed on
the DCP pointed to by bits P1 and P0
The Slave Address Byte 10101110 specifies that a Write to a
DCP is to be conducted. An ACKNOWLEDGE is returned by
the X9520 after the Slave Address, if it has been received
correctly.
Next, an Instruction Byte is issued on SDA. Bits P1 and P0
of the Instruction Byte determine which WCR is to be written,
while the WT bit determines if the Write is to be volatile or
nonvolatile. If the Instruction Byte format is valid, another
ACKNOWLEDGE is then returned by the X9520.
†This bit has no effect when a Read operation is being performed.
FIGURE 8. INSTRUCTION BYTE FORMAT
Following the Instruction Byte, a Data Byte is issued to the
X9520 over SDA. The Data Byte contents is latched into the
WCR of the DCP on the first rising edge of the clock signal,
after the LSB of the Data Byte (D0) has been issued on SDA
(See Figure 34).
The Instruction Byte (Figure 8) is valid only when the Device
Type Identifier and the Internal Device Address bits of the
Slave Address are set to 1010111. In this case, the two
Least Significant Bit’s (I1 - I0) of the Instruction Byte are
used to select the particular DCP (0 - 2). In the case of a
Write to any of the DCPs (i.e. the LSB of the Slave Address
is 0), the Most Significant Bit of the Instruction Byte (I7),
determines the Write Type (WT) performed.
The Data Byte determines the “wiper position” (which FET
switch of the DCP resistive array is switched ON) of the
DCP. The maximum value for the Data Byte depends upon
which DCP is being addressed (see Table below).
If WT is “1”, then a Nonvolatile Write to the DCP occurs. In
this case, the “wiper position” of the DCP is changed by
simultaneously writing new data to the associated WCR and
NVM. Therefore, the new “wiper position” setting is recalled
into the WCR after V1/VCC of the X9520 has been powered
down then powered back up
If WT is “0” then a DCP Volatile Write is performed. This
operation changes the DCP “wiper position” by writing new
data to the associated WCR only. The contents of the
associated NVM register remains unchanged. Therefore,
when V1/VCC to the device is powered down then back up,
the “wiper position” reverts to that last written to the DCP
using a nonvolatile write operation.
P1 - P0
DCPX
# TAPS
MAX DATA BYTE
0
0
x=0
64
3Fh
0
1
x=1
100
Refer to Appendix 1
1
0
x=2
256
FFh
1
1
Reserved
Using a Data Byte larger than the values specified above
results in the “wiper terminal” being set to the highest tap
position. The “wiper position” does NOT roll-over to the
lowest tap position.
For DCP0 (64 Tap) and DCP2 (256 Tap), the Data Byte
maps one to one to the “wiper position” of the DCP “wiper
S 1
T
A
R
T
0
1
0
1
1
SLAVE ADDRESS BYTE
1
0
A WT
C
K
0
0
0
0
0
P1 P0
A
C
K
D7
INSTRUCTION BYTE
D6
D5
D4
D3
DATA BYTE
D2
D1
D0
A
C
K
S
T
O
P
FIGURE 9. DCP WRITE COMMAND SEQUENCE
8
FN8206.2
August 20, 2007
X9520
DCP Read Operation
terminal”. Therefore, the Data Byte 00001111 (1510)
corresponds to setting the “wiper terminal” to tap position 15.
Similarly, the Data Byte 00011100 (2810) corresponds to
setting the “wiper terminal” to tap position 28. The mapping
of the Data Byte to “wiper position” data for DCP1 (100 Tap),
is shown in “Appendix 1” . An example of a simple C
language function which “translates” between the tap
position (decimal) and the Data Byte (binary) for DCP1, is
given in “Appendix 2” .
A read of DCPx (x = 0,1,2) can be performed using the three
byte random read command sequence shown in Figure 10.
The master issues the START condition and the Slave
Address Byte 10101110 which specifies that a “dummy”
write” is to be conducted. This “dummy” write operation sets
which DCP is to be read (in the preceding Read operation).
An ACKNOWLEDGE is returned by the X9520 after the
Slave Address if received correctly. Next, an Instruction Byte
is issued on SDA. Bits P1-P0 of the Instruction Byte
determine which DCP “wiper position” is to be read. In this
case, the state of the WT bit is “don’t care”. If the Instruction
Byte format is valid, then another ACKNOWLEDGE is
returned by the X9520.
It should be noted that all writes to any DCP of the X9520
are random in nature. Therefore, the Data Byte of
consecutive write operations to any DCP can differ by an
arbitrary number of bits. Also, setting the bits P1 = 1, P0 = 1
is a reserved sequence, and will result in no
ACKNOWLEDGE after sending an Instruction Byte on SDA.
Following this ACKNOWLEDGE, the master immediately
issues another START condition and a valid Slave address
byte with the R/W bit set to 1. Then the X9520 issues an
ACKNOWLEDGE followed by Data Byte, and finally, the
master issues a STOP condition. The Data Byte read in this
operation, corresponds to the “wiper position” (value of the
WCR) of the DCP pointed to by bits P1 and P0.
The factory default setting of all “wiper position” settings is
with 00h stored in the NVM of the DCPs. This corresponds
to having the “wiper teminal” RWX (x = 0,1,2) at the “lowest”
tap position, Therefore, the resistance between RWX and
RLX is a minimum (essentially only the Wiper Resistance,
RW).
Signals from the
Master
WRITE Operation
S
t
a
r
t
Slave
Address
Instruction
Byte
1 0 1 0 1 1 1 0
W 0 0 0 0 0 P P
1 0
T
SDA Bus
A
C
K
Signals from the
Slave
READ Operation
S
t
a
r
t
Slave
Address
S
t
o
p
Data Byte
1 0 1 0 1 1 1 1
A
C
K
A
C
K
DCPx
“Dummy” write
- -
x=0
-
x=1
LSB
MSB
“-” = DON’T CARE
x=2
FIGURE 10. DCP READ SEQUENCE
Signals from the
Master
SDA Bus
Signals from the
Slave
S
t
a
r
t
WRITE Operation
Slave
Address
Address
Byte
S
t
o
p
Data
Byte
1 0 1 0 0 0 0 0
A
Internal C
Device K
Address
A
C
K
A
C
K
FIGURE 11. EEPROM BYTE WRITE SEQUENCE
9
FN8206.2
August 20, 2007
X9520
Signals from the
Master
S
t
a
r
t
S
t
o
p
(2 < n < 16)
Address
Byte
Slave
Address
Data
(n)
Data
(1)
SDA Bus
1 0 1 0 0 0 0 0
Signals from the
Slave
A
C
K
A
C
K
A
C
K
A
C
K
FIGURE 12. EEPROM PAGE WRITE OPERATION
It should be noted that when reading out the data byte for
DCP0 (64 Tap), the upper two most significant bits are
“unknown” bits. For DCP1 (100 Tap), the upper most
significant bit is an “unknown”. For DCP2 (256 Tap) however,
all bits of the data byte are relevant (See Figure 10).
EEPROM Page Write
2KBIT EEPROM ARRAY
The X9520 is capable of a page write operation. It is initiated
in the same manner as the byte write operation; but instead
of terminating the write cycle after the first data byte is
transferred, the master can transmit an unlimited number of
8-bit bytes. After the receipt of each byte, the X9520
responds with an ACKNOWLEDGE, and the address is
internally incremented by one. The page address remains
constant. When the counter reaches the end of the page, it
“rolls over” and goes back to ‘0’ on the same page.
Operations on the 2kbit EEPROM Array, consist of either 1,
2 or 3 byte command sequences. All operations on the
EEPROM must begin with the Device Type Identifier of the
Slave Address set to 1010000. A Read or Write to the
EEPROM is selected by setting the LSB of the Slave
Address to the appropriate value R/W (Read = “1”,
Write = ”0”).
In some cases when performing a Read or Write to the
EEPROM, an Address Byte may also need to be specified.
This Address Byte can contain the values 00h to FFh.
EEPROM BYTE WRITE
In order to perform an EEPROM Byte Write operation to the
EEPROM array, the Write Enable Latch (WEL) bit of the
CONSTAT Register must first be set (See “BL1, BL0: Block
Lock protection bits - (Nonvolatile)” on page 13.)
For a write operation, the X9520 requires the Slave Address
Byte and an Address Byte. This gives the master access to
any one of the words in the array. After receipt of the
Address Byte, the X9520 responds with an
ACKNOWLEDGE, and awaits the next eight bits of data.
After receiving the 8 bits of the Data Byte, it again responds
with an ACKNOWLEDGE. The master then terminates the
transfer by generating a STOP condition, at which time the
X9520 begins the internal write cycle to the nonvolatile
memory (See Figure 11). During this internal write cycle, the
X9520 inputs are disabled, so it does not respond to any
requests from the master. The SDA output is at high
impedance. A write to a region of EEPROM memory which
has been protected with the Block-Lock feature (See “BL1,
BL0: Block Lock protection bits - (Nonvolatile)” on page 13.),
suppresses the ACKNOWLEDGE bit after the Address Byte.
10
In order to perform an EEPROM Page Write operation to the
EEPROM array, the Write Enable Latch (WEL) bit of the
CONSTAT Register must first be set (See “BL1, BL0: Block
Lock protection bits - (Nonvolatile)” on page 13.)
For example, if the master writes 12 bytes to the page
starting at location 11 (decimal), the first 5 bytes are written
to locations 11 through 15, while the last 7 bytes are written
to locations 0 through 6. Afterwards, the address counter
would point to location 7. If the master supplies more than 16
bytes of data, then new data overwrites the previous data,
one byte at a time (See Figure 13).
The master terminates the Data Byte loading by issuing a
STOP condition, which causes the X9520 to begin the
nonvolatile write cycle. As with the byte write operation, all
inputs are disabled until completion of the internal write
cycle. See Figure 12 for the address, ACKNOWLEDGE, and
data transfer sequence.
Stops and EEPROM Write Modes
Stop conditions that terminate write operations must be sent
by the master after sending at least 1 full data byte and
receiving the subsequent ACKNOWLEDGE signal. If the
master issues a STOP within a Data Byte, or before the
X9520 issues a corresponding ACKNOWLEDGE, the X9520
cancels the write operation. Therefore, the contents of the
EEPROM array does not change.
FN8206.2
August 20, 2007
X9520
5 bytes
5 BYTES
7 BYTES
ADDRESS = 610
ADDRESS = 1110
ADDRESS = 1510
ADDRESS POINTER
ENDS HERE
ADDRESS = 710
FIGURE 13. EXAMPLE: WRITING 12 BYTES TO A 16-BYTE PAGE STARTING AT LOCATION 11.
SIGNALS FROM
THE MASTER
SDA BUS
S
T
A
R
T
S
T
O
P
SLAVE
ADDRESS
1 0 1 0 0 0 0
SIGNALS FROM
THE SLAVE
1
A
C
K
DATA
FIGURE 14. CURRENT EEPROM ADDRESS READ SEQUENCE
EEPROM Array Read Operations
Read operations are initiated in the same manner as write
operations with the exception that the R/W bit of the Slave
Address Byte is set to one. There are three basic read
operations: Current EEPROM Address Read, Random
EEPROM Read, and Sequential EEPROM Read.
Current EEPROM Address Read
Internally the device contains an address counter that
maintains the address of the last word read incremented by
one. Therefore, if the last read was to address n, the next
read operation would access data from address n+1. On
power-up, the address of the address counter is undefined,
requiring a read or write operation for initialization.
Another important point to note regarding the “Current
EEPROM Address Read” , is that this operation is not
available if the last executed operation was an access to a
DCP or the CONSTAT Register (i.e.: an operation using the
Device Type Identifier 1010111 or 1010010). Immediately
after an operation to a DCP or CONSTAT Register is
performed, only a “Random EEPROM Read” is available.
Immediately following a “Random EEPROM Read” , a
“Current EEPROM Address Read” or “Sequential EEPROM
Read” is once again available (assuming that no access to a
DCP or CONSTAT Register occur in the interim).
Random EEPROM Read
Upon receipt of the Slave Address Byte with the R/W bit set
to one, the device issues an ACKNOWLEDGE and then
transmits the eight bits of the Data Byte. The master
terminates the read operation when it does not respond with
an ACKNOWLEDGE during the ninth clock and then issues
a STOP condition (See Figure 14 for the address,
ACKNOWLEDGE, and data transfer sequence).
Random read operation allows the master to access any
memory location in the array. Prior to issuing the Slave
Address Byte with the R/W bit set to one, the master must
first perform a “dummy” write operation. The master issues
the START condition and the Slave Address Byte, receives
an ACKNOWLEDGE, then issues an Address Byte. This
“dummy” Write operation sets the address pointer to the
address from which to begin the random EEPROM read
operation.
It should be noted that the ninth clock cycle of the read
operation is not a “don’t care.” To terminate a read operation,
the master must either issue a STOP condition during the
ninth cycle or hold SDA HIGH during the ninth clock cycle
and then issue a STOP condition.
After the X9520 acknowledges the receipt of the Address
Byte, the master immediately issues another START
condition and the Slave Address Byte with the R/W bit set to
one. This is followed by an ACKNOWLEDGE from the
X9520 and then by the eight bit word. The master terminates
11
FN8206.2
August 20, 2007
X9520
WRITE Operation
S
t
a
r
t
Signals from the
Master
SDA Bus
Slave
Address
S
t
a
r
t
Address
Byte
1 0 1 0 0 0 0
0
S
t
o
p
Slave
Address
1 0 1 0 0 0 0
A
C
K
Signals from the
Slave
READ Operation
1
A
C
K
A
C
K
Data
“Dummy” Write
FIGURE 15. RANDOM EEPROM ADDRESS READ SEQUENCE
the read operation by not responding with an
ACKNOWLEDGE and instead issuing a STOP condition
(Refer to Figure 15.).
the address space the counter “rolls over” to address 00h and
the device continues to output data for each
ACKNOWLEDGE received (Refer to Figure 16.).
A similar operation called “Set Current Address” also exists.
This operation is performed if a STOP is issued instead of
the second START shown in Figure 15. In this case, the
device sets the address pointer to that of the Address Byte,
and then goes into standby mode after the STOP bit. All bus
activity will be ignored until another START is detected.
Control and Status Register
Sequential EEPROM Read
Sequential reads can be initiated as either a current address
read or random address read. The first Data Byte is
transmitted as with the other modes; however, the master
now responds with an ACKNOWLEDGE, indicating it
requires additional data. The X9520 continues to output a
Data Byte for each ACKNOWLEDGE received. The master
terminates the read operation by not responding with an
ACKNOWLEDGE and instead issuing a STOP condition.
The data output is sequential, with the data from address n
followed by the data from address n + 1. The address counter
for read operations increments through the entire memory
contents to be serially read during one operation. At the end of
Slave
Address
Signals from the
Master
SDA Bus
0 0 0
The CONSTAT register is a combination of both volatile and
nonvolatile bits. The nonvolatile bits of the CONSTAT
register retain their stored values even when V1/VCC is
powered down, then powered back up. The volatile bits
however, will always power-up to a known logic state “0”
(irrespective of their value at power-down).
A detailed description of the function of each of the
CONSTAT register bits follows:
WEL: WRITE ENABLE LATCH (VOLATILE)
The WEL bit controls the Write Enable status of the entire
X9520 device. This bit must first be enabled before ANY
write operation (to DCPs, EEPROM memory array, or the
CONSTAT register). If the WEL bit is not first enabled, then
ANY proceeding (volatile or nonvolatile) write operation to
A
C
K
A
C
K
S
t
o
p
A
C
K
1
A
C
K
Signals from the
Slave
The Control and Status (CONSTAT) Register provides the
user with a mechanism for changing and reading the status
of various parameters of the X9520 (See Figure 17).
Data
(1)
Data
(2)
Data
(n-1)
Data
(n)
(n is any integer greater than 1)
FIGURE 16. SEQUENTIAL EEPROM READ SEQUENCE
12
FN8206.2
August 20, 2007
X9520
BL1, BL0: BLOCK LOCK PROTECTION BITS (NONVOLATILE)
CS7
POR1
CS6
V2OS
NV
CS5
CS4
CS3
CS2
CS1
CS0
V3OS
BL1
BL0
RWEL
WEL
POR0
NV
NV
NV
The Block Lock protection bits (BL1 and BL0) are used to:
• Inhibit a write operation from being performed to certain
addresses of the EEPROM memory array
• Inhibit a DCP write operation (changing the “wiper
position”)
BIT(S)
DESCRIPTION
WEL
Write Enable Latch bit
RWEL
Register Write Enable Latch bit
V2OS
V2 Output Status flag
V3OS
V3 Output Status flag
BL1 - BL0
Sets the Block Lock partition
BL1
BL0
PROTECTED ADDRESSES
(SIZE)
PARTITION OF
ARRAY LOCKED
POR1 - POR0
Sets the Power-on Reset time
0
0
None (Default)
None (Default)
0
1
C0h - FFh (64 bytes)
Upper 1/4
1
0
80h - FFh (128 bytes)
Upper 1/2
1
1
00h - FFh (256 bytes)
All
NOTE: Bits labelled NV are nonvolatile (See “CONTROL AND STATUS REGISTER”).
FIGURE 17. CONSTAT REGISTER FORMAT
DCPs, EEPROM array, as well as the CONSTAT register, is
aborted and no ACKNOWLEDGE is issued after a Data
Byte.
The WEL bit is a volatile latch that powers up in the disabled,
LOW (0) state. The WEL bit is enabled/set by writing
00000010 to the CONSTAT register. Once enabled, the WEL
bit remains set to “1” until either it is reset to “0” (by writing
00000000 to the CONSTAT register) or until the X9520
powers down, and then up again.
Writes to the WEL bit do not cause an internal high voltage
write cycle. Therefore, the device is ready for another
operation immediately after a STOP condition is executed in
the CONSTAT Write command sequence (See Figure 18).
RWEL: REGISTER WRITE ENABLE LATCH (VOLATILE)
The RWEL bit controls the (CONSTAT) Register Write
Enable status of the X9520. Therefore, in order to write to
any of the bits of the CONSTAT Register (except WEL), the
RWEL bit must first be set to “1”. The RWEL bit is a volatile
bit that powers up in the disabled, LOW (“0”) state.
It must be noted that the RWEL bit can only be set, once the
WEL bit has first been enabled (See "CONSTAT Register
Write Operation").
The RWEL bit will reset itself to the default “0” state, in one
of three cases:
• After a successful write operation to any bits of the
CONSTAT register has been completed (See Figure 18).
• When the X9520 is powered down.
• When attempting to write to a Block Lock protected region
of the EEPROM memory (See "BL1, BL0: Block Lock
protection bits - (Nonvolatile)").
13
The region of EEPROM memory which is protected/locked is
determined by the combination of the BL1 and BL0 bits
written to the CONSTAT register. It is possible to lock the
regions of EEPROM memory shown in the table below:
If the user attempts to perform a write operation on a
protected region of EEPROM memory, the operation is
aborted without changing any data in the array.
When the Block Lock bits of the CONSTAT register are set to
something other than BL1 = 0 and BL0 = 0, then the “wiper
position” of the DCPs cannot be changed - i.e. DCP write
operations cannot be conducted:
BL1
BL0
DCP WRITE OPERATION PERMISSABLE
0
0
YES (Default)
0
1
NO
1
0
NO
1
1
NO
The factory default setting for these bits are BL1 = 0, BL0 = 0.
IMPORTANT NOTE: If the Write Protect (WP) pin of the
X9520 is active (HIGH), then all nonvolatile write operations
to both the EEPROM memory and DCPs are inhibited,
irrespective of the Block Lock bit settings (See "WP: Write
Protection Pin").
POR1, POR0: POWER-ON RESET BITS – (NONVOLATILE)
Applying voltage to VCC activates the Power-on Reset circuit
which holds V1RO output HIGH, until the supply voltage
stabilizes above the VTRIP1 threshold for a period of time,
tPURST (See Figure 30).
The Power-on Reset bits, POR1 and POR0 of the CONSTAT
register determine the tPURST delay time of the Power-on
Reset circuitry (See "Voltage Monitoring Functions"). These
bits of the CONSTAT register are nonvolatile, and therefore
power-up to the last written state.
FN8206.2
August 20, 2007
X9520
SCL
SDA
S
T
A
R
T
1
0
1
0
0
1
0
R/W A
C
K
1
SLAVE ADDRESS BYTE
1
1
1
1
1
ADDRESS BYTE
1
1
A
C
K
CS7 CS6 CS5 CS4 CS3 CS2 CS1 CS0
CONSTAT REGISTER DATA IN
A
C
K
S
T
O
P
FIGURE 18. CONSTAT REGISTER WRITE COMMAND SEQUENCE
The nominal Power-on Reset delay time can be selected
from the following table, by writing the appropriate bits to the
CONSTAT register:
POR1
POR0
POWER-ON RESET DELAY (TPUV1RO)
0
0
50ms
0
1
100ms (Default)
1
0
200ms
1
1
300ms
The default for these bits are POR1 = 0, POR0 = 1.
V2OS, V3OS: VOLTAGE MONITOR STATUS BITS
(VOLATILE)
Bits V2OS and V3OS of the CONSTAT register are latched,
volatile flag bits which indicate the status of the Voltage
Monitor reset output pins V2RO and V3RO.
At power-up the VxOS (x = 2,3) bits default to the value “0”.
These bits can be set to a “1” by writing the appropriate value to
the CONSTAT register. To provide consistency between the
VxRO and VxOS however, the status of the VxOS bits can only
be set to a “1” when the corresponding VxRO output is HIGH.
Once the VxOS bits have been set to “1”, they will be reset to
“0” if:
• The device is powered down, then back up
• The corresponding VxRO output becomes LOW
CONSTAT Register Write Operation
The CONSTAT register is accessed using the Slave Address
set to 1010010 (Refer to Figure 4.). Following the Slave
Address Byte, access to the CONSTAT register requires an
Address Byte which must be set to FFh. Only one data byte
is allowed to be written for each CONSTAT register Write
operation. The user must issue a STOP, after sending this
byte to the register, to initiate the nonvolatile cycle that
stores the BP1, BP0, POR1 and POR0 bits. The X9520 will
not ACKNOWLEDGE any data bytes written after the first
byte is entered (Refer to Figure 18.).
Prior to writing to the CONSTAT register, the WEL and
RWEL bits must be set using a two step process, with the
whole sequence requiring 3 steps.
• Write a 02H to the CONSTAT Register to set the Write
Enable Latch (WEL). This is a volatile operation, so there
is no delay after the write. (Operation preceded by a
START and ended with a STOP).
• Write a 06H to the CONSTAT Register to set the Register
Write Enable Latch (RWEL) AND the WEL bit. This is also a
volatile cycle. The zeros in the data byte are required.
(Operation preceded by a START and ended with a STOP).
• Write a one byte value to the CONSTAT Register that has
all the bits set to the desired state. The CONSTAT register
can be represented as qxyst01r in binary, where xy are the
Voltage Monitor Output Status (V2OS and V3OS) bits, st
are the Block Lock Protection (BL1 and BL0) bits, and qr
are the Power-on Reset delay time (tPUV1RO) control bits
(POR1 - POR0). This operation is proceeded by a START
and ended with a STOP bit. Since this is a nonvolatile
write cycle, it will typically take 5ms to complete. The
RWEL bit is reset by this cycle and the sequence must be
repeated to change the nonvolatile bits again. If bit 2 is set
to ‘1’ in this third step (qxys t11r) then the RWEL bit is set,
but the V2OS, V3OS, POR1, POR0, BL1 and BL0 bits
remain unchanged. Writing a second byte to the control
register is not allowed. Doing so aborts the write operation
and the X9520 does not return an ACKNOWLEDGE.
For example, a sequence of writes to the device CONSTAT
register consisting of [02H, 06H, 02H] will reset all of the
nonvolatile bits in the CONSTAT Register to “0”.
It should be noted that a write to any nonvolatile bit of
CONSTAT register will be ignored if the Write Protect pin of
the X9520 is active (HIGH) (See "WP: Write Protection Pin").
CONSTAT Register Read Operation
The contents of the CONSTAT Register can be read at any time
by performing a random read (See Figure 19). Using the Slave
Address Byte set to 10100101, and an Address Byte of FFh.
Only one byte is read by each register read operation. The
X9520 resets itself after the first byte is read. The master should
supply a STOP condition to be consistent with the bus protocol.
After setting the WEL and/or the RWEL bit(s) to a “1”, a
CONSTAT register read operation may occur, without
interrupting a proceeding CONSTAT register write operation.
14
FN8206.2
August 20, 2007
X9520
S
t
a
r
t
Signals from the
Master
WRITE Operation
Slave
Address
S
t
a
r
t
Address
Byte
READ Operation
S
t
o
p
Slave
Address
CS7 … CS0
SDA Bus
1 0 1 0 0 1 01
10 1 0 0 1 0 0
A
C
K
Signals from the
Slave
A
C
K
A
C
K
Data
“Dummy” Write
FIGURE 19. CONSTAT REGISTER READ COMMAND SEQUENCE
Data Protection
There are a number of levels of data protection features
designed into the X9520. Any write to the device first
requires setting of the WEL bit in the CONSTAT register. A
write to the CONSTAT register itself, further requires the
setting of the RWEL bit. Block Lock protection of the device
enables the user to inhibit writes to certain regions of the
EEPROM memory, as well as to all the DCPs. One further
level of data protection in the X9520, is incorporated in the
form of the Write Protection pin.
V1/VCC
VTRIP1
0 Volts
MR
V1RO
0 Volts
0 Volts
WP: Write Protection Pin
When the Write Protection (WP) pin is active (HIGH), it
disables nonvolatile write operations to the X9520.
tPURST
FIGURE 20. MANUAL RESET RESPONSE
The table below (X9520 Write Permission Status)
summarizes the effect of the WP pin (and Block Lock), on
the write permission status of the device.
is that the value of tPURST may be selected in software via
the CONSTAT register (See “POR1, POR0: Power-on Reset
bits – (Nonvolatile)” on page 13.).
Additional Data Protection Features
It is recommended to stop communication to the device
while V1R0 is HIGH. Also, setting the Manual Reset (MR)
pin HIGH overrides the Power-on/Low Voltage circuitry and
forces the V1RO output pin HIGH (See "MR: Manual
Reset").
In addition to the preceding features, the X9520 also
incorporates the following data protection functionality:
• The proper clock count and data bit sequence is required
prior to the STOP bit in order to start a nonvolatile write
cycle.
Voltage Monitoring Functions
V1/VCC Monitoring
The X9520 monitors the supply voltage and drives the V1RO
output HIGH (using an external “pull up” resistor) if V1/VCC
is lower than VTRIP1 threshold. The V1RO output will remain
HIGH until V1/VCC exceeds VTRIP1 for a minimum time of
tPURST. After this time, the V1RO pin is driven to a LOW
state. See Figure 30.
MR: Manual Reset
The V1RO output can be forced HIGH externally using the
Manual Reset (MR) input. MR is a de-bounced, TTL
compatible input, and so it may be operated by connecting a
push-button directly from V1/VCC to the MR pin.
V1RO remains HIGH for time tPURST after MR has returned
to its LOW state (See Figure 20). An external “pull down”
resistor is required to hold this pin (normally) LOW.
For the Power-on/Low Voltage Reset function of the X9520,
the V1RO output may be driven HIGH down to a V1/VCC of
1V (VRVALID). See Figure 30. Another feature of the X9520,
15
FN8206.2
August 20, 2007
X9520
X9520 Write Permission Status
WRITE TO CONSTAT REGISTER
PERMITTED
BLOCK
LOCK BITS
BL0
BL1
WP
DCP VOLATILE WRITE
PERMITTED
DCP NONVOLATILE
WRITE PERMITTED
WRITE TO EEPROM
PERMITTED
VOLATILE BITS
NONVOLATILE
BITS
x
1
1
NO
NO
NO
NO
NO
1
x
1
NO
NO
NO
NO
NO
0
0
1
YES
NO
NO
NO
NO
x
1
0
NO
NO
Not in locked region
YES
YES
1
x
0
NO
NO
Not in locked region
YES
YES
0
0
0
YES
YES
Yes (All Array)
YES
YES
VTRIPx
Vx
0V
VxRO
0V
V1/VCC
VTRIP1
0 Volts
precision/tolerance is required, the X9520 trip points may be
adjusted by the user, using the steps detailed below.
Setting a VTRIPx Voltage (x = 1,2,3)
There are two procedures used to set the threshold voltages
(VTRIPx), depending if the threshold voltage to be stored is
higher or lower than the present value. For example, if the
present VTRIPx is 2.9 V and the new VTRIPx is 3.2 V, the
new voltage can be stored directly into the VTRIPx cell. If
however, the new setting is to be lower than the present
setting, then it is necessary to “reset” the VTRIPx voltage
before setting the new value.
Setting a Higher VTRIPx Voltage (x = 1,2,3)
(x = 2,3)
FIGURE 21. VOLTAGE MONITOR RESPONSE
V2 Monitoring
The X9520 asserts the V2RO output HIGH if the voltage V2
exceeds the corresponding VTRIP2 threshold (See Figure
21). The bit V2OS in the CONSTAT register is then set to a
“0” (assuming that it has been set to “1” after system
initilization).
The V2RO output may remain active HIGH with VCC down to
1V.
V3 Monitoring
The X9520 asserts the V3RO output HIGH if the voltage V3
exceeds the corresponding VTRIP3 threshold (See Figure
21). The bit V3OS in the CONSTAT register is then set to a
“0” (assuming that it has been set to “1” after system
initilization).
The V3RO output may remain active HIGH with VCC down to
1V.
VTRIPx Thresholds (x = 1,2,3)
The X9520 is shipped with pre-programmed threshold
(VTRIPx) voltages. In applications where the required
thresholds are different from the default values, or if a higher
16
To set a VTRIPx threshold to a new voltage which is higher
than the present threshold, the user must apply the desired
VTRIPx threshold voltage to the corresponding input pin
(V1/VCC, V2 or V3). Then, a programming voltage (Vp) must
be applied to the WP pin before a START condition is set up on
SDA. Next, issue on the SDA pin the Slave Address A0h,
followed by the Byte Address 01h for VTRIP1, 09h for
VTRIP2, and 0Dh for VTRIP3, and a 00h Data Byte in order to
program VTRIPx. The STOP bit following a valid write
operation initiates the programming sequence. Pin WP must
then be brought LOW to complete the operation (See Figure
23). The user does not have to set the WEL bit in the
CONSTAT register before performing this write sequence.
Setting a Lower VTRIPx Voltage (x = 1,2,3).
In order to set VTRIPx to a lower voltage than the present
value, then VTRIPx must first be “reset” according to the
procedure described below. Once VTRIPx has been “reset”,
then VTRIPx can be set to the desired voltage using the
procedure described in “Setting a Higher VTRIPx Voltage”.
Resetting the VTRIPx Voltage (x = 1,2,3).
To reset a VTRIPx voltage, apply the programming voltage
(Vp) to the WP pin before a START condition is set up on SDA.
Next, issue on the SDA pin the Slave Address A0h followed
by the Byte Address 03h for VTRIP1, 0Bh for VTRIP2, and
0Fh for VTRIP3, followed by 00h for the Data Byte in order to
reset VTRIPx. The STOP bit following a valid write operation
FN8206.2
August 20, 2007
X9520
Once the desired VTRIPx threshold has been set, the error
between the desired and (new) actual set threshold can be
determined. This is achieved by applying V1/VCC to the
device, and then applying a test voltage higher than the desired
threshold voltage, to the input pin of the voltage monitor circuit
whose VTRIPx was programmed. For example, if VTRIP2 was
set to a desired level of 3.0 V, then a test voltage of 3.4 V may
be applied to the voltage monitor input pin V2. In the case of
setting of VTRIP1 then only V1/VCC need be applied. In all
cases, care should be taken not to exceed the maximum input
voltage limits.
initiates the programming sequence. Pin WP must then be
brought LOW to complete the operation (See Figure 23).The
user does not have to set the WEL bit in the CONSTAT
register before performing this write sequence.
After being reset, the value of VTRIPx becomes a nominal
value of 1.7V.
VTRIPx Accuracy (x = 1,2,3).
The accuracy with which the VTRIPx thresholds are set, can
be controlled using the iterative process shown in Figure 24.
If the desired threshold is less that the present threshold
voltage, then it must first be “reset” (See "Resetting the
VTRIPx Voltage (x = 1,2,3).").
After applying the test voltage to the voltage monitor input
pin, the test voltage can be decreased (either in discrete
steps, or continuously) until the output of the voltage monitor
circuit changes state. At this point, the error between the
actual/measured, and desired threshold levels is calculated.
The desired threshold voltage is then applied to the appropriate
input pin (V1/VCC, V2 or V3) and the procedure described in
Section “Setting a Higher VTRIPx Voltage“ must be followed.
For example, the desired threshold for VTRIP2 is set to 3.0 V,
and a test voltage of 3.4 V was applied to the input pin V2 (after
VTRIPx
V1/VCC
V2, V3
VP
WP
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
SCL
00h
SDA
A0h
S
T
A
R
T
†
†
†
09h sets VTRIP2
†
0Dh sets V
Data Byte †
01h sets VTRIP1
† All others Reserved.
TRIP3
FIGURE 22. SETTING VTRIPX TO A HIGHER LEVEL (X = 1,2,3).
VP
WP
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
SCL
00h †
SDA
A0h†
S
T
A
R
T
†
†
0Bh Resets VTRIP2
†
0Fh Resets VTRIP3
03h Resets VTRIP1
Data Byte
FIGURE 23. RESETTING THE VTRIPx LEVEL
17
† All others Reserved.
FN8206.2
August 20, 2007
X9520
applying power to V1/VCC). The input voltage is decreased,
and found to trip the associated output level of pin V2RO from a
LOW to a HIGH, when V2 reaches 3.09 V. From this, it can be
calculated that the programming error is 3.09 - 3.0 = 0.09 V.
to the previously set VTRIPx minus the calculated error. If it is
the case that the error is less than zero, then the VTRIPx must
be programmed to a value equal to the previously set VTRIPx
plus the absolute value of the calculated error.
If the error between the desired and measured VTRIPx is
less than the maximum desired error, then the programming
process may be terminated. If however, the error is greater
than the maximum desired error, then another iteration of the
VTRIPx programming sequence can be performed (using the
calculated error) in order to further increase the accuracy of
the threshold voltage.
Continuing the previous example, we see that the calculated
error was 0.09V. Since this is greater than zero, we must first
“reset” the VTRIP2 threshold, then apply a voltage equal to the
last previously programmed voltage, minus the last previously
calculated error. Therefore, we must apply VTRIP2 = 2.91 V to
pin V2 and execute the programming sequence.
Using this process, the desired accuracy for a particular
VTRIPx threshold may be attained using a successive
number of iterations.
If the calculated error is greater than zero, then the VTRIPx
must first be “reset”, and then programmed to the a value equal
Note: X = 1,2,3.
VTRIPx Programming
NO
Let: MDE = Maximum Desired Error
MDE+
Desired VTRIPx <
present value?
Desired Value
MDE–
YES
Execute
VTRIPx Reset
Sequence
Acceptable
Error Range
Error = Actual - Desired
Set Vx = desired VTRIPx
Execute
Set Higher VTRIPx
Sequence
New Vx applied =
Old Vx applied + | Error |
New Vx applied =
Old Vx applied - | Error |
Execute
Reset VTRIPx
Sequence
Apply VCC & Voltage
> Desired VTRIPx to Vx
Decrease Vx
NO
Output
switches?
YES
Error < MDE–
Actual VTRIPx
- Desired VTRIPx
Error >MDE+
= Error
| Error | < | MDE |
DONE
FIGURE 24. VTRIPx SETTING/RESET SEQUENCE (X = 1,2,3)
18
FN8206.2
August 20, 2007
X9520
Absolute Maximum Ratings
Thermal Information
Temperature under Bias. . . . . . . . . . . . . . . . . . . . . . . .-65 to +135°C
Voltage on WP pin (With respect to Vss) . . . . . . . . . . . . -1.0 to +15V
Voltage on other pins (With respect to Vss). . . . . . . . . . . -1.0 to +7V
| Voltage on RHx– Voltage on RLx |
(x = 0,1,2. Referenced to Vss) . . . . . . . . . . . . . . . . . . . . . V1/VCC
DC Output Current (SDA,V1RO,V2RO,V3RO) . . . . . . . . . . . . . 5mA
Supply Voltage Limits
(Applied V1/VCC voltage, referenced to Vss) . . . . . . . 2.7 to 5.5V
Storage Temperature . . . . . . . . . . . . . . . . . . . . . . . . . . -65 to +150°C
Pb-free reflow profile . . . . . . . . . . . . . . . . . . . . . . . . . .see link below
http://www.intersil.com/pbfree/Pb-FreeReflow.asp
Recommended Operating Conditions
Industrial Temperature Range . . . . . . . . . . . . . . . . . .-40°C to +85°C
CAUTION: Do not operate at or near the maximum ratings listed for extended periods of time. Exposure to such conditions may adversely impact product reliability and
result in failures not covered by warranty.
DC Electrical Specifications
SYMBOL
ICC1
(1)
ICC2 (2)
PARAMETER
TEST CONDITIONS/NOTES
Current into VCC Pin
(X9520: Active)
Read memory array (3)
Write nonvolatile memory
fSCL = 400kHz
Current into VCC Pin
(X9520:Standby)
With 2-Wire bus activity (3)
No 2-Wire bus activity
VSDA = VCC
MR = Vss
WP = Vss or Open/Floating
VSCL= VCC (when no bus activity else fSCL = 400kHz)
MIN
UNIT
0.4
1.5
μA
50
50
10
μA
10
μA
1
10
µA
0.1
10
μA
4.70
V
0.1
Input Leakage Current (WP)
Analog Input Leakage
VIN = VSS to VCC with all other analog inputs floating
ILO
Output Leakage Current (SDA, V1RO,
V2RO, V3RO)
VOUT (5) = GND to VCC. X9520 is in Standby
(2)
VTRIP1PR
VTRIP1 Programming Range
Iai
MAX
mA
Input Leakage Current (SCL, SDA, MR) VIN (4) = GND to VCC.
ILI
TYP
2.75
VTRIPxPR
VTRIPx Programming Range (x = 2,3)
4.70
V
VTRIP1 (6)
Pre - programmed VTRIP1 threshold
Factory shipped default option A
Factory shipped default option B
2.85
4.55
1.8
3.0
4.7
3.05
4.75
V
VTRIP2 (6)
Pre - programmed VTRIP2 threshold
Factory shipped default option A
Factory shipped default option B
1.65
2.85
1.8
3.0
1.85
3.05
V
VTRIP3 (6)
Pre - programmed VTRIP3 threshold
Factory shipped default option A
Factory shipped default option B
1.65
2.85
1.8
3.0
1.85
3.05
V
IVx
V2 Input leakage current
V3 Input leakage current
VSDA = VSCL = VCC
Others = GND or VCC
1
1
μA
VIL (7)
Input LOW Voltage (SCL, SDA, WP, MR)
-0.5
0.8
V
(7)
Input HIGH Voltage (SCL,SDA, WP, MR)
2.0
VCC +0.5
V
0.4
V
VIH
VOLx
V1RO, V2RO, V3RO, SDA Output Low
Voltage
ISINK = 2.0mA
NOTES:
1. The device enters the Active state after any START, and remains active until: 9 clock cycles later if the Device Select Bits in the Slave Address
Byte are incorrect; 200ns after a STOP ending a read operation; or tWC after a STOP ending a write operation.
2. The device goes into Standby: 200ns after any STOP, except those that initiate a high voltage write cycle; tWC after a STOP that initiates a high
voltage cycle; or 9 clock cycles after any START that is not followed by the correct Device Select Bits in the Slave Address Byte.
3. Current through external pull up resistor not included.
4. VIN = Voltage applied to input pin.
5. VOUT = Voltage applied to output pin.
6. See Ordering Information Table.
7. VIL Min. and VIH Max. are for reference only and are not tested.
19
FN8206.2
August 20, 2007
X9520
AC Characteristics (See Figure 27, Figure 28, Figure 29)
400kHz
SYMBOL
MIN
MAX
UNITS
SCL Clock Frequency
0
400
kHz
Pulse width Suppression Time at inputs
50
SCL LOW to SDA Data Out Valid
0.1
tBUF
Time the bus free before start of new transmission
1.3
μs
tLOW
Clock LOW Time
1.3
μs
tHIGH
Clock HIGH Time
0.6
μs
tSU:STA
Start Condition Setup Time
0.6
μs
tHD:STA
Start Condition Hold Time
0.6
μs
tSU:DAT
Data In Setup Time
100
ns
tHD:DAT
Data In Hold Time
0
μs
tSU:STO
Stop Condition Setup Time
0.6
μs
Data Output Hold Time
50
ns
fSCL
tIN
(5)
tAA
tDH
(5)
(5)
(5)
PARAMETER
ns
μs
0.9
SDA and SCL Rise Time
20 +.1Cb (2)
tF (5)
SDA and SCL Fall Time
20 +.1Cb (2)
tSU:WP
WP Setup Time
0.6
μs
tHD:WP
WP Hold Time
0
μs
Cb (5)
Capacitive load for each bus line
tR
300
ns
300
ns
400
pF
AC TEST CONDITIONS
Input Pulse Levels
0.1VCC to 0.9VCC
Input Rise and Fall Times
10ns
Input and Output Timing Levels
0.5VCC
Output Load
See Figure 25
Nonvolatile Write Cycle Timing
SYMBOL
tWC (Note 4)
PARAMETER
MIN
TYP (Note 1)
MAX
UNITS
5
10
ms
Nonvolatile Write Cycle Time
Capacitance (TA = +25°C, f = 1.0MHz, VCC = 5V)
SYMBOL
PARAMETER
MAX
UNITS
TEST CONDITIONS
COUT (Note 5)
Output Capacitance (SDA, V1RO, V2RO, V3RO)
8
pF
VOUT = 0V
CIN (Note 5)
Input Capacitance (SCL, WP, MR)
6
pF
VIN = 0V
NOTES:
1. Typical values are for TA = 25°C and VCC = 5.0V.
2. Cb = total capacitance of one bus line in pF.
3. Over recommended operating conditions, unless otherwise specified.
4. tWC is the time from a valid STOP condition at the end of a write sequence to the end of the self-timed internal nonvolatile write cycle. It is the
minimum cycle time to be allowed for any nonvolatile write by the user, unless Acknowledge Polling is used.
5. This parameter is not 100% tested.
20
FN8206.2
August 20, 2007
X9520
Potentiometer Characteristics
LIMITS
SYMBOL
PARAMETER
TEST CONDITIONS/NOTES
MIN
TYP
MAX
UNITS
RTOL
End to End Resistance Tolerance
-20
+20
%
VRHx
RH Terminal Voltage (x = 0,1,2)
Vss
VCC
V
VRLx
RL Terminal Voltage (x = 0,1,2)
Vss
VCC
V
PR
Power Rating (1) (6)
RTOTAL = 10kΩ (DCP0, DCP1)
10
mW
RTOTAL = 100kΩ (DCP2)
5
mW
RW
DCP Wiper Resistance
IW = 1mA, VCC = 5 V, VRHx = VCC,
VRLx = Vss (x = 0,1,2).
200
400
Ω
IW = 1mA, VCC = 2.7 V, VRHx = VCC,
VRLx = Vss (x = 0,1,2)
400
1200
Ω
4.4
mA
Wiper Current (6)
IW
Noise
RTOTAL = 10kΩ (DCP0, DCP1)
mV/
√(Hz)
RTOTAL = 100kΩ (DCP2)
mV/
√(Hz)
Absolute Linearity (2)
Rw(n)(actual) - Rw(n)(expected)
-1
+1
MI(4)
Relative Linearity (3)
Rw(n+1) - [Rw(n)+MI]
-1
+1
MI(4)
RTOTAL Temperature Coefficient
RTOTAL = 10kΩ (DCP0, DCP1)
±300
ppm/°C
RTOTAL = 100kΩ (DCP2)
±300
ppm/°C
10/10/25
pF
CH/CL/CW
Potentiometer Capacitances (6)
See Figure 26.
twr
Wiper Response time (6)
See Figure 34.
200
μs
NOTES:
1. Power Rating between the wiper terminal RWX(n) and the end terminals RHX or RLX - for ANY tap position n, (x = 0,1,2).
2. Absolute Linearity is utilized to determine actual wiper resistance versus, expected resistance = (Rwx(n)(actual) - Rwx(n)(expected)) = ±1 Ml
Maximum (x = 0,1,2).
3. Relative Linearity is a measure of the error in step size between taps = RWx(n+1) - [Rwx(n) + Ml] = ±1 Ml (x = 0,1,2)
4. 1 Ml = Minimum Increment = RTOT/(Number of taps in DCP - 1).
5. Typical values are for TA = 25°C and nominal supply voltage.
6. This parameter is periodically sampled and not 100% tested.
VTRIPX (x = 1,2,3) Programming Parameters (See Figure 33)
PARAMETER
DESCRIPTION
MIN
TYP
MAX
UNITS
tVPS
VTRIPx Program Enable Voltage Setup time
10
μs
tVPH
VTRIPx Program Enable Voltage Hold time
10
μs
tTSU
VTRIPx Setup time
10
μs
tTHD
VTRIPx Hold (stable) time
10
μs
tVPO
VTRIPx Program Enable Voltage Off time (Between successive adjustments)
1
ms
twc
VTRIPx Write Cycle time
VP
Programming Voltage
Vta
Vtv
5
10
ms
10
15
V
VTRIPx Program Voltage accuracy (Programmed at 25°C.)
-100
+100
mV
VTRIP Program variation after programming (-40 - 85°C). (Programmed at 25°C.)
-25
+25
mV
+10
NOTE: The above parameters are not 100% tested.
21
FN8206.2
August 20, 2007
X9520
V1RO, V2RO, V3RO Output Timing. (See Figure 30, Figure 31, Figure 32)
SYMBOL
tPURST
(5)
DESCRIPTION
CONDITION
MIN
TYP
MAX
UNITS
Power On Reset delay time
POR1 = 0, POR0 = 0
25
50
75
ms
POR1 = 0, POR0 = 1
50
100
150
ms
POR1 = 1, POR0 = 0
100
200
300
ms
POR1 = 1, POR0 = 1
150
300
450
ms
5
μs
tMRD (Figure 31) (2)
(5)
MR to V1RO propagation delay
tMRDPW (5)
MR pulse width
tRPDx (5)
V1/VCC, V2, V3 to V1RO, V2RO, V3RO
propagation delay (respectively)
tFx (5)
V1/VCC, V2, V3 Fall Time
20
mV/μs
V1/VCC, V2, V3 Rise Time
20
mV/μs
V1/VCC for V1RO, V2RO, V3RO Valid
(3).
1
V
tRx
(5)
VRVALID
(5)
See (1) (2) (4)
500
ns
μs
20
NOTES:
1. See Figure 31 for timing diagram.
2. See Figure 25 for equivalent load.
3. This parameter describes the lowest possible V1/VCC level for which the outputs V1RO, V2RO, and V3RO will be correct with respect to their
inputs (V1/VCC, V2, V3).
4. From MR rising edge crossing VIH, to V1RO rising edge crossing VOH.
5. The above parameters are not 100% tested.
V1/VCC = 5V
RTOTAL
RHx
2300Ω
CH
SDA
V2RO
RW
RLx
10pF
CW
10pF
100pF
V3RO
CL
V1RO
25pF
(x = 0,1,2)
RWx
FIGURE 25. EQUIVALENT AC CIRCUIT
FIGURE 26. DCP SPICE MACROMODEL
Timing Diagrams
tHIGH
tF
SCL
tLOW
tR
tSU:DAT
tSU:STA
SDA IN
tHD:STA
tHD:DAT
tSU:STO
tAA
tDH
tBUF
SDA OUT
FIGURE 27. BUS TIMING
22
FN8206.2
August 20, 2007
X9520
START
SCL
Clk 1
Clk 9
SDA IN
tSU:WP
WP
tHD:WP
FIGURE 28. WP PIN TIMING
SCL
8th BIT OF LAST BYTE
SDA
ACK
tWC
STOP
CONDITION
START
CONDITION
FIGURE 29. WRITE CYCLE TIMING
t
tR
F
V1/VCC
VTRIP1
0V
tPURST
tPURST
tRPD
tRPD
V1RO
0V
MR
0V
FIGURE 30. POWER-UP AND POWER-DOWN TIMING
23
FN8206.2
August 20, 2007
X9520
MR
tMRPW
0V
t
tMRD
V1RO
PURST
0V
V1/VCC
V1/VCC
V
TRIP1
FIGURE 31. MANUAL RESET TIMING DIAGRAM
t
tFx
Rx
Vx
V
tRPDx
tRPDx
TRIPx
tRPDx
0V
tRPDx
VxRO
0V
V1/VCC
V
V
TRIP1
RVALID
0V
Note : x = 2,3.
FIGURE 32. V2, V3 TIMING DIAGRAM
24
FN8206.2
August 20, 2007
X9520
V1/VCC, V2, V3
VTRIPx
tTSU
tTHD
VP
WP
tVPS
tVPO
SCL
twc
00h
SDA
tVPH
NOTE : V1/VCC must be greater than V2, V3 when programming.
FIGURE 33. VTRIPX PROGRAMMING TIMING DIAGRAM (X = 1,2,3)
Rwx (x = 0,1,2)
Rwx(n+1)
Rwx(n)
Rwx(n-1)
twr
Time
n = tap position
SCL
SDA
S 1
T
A
R
T
0
1
0
1
1
SLAVE ADDRESS BYTE
1
0
A WT
C
K
0
0
0
0
0
P1 P0
A
C
K
D7
INSTRUCTION BYTE
D6
D5
D4
D3
DATA BYTE
D2
D1
D0
A
C
K
S
T
O
P
FIGURE 34. DCP “WIPER POSITION” TIMING
25
FN8206.2
August 20, 2007
X9520
Appendix 1
DCP1 (100 Tap) Tap Position to Data Byte Translation Table
DATA BYTE
TAP
POSITION
DECIMAL
BINARY
0
0
0000 0000
1
1
0000 0001
.
.
.
.
.
.
23
23
0001 0111
24
24
0001 1000
25
56
0011 1000
26
55
0011 0111
.
.
.
.
.
.
48
33
0010 0001
49
32
0010 0000
50
64
0100 0000
51
65
0100 0001
.
.
.
.
.
.
73
87
0101 0111
74
88
0101 1000
75
120
0111 1000
76
119
0111 0111
.
.
.
.
.
.
98
97
0110 0001
99
96
0110 0000
26
FN8206.2
August 20, 2007
X9520
Appendix 2
DCP1 (100 Tap) Tap Position to Data Byte Translation Algorithm Example. (Example 1)
unsigned
{
int
int
int
int
DCP1_TAP_Position(int tap_pos)
block;
i;
offset;
wcr_val;
offset= 0;
block = tap_pos / 25;
if (block < 0) return ((unsigned)0);
else if (block <= 3)
{
switch(block)
{
case (0): return ((unsigned)tap_pos) ;
case (1):
{
wcr_val = 56;
offset = tap_pos - 25;
for (i=0; i<= offset; i++) wcr_val-- ;
return ((unsigned)++wcr_val);
}
case (2):
{
wcr_val = 64;
offset = tap_pos - 50;
for (i=0; i<= offset; i++) wcr_val++ ;
return ((unsigned)--wcr_val);
}
case (3):
{
wcr_val = 120;
offset = tap_pos - 75;
for (i=0; i<= offset; i++) wcr_val-- ;
return ((unsigned)++wcr_val);
}
}
}
return((unsigned)01100000);
}
27
FN8206.2
August 20, 2007
X9520
Appendix 2
DCP1 (100 TAP) TAP POSITION TO DATA BYTE TRANSLATION ALGORITHM EXAMPLE. (EXAMPLE 2)
unsigned DCP100_TAP_Position(int tap_pos)
{
/* optional range checking
*/ if (tap_pos < 0) return ((unsigned)0);
else if (tap_pos >99) return ((unsigned) 96);
/* set to min val */
/* set to max val */
/* 100 Tap DCP encoding formula */
if (tap_pos > 74)
return ((unsigned) (195 - tap_pos));
else if (tap_pos > 49)
return ((unsigned) (14 + tap_pos));
else if (tap_pos > 24)
return ((unsigned) (81 - tap_pos));
else return (tap_pos);
}
28
FN8206.2
August 20, 2007
X9520
Thin Shrink Small Outline Package Family (TSSOP)
0.25 M C A B
D
MDP0044
A
THIN SHRINK SMALL OUTLINE PACKAGE FAMILY
(N/2)+1
N
SYMBOL 14 LD 16 LD 20 LD 24 LD 28 LD TOLERANCE
PIN #1 I.D.
E
E1
1
(N/2)
B
0.20 C B A
2X
N/2 LEAD TIPS
TOP VIEW
0.05
e
C
H
A
1.20
1.20
1.20
1.20
1.20
Max
A1
0.10
0.10
0.10
0.10
0.10
±0.05
A2
0.90
0.90
0.90
0.90
0.90
±0.05
b
0.25
0.25
0.25
0.25
0.25
+0.05/-0.06
c
0.15
0.15
0.15
0.15
0.15
+0.05/-0.06
D
5.00
5.00
6.50
7.80
9.70
±0.10
E
6.40
6.40
6.40
6.40
6.40
Basic
E1
4.40
4.40
4.40
4.40
4.40
±0.10
e
0.65
0.65
0.65
0.65
0.65
Basic
L
0.60
0.60
0.60
0.60
0.60
±0.15
L1
1.00
1.00
1.00
1.00
1.00
Reference
Rev. E 12/02
SEATING
PLANE
NOTES:
0.10 M C A B
b
0.10 C
N LEADS
SIDE VIEW
1. Dimension “D” does not include mold flash, protrusions or gate
burrs. Mold flash, protrusions or gate burrs shall not exceed
0.15mm per side.
2. Dimension “E1” does not include interlead flash or protrusions.
Interlead flash and protrusions shall not exceed 0.25mm per
side.
SEE DETAIL “X”
3. Dimensions “D” and “E1” are measured at dAtum Plane H.
4. Dimensioning and tolerancing per ASME Y14.5M-1994.
c
END VIEW
L1
A
A2
GAUGE
PLANE
0.25
L
A1
0° - 8°
DETAIL X
All Intersil U.S. products are manufactured, assembled and tested utilizing ISO9000 quality systems.
Intersil Corporation’s quality certifications can be viewed at www.intersil.com/design/quality
Intersil products are sold by description only. Intersil Corporation reserves the right to make changes in circuit design, software and/or specifications at any time without
notice. Accordingly, the reader is cautioned to verify that data sheets are current before placing orders. Information furnished by Intersil is believed to be accurate and
reliable. However, no responsibility is assumed by Intersil or its subsidiaries for its use; nor for any infringements of patents or other rights of third parties which may result
from its use. No license is granted by implication or otherwise under any patent or patent rights of Intersil or its subsidiaries.
For information regarding Intersil Corporation and its products, see www.intersil.com
29
FN8206.2
August 20, 2007