XICOR X46402V8-3.1

Preliminary Information
X46402
64K
Dual Voltage CPU Supervisor with 64K Password Protected EEPROM
FEATURES
DESCRIPTION
• Dual Voltage Detection and Reset Assertion
—Low Vcc Monitor
—Low V2MON Monitor
—Low Vcc Block of EEPROM Writes
—RESET Signal Valid down to Vcc=1V
• Selectable Watchdog Timer
—150ms, 450ms, 1s, 5s, 10s, 20s, 1min, OFF
• Volatile Flag shows Watchdog/Low Voltage Reset
• 64kbit 2-wire Serial EEPROM
—1MHz Serial Interface speed
—64-Byte Page Write Mode
• Two 64-Byte OTP memory blocks
—Requires 64-bit OTP password to write
• Adjustable size Password Protected Array
—64 Bit Read and Write Array Passwords
—Non-password protected array area
• 8 count tamper counter for invalid passwords
• Operates at 2.5-3.7V
• 8L TSSOP package
The X46402 combines several functions into one device.
The first is a dual voltage CPU supervisor plus 64Kbit
serial EEPROM memory with password protected write
and read operations. The size of the password protected
area is selectable by 3 control bits. A Write Protect (WP)
pin in conjunction with a WPEN bit provides hardware
OTP control of the configuration of the array. Password
protected areas require 64 bit read or write passwords
prior to access. The eighth illegal password entry
(regardless of the number of correct entries) sets an OTP
tamper bit. This bit is one of the 32 bits in the Device ID.
A secondary voltage monitor circuit activates a V2FAIL
pin when the secondary supply voltage drops below a
V2trip voltage. This circuit is primarily intended to detect
the immediate loss of the battery supply.
A low Vcc voltage detect circuit activates a RESET pin
when Vcc drops below a VTRIP voltage. This signal also
blocks read or write operations.
A watchdog timer with the time period controlled by three
bits provides several possible time out periods from
150ms to 1 minute.
Functional Diagram
WP
WATCHDOG
TIMER RESET
Write Control
Password Logic
SDA
Write Password Area
(Bytes)
(64, 128, 256, 512,
2K, 4K, All, None)
No Password Area
RESET &
WATCHDOG
TIMEBASE
EEPROM
Array (64Kbits)
SCL
Command
Decode
and
Control
Logic
X Decoder
HV Generation
Timing and Control
Control
OTP array 1
OTP array 2
Passwords
RESET
POWER ON AND
LOW VOLTAGE
RESET
GENERATION
V2FAIL
-
Y Decoder
Data Register
V2TRIP
+
(Vcc) Control Signal
-
Xicor, Inc. 1994, 1995, 1996, 1998 Patents Pending
9900-3003 5 1/11/00 CM
V2MON
+
1
Vcc
VTRIP
Characteristics subject to change without notice
X46402
Preliminary Information
sense level. It will remain active until V2MON rises above
the minimum V2MON sense level.
PACKAGE/PINOUTS
8L TSSOP
VSS
WP
SDA
RESET
1
2
3
4
8
7
6
5
DEVICE OPERATION
VCC
V2MON
SCL
V2FAIL
Power On Reset
Application of power to the X46402 activates a Power On
Reset Circuit. This circuit goes active at 1V and pulls the
RESET pin active. This signal prevents the system microprocessor from starting to operate with insufficient voltage or prior to stabilization of the oscillator. When Vcc
exceeds the device VTRIP value for 200ms (nominal) the
circuit releases RESET allowing the processor to begin
executing code.
PIN NAMES
VSS
SDA
VCC
SCL
WP
V2MON
RESET
V2FAIL
Ground
Serial Data
Power
Serial Clock
Write Protect
Voltage monitor input
Low Voltage Detect Output
V2 Voltage Fail Output
Low Voltage Monitoring
During operation, the X46402 monitors the VCC and
V2MON levels and compares these with internal, preset
voltages.
When the internal low voltage detect circuitry senses that
V2MON is low, the V2FAIL pin goes active. Typically this
would be used by the processor as an interrupt to stop
the execution of the code or to do housekeeping in preparation for an impending power failure.
PIN DESCRIPTIONS
Serial Clock (SCL)
The SCL input is used to clock all data into and out of the
device.
When the internal low voltage detect circuitry senses that
Vcc is low, the following happens:
Serial Data (SDA)
SDA is a bidirectional pin used to transfer data into and
out of the device. It is an open drain output and may be
wire-ORed with other open drain or open collector outputs. An open drain requires the use of a pull-up resistor.
—The RESET pin goes active.
—The Flag bit in the control register is set to zero.
—Communication to the device is interrupted and any
command is aborted. If a serial nonvolatile store is in
progress when power fails, the circuitry does not stop
the nonvolatile store operation, but attempts to complete the operation.
Write Protect (WP)
The WP pin works in conjunction with a nonvolatile
WPEN bit to “lock” the setting of the Watchdog Timer
control and the memory write protect bits.
The RESET and V2FAIL signals remain active until Vcc
voltage drops below 1V. RESET remains active until Vcc
returns and exceeds VTRIP for 200ms. V2FAIL remains
active until immediately after V2MON returns and
exceeds it’s minimum voltage.
Reset Output (RESET)
RESET is an active LOW, open drain output which goes
active whenever Vcc falls below the minimum Vtrip sense
level. It will remain active until Vcc rises above the minimum Vtrip sense level for 150ms. RESET goes active if
the Watchdog Timer is enabled and there is no start bit
before the end of the selectable Watchdog time-out
period. A serial start bit will reset the Watchdog Timer.
RESET also goes active on power up at 1V and remains
active for 150ms after the power supply stabilizes.
Watchdog Timer
The Watchdog Timer circuit monitors the microprocessor
activity by monitoring the Start bit. The microprocessor
must send a start bit periodically to prevent a RESET signal. The start bit must occur prior to the expiration of the
watchdog time-out period. The state of three nonvolatile
control bits in the Control Register determines the watchdog timer period. The microprocessor can change these
watchdog bits, or they may be “locked” by tying the WP
pin HIGH and setting the WPEN bit HIGH.
V2 Voltage Fail Output (V2FAIL)
V2FAIL is an active LOW, open drain output which goes
active whenever V2MON falls below the minimum V2trip
2
X46402
Preliminary Information
The Control Register contains bits that control the watchdog timer and the hardware write protect features and is
formatted as follows:
µC
Volt
Reg
Vcc
OTP Mode
Enabled
Pin1
Vss
WP
SDA
RESET
Vcc
V2MON
SCL
V2FAIL
7
RESET
Recommended Connection
ARCHITECTURE
Data Memory
This 64kbit memory array can be partitioned into password protected or non-password protected areas. When
password protected, the contents are readable after
sending a “Memory Read” password. The contents of a
password protected portion of the memory array are
writeable with a “Memory Write” Password. This array is
re-writable up to the limit of the EEPROM endurance.
0000h - 003Fh
OTP Array 2
0040h - 007Fh
3
WD2 WD1 WD0
2
1
0
BL2
BL1
BL0
Flag Bit
The flag bit is a volatile bit. It can be used to determine if
a reset condition was due to a power failure or watchdog
reset condition. If power fails (i.e. the internal low voltage
detect signal goes active), the bit is set to ’0’. This bit is
also set or reset by a Control Register write operation. A
watchdog reset does not change the state of the flag bit.
OTP
The second section of memory consists of two 64-byte
arrays, each writable only once. These arrays are always
password protected. Reading from either of these arrays
requires the use of an “OTP Read” password. Both
arrays can be read with a single operation. Writing either
array requires an “OTP Write” Password. Writing more
than 64 bytes to each array results in the data “wrapping”
around and over-writing previous values.
OTP Array 1
4
Write Protect Enable bit (WPEN)
The WP pin, in conjuction with a WPEN bit programmed
HIGH, provides Hardware Write Protection. This prevents
changes to the control register contents even with a valid
password. When either the WP pin or WPEN bit is LOW,
a 64 bit Array write array password is required to change
the contents of the control register. When both the WP
pin and the WPEN bit are HIGH, the Control Register
cannot be written.
SCL
INTR
Address
5
WPEN FLB
SDA
Array
6
Watchdog Timer Control
The Watchdog time-out period is controlled by the bits
WD2, WD1, and WD0. See the following Table.
Table 1. Watchdog Time Control Bits
Control Register Bits
WD2
WD1
WD0
0
0
0
0
1
1
1
1
Control Register
A password protected read or write array command at
address FFFFh reads or writes the Control Register.
Since the control register contains information relating to
the password protection, it is necessary to use the Array
passwords to access the control register.
3
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
Watchdog Time-out
(Typical)
1 Second
450 Milliseconds
150 Milliseconds
Disabled
1 minute
20 seconds
10 seconds
5 seconds
X46402
Preliminary Information
Password Protection Configuration
Portions of the memory array may be “locked”. This area
of memory is password protected and is defined by the
bits BL2, BL1 and BL0. For these protected areas it is
necessary to use a Read password to output data and an
“Array Write” Password to write data. This block lock
area is re-writable, by issuing the correct password.
If the X46402 is in a nonvolatile write cycle a “no ACK”
(SDA=HIGH) response will be issued in response to
loading of the command byte. If a stop is issued prior to
the start of a nonvolatile write cycle the write operation
will be terminated and the part will reset and enter into a
standby mode.
The basic sequence is illustrated in Figure 1.
Table 2. Password Protected Block Size Select
Password Protected
Addresses
Non-Password
Protected Addresses
(Use Password
Command)
(Use Password or
No-Password Commands)
000
None
0000h - 1FFFh
001
0000h - 003Fh
0040h - 1FFFh
010
0000h - 007Fh
0080h - 1FFFh
011
0000h - 00FFh
0100h - 1FFFh
100
0000h - 01FFh
0200h - 1FFFh
101
0000h - 07FFh
0800h - 1FFFh
110
0000h - 0FFFh
1000h - 1FFFh
111
0000h - 1FFFh
None
BL2
BL1
BL0
After each transaction is completed, the X46402 will
reset and enter into a standby mode. This will also be the
response if an unsuccessful attempt is made to access a
protected array.
Password Protection
The X46402 requires a 64 bit write password to change
the contents of the control register or to write to a block
protected memory area. The X46402 also requires a 64
bit read password to output the contents of the block protected array or the control register. The block protection is
controlled by the [BL2:BL0] bits and allows the options
described in Table 2. If an area is block protected, it
needs a password prior to each read or write to the area.
The passwords cannot be read, even after the device
receives the correct password.
Figure 1. X46402 Device Operation (Password
Protected Areas)
SERIAL MEMORY OPERATION
There are four primary modes of operation for the
X46402; Protected READ and WRITE of the memory
and OTP arrays and unprotected Read and Write of nonpassword protected areas of the memory array. Protected operations must be performed with one of four 8byte passwords.
LOAD COMMAND BYTE
LOAD 8-BYTE
PASSWORD
The basic method of communication for the password
protected areas of the device is established by generating a start condition, then transmitting a command, followed by the correct password. All parts will be shipped
from the factory with all passwords equal to ‘0’. The user
must perform ACK Polling to determine the validity of the
password, before starting a data transfer (see Acknowledge Polling.) Only after the correct password is
accepted and a ACK polling has been performed, can
the data transfer occur.
VERIFY PASSWORD
ACCEPTANCE BY
USE OF PASSWORD ACK POLLING
LOAD 2 BYTE ADDRESS
READ/WRITE
DATA BYTES
Non-password protected areas of the memory array are
accessed in the same manner as access to password
protected areas, except the password and the password
acknowledge polling sequences are not required.
Twc OR DATA ACK POLLING
Data is transferred in 8-bit segments, with each transfer
being followed by an ACK, generated by the receiving
device.
4
X46402
Preliminary Information
Figure 2. Set VTRIP Level Sequence (VCC ≥ VTRIP)
VCC
VTRIP
VP = 15V
RESET
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
D8h
00h
0 1 2 3 4 5 6 7
SCL
SDA
01h
01h sets Vcc
Figure 3. Set V2TRIP Level Sequence (VCC ≥ V2TRIP)
V2TRIP
V2MON
VP = 15V
RESET
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
D8h
00h
0 1 2 3 4 5 6 7
SCL
SDA
0Dh
0Dh sets V2MON
Figure 4. Reset VTRIP Level Sequence (Vcc > 3V, WEL is set.)
VCC
VTRIP
VP = 15V
RESET
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
SDA
D8h
00h
03h
03h resets Vcc
5
X46402
Preliminary Information
Figure 5. Reset V2TRIP Level Sequence (Vcc > 3V, WEL is set.)
V2TRIP
V2MON
VP = 15V
RESET
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
SDA
D8h
00h
0Fh
0Fh resets V2MON
VCC AND V2MON THRESHOLD RESET PROCEDURE
program VTRIP, V2TRIP respectively. The stop bit following
a valid write operation initiates the programming
sequence. Bring RESET LOW to complete the operation.
Note: this operation also writes 01h, or 0Dh to address
00h.
The X46402 is shipped with standard VTRIP, and V2TRIP
voltages. These values will not change over normal operating and storage conditions. However, in applications
where the standard thresholds are not exactly right, or if
higher precision is needed in the threshold value, the
X46402 trip points may be adjusted. The procedure is
described below, and uses the application of a high voltage control signal.
Resetting the VTRIP Voltage
This procedure is used to set the VTRIP, the V2TRIP to a
“native” voltage level. For example, if the current VTRIP is
4.4V and the new VTRIP must be 4.0V, then the VTRIP
must be reset. When the threshold is reset, the new level
is something less than 1.7V. This procedure must be
used to set the voltage to a lower value.
Setting the VTRIP Voltage
This procedure is used to set the VTRIP,V2TRIP to a higher
voltage value. For example, if the current VTRIP is 4.4V
and the new VTRIP is 4.6V, this procedure will directly
make the change. If the new setting is to be lower than
the current setting, then it is necessary to reset the trip
point before setting the new value.
To reset the new VTRIP, V2TRIP voltage, apply the desired
VTRIP or V2TRIP threshold voltage to the Vcc or V2MON
pin, respectively, and tie the RESET pin to the programming voltage VP. Then write 03h or 0Fh to address 00h.
The stop bit of a valid write operation initiates the programming sequence. Bring RESET LOW to complete the
operation. Note: this operation also writes 03h or 0Fh to
address 00h of the EEPROM array.
To set the new voltages, apply the desired VTRIP threshold voltage to the Vcc pin, the V2TRIP voltage to the
V2MON pin, then tie the RESET pin to the programming
voltage VP. Then, write data 01h or 0Dh address 00h to
Figure 6. Sample VTRIP Reset Circuit
VP
V2FAIL
RESET
VTRIP
Adj.
Adjust
5
4
7
2
X46402
1
V2TRIP
Adj.
µC
8
6
3
4.7K
6
Run
SCL
SDA
X46402
Preliminary Information
VTRIP/V2TRIP Programming
Execute
Reset VTRIP/V2TRIP
Sequence
Set Vcc = Vcc applied =
Desired VTRIP OR
Set V2MON = V2MON applied =
Desired V2TRIP, Vcc>=V2Trip
Execute
Set VTRIP, V2TRIP
Sequence
New Vcc or V2MON applied =
Old Vcc V2MON applied + Error
New Vcc/V2MON applied =
Old Vcc applied - Error
Recyle Vcc power
Execute
Reset V2TRIP, VTRIP
Sequence
Apply 5V to Vcc or V2MON
Decrement Vcc
or V2MON
(<50mV step)
NO
RESET
or V2FAIL pin
goes active?
YES
Error < 0
Measured V(2)TRIP Desired V(2)TRIP
Error = 0
DONE
7
Error > 0
X46402
Preliminary Information
Figure 7. X46402 Device Operation (Non-Password
Protected Areas)
After each byte written to or read from the X46402, the
address pointer is incremented by 1. This allows the user
to read from the entire device after sending only a single
address. It also allows an entire page to be written in one
operation. An exception to this address incrementation
occurs during a read. After reading address 1FFFh the
device goes into an idle mode, so additional reads return
all “1s”.
LOAD COMMAND BYTE
LOAD 2 BYTE ADDRESS
Clock and Data Conventions
Data states on the SDA line can change only during SCL
LOW. SDA changes during SCL HIGH are reserved for
indicating start and stop conditions. Refer to Figure 8 and
Figure 9.
READ/WRITE
DATA BYTES
Twc OR DATA ACK POLLING
Start Condition
All commands are preceeded by the start condition,
which is a HIGH to LOW transition of SDA when SCL is
HIGH. The X46402 continuously monitors the SDA and
SCL lines for the start condition and will not respond to
any command until this condition is met.
Tamper Counter
The X46402 contains a tamper counter. The entry of an
invalid password increments the counter. This operation
requires an internal nonvolatile cycle, requiring up to 10
ms to complete. To minimize the possibility of of an unauthorized person monitoring the device current to detect
the enry of the correct password, an internal high voltage
cycle is initiated even when the counter does not increment. As such, each password entry requires up to
10ms to acknowledge, so a long period of time would be
required to correctly guess the password.
A start may be issued to terminate the input of a control
byte or the input data to be written. This will reset the
device and leave it ready to begin a new read or write
command. A start bit generated while the part is outputting data is accepted as a start as long as the device is
not outputting a ’zero’.
Stop Condition
All communications are be terminated by a stop condition. The stop condition is a LOW to HIGH transition of
SDA when SCL is HIGH. The stop condition is also used
to reset the device during a command or data input
sequence and will leave the device in the standby power
mode. As with starts, stops are recognized while the
device outputs data, as long as the data output is not a
‘zero’.
On the eighth incorrect password entry, a one-time programmable tamper bit is set in the Device ID area. The
Tamper Counter increments with each incorrect password attempt and cannot be reset, except by the Reset
Device Command. When the tamper counter overflows,
the device is “locked”. In the locked condition, none of the
password commands respond except Reset Device. Nopassword commands are always available. The locked
condition is determined by reading the device ID and
reading bit 32. The device is reset by the Master Reset or
Reset Device commands.
Figure 8. Data Validity
SCL
Device Protocol
The X46402 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 a
receiver. The device controlling the transfer is a master
and the device being controlled is the slave. The master
will always initiate data transfers and provide the clock for
both transmit and receive operations. Therefore, the
X46402 will be considered a slave in all applications.
SDA
Data
Data
Stable Change
8
X46402
Preliminary Information
Figure 9. Definition of Start and Stop Conditions
Acknowledge
Read Device ID Command
A special, non-password protected command reads the
device ID. The device ID is a 32 bit identification code
that can be generic or tailored to the needs of an individual company. The last of the 32 bits indicates whether
the device has been tampered with by an unauthorized
user attempting to enter invalid passwords.
SCL
SDA
Start Condition
Stop Condition
Reset Device Command
The Reset Device command resets the tamper bit, clears
the tamper counter and removes the tamper “lock”
(allowing the device to accept commands). However, the
Reset Device command does not clear any memory
array area.
Acknowledge is a software convention used to indicate
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.
The X46402 will respond with an acknowledge after recognition of a start condition and its slave address. If both
the device and a write condition have been selected, the
X46402 will respond with an acknowledge after the
receipt of each subsequent eight-bit word.
Table 3. X46402 Instruction Set
1st Byte
after Start
1st Byte
after
Password
2nd Byte
after
Password
Command Description
Password used
1000 0000
High Address
Low address
Password Memory Array Read
Memory Read
1000 1000
High Address
Low address
OTP Read
OTP Read
1001 0000
High Address
Low address
Password Memory Array Write
Memory Write
1001 1000
High Address
Low address
OTP Write
OTP Write
1010 0000
0000 0000
0000 0000
Change Memory Read Password
Memory Read
1010 1000
0000 0000
0000 0000
Change OTP Read Password
OTP Read
1011 0000
0000 0000
0000 0000
Change Memory Write Password
Memory Write
1011 1000
0000 0000
0000 0000
Change OTP Write Password
OTP Write
1100 0000
0000 0000
0000 0000
Change Reset Password
Reset
1100 1000
High Address
Low address
No-Password Memory Array Read
None
1101 1000
High Address
Low address
No-Password Memory Array Write
None
1110 1000
not used
not used
Reset Device Command (Resets Tamper bit)
Reset
1111 0000
not used
not used
ACK Polling command (Ends Password operation)
None
All the rest
Reserved
Notes: Illegal command codes will be disregarded. The part will respond with a “no-ACK” to the illegal byte and then return to the standby mode.
9
X46402
Preliminary Information
PROGRAM OPERATIONS
Non-Password Protected Array Programming
The non-password protected memory array program
mode requires issuing the 8-bit No-Password Write command followed by the address and then the data bytes
transferred as illustrated in Figure 11. Up to 64 bytes (or
more) may be transferred. Sending more than 64 bytes
results in data wrapping and over-writing previous data.
After the last byte to be transferred is acknowledged a
stop condition is issued which starts the nonvolatile write
cycle.
Password Protected Array Programming
The password protected memory array write or OTP
write requires issuing an 8-bit Password Write command
followed by the password, password ACK command, the
address and then the data bytes transferred as illustrated
in Figure 10. Up to 64 bytes (or more) may be transferred. Sending more than 64 bytes results in data wrapping and over-writing previous data. After the last byte to
be transferred is acknowledged, a stop condition is
issued which starts the nonvolatile write cycle.
START
Figure 10. Password Protected Array Programming (Memory and OTP arrays)
Write
Password
7
Password
COMMAND
Write
Password
0
Wait tWC
OR
Repeated
ACK Polling
Command
ACK
ACK
ACK
ACK
SDA S
ACK POLLING
COMMAND
Data 0
A7
A6
A5
A4
A3
A2
A1
A0
A15
A14
A13
A12
A11
A10
A9
A8
START
If ACK, Then
Password Matches
...
ACK
ACK
STOP
ACK
ACK
NACK
S
Data 63
Wait tWC
Data ACK Polling
ACK
ACK
S
Data 63
A7
A6
A5
A4
A3
A2
A1
A0
Data 0
STOP
No Password
COMMAND
A15
A14
A13
A12
A11
A10
A9
A8
ACK
ACK
ACK
ACK
10
ACK
...
SDA S
ACK
START
Figure 11. Non-Password Protected Array Programming (Memory array only)
Wait tWC
S Data ACK
Polling
X46402
Preliminary Information
ACK Polling
Once a stop condition is issued to indicate the end of the
host’s write sequence, the X46402 initiates the internal
nonvolatile write cycle. In order to take advantage of the
typical 5ms write cycle, ACK polling can begin immediately. This involves issuing the start condition followed by
the new command code of 8 bits (1st byte of the protocol.)
If the X46402 is still busy with the nonvolatile write operation, it will issue a “no-ACK” in response. If the nonvolatile
write operation has completed, an “ACK” will be returned
and the host can then proceed with the rest of the protocol. See Figure 12.
Password ACK Polling Sequence
PASSWORD LOAD
COMPLETED
ENTER ACK POLLING
ISSUE START
ISSUE
PASSWORD
ACK COMMAND
Data ACK Polling Sequence
ACK
RETURNED?
WRITE SEQUENCE
COMPLETED
ENTER ACK POLLING
NO
YES
PROCEED
ISSUE START
ISSUE NEW
COMMAND
CODE
ACK
RETURNED?
If the password that was inserted was correct, then an
“ACK” will be returned once the nonvolatile cycle is over, in
response to the ACK polling cycle immediately following it.
NO
If the password that was inserted was incorrect, then a “no
ACK” will be returned even if the nonvolatile cycle is over.
Therefore, the user cannot be certain that the password is
incorrect until the 10ms write cycle time has elapsed.
YES
PROCEED
After the password sequence, there is always a nonvolatile
write cycle. This is done to discourage random guesses of
the password if the device is being tampered with. In order
to continue the transaction, the X46402 requires the master to perform an ACK polling with the specific code of
F0h. As with regular Acknowledge polling the user can
either time out for 10ms, and then issue the ACK polling
once, or continuously loop as described in the flow.
11
X46402
Preliminary Information
Figure 12. Acknowledge Polling
SCL
SDA
8th clk.
of 8th
pwd. byte
‘ACK’
clk
8th
clk
‘ACK’
8th bit
START
condition
‘ACK’
clk
ACK or
no ACK
Password Random Read (Data Array, OTP Arrays)
Data from a password protected array can be randomly
read after sending a single password. To do this, the master issues a start bit, sends a Password Read instruction
and read password, performs Password Ack Polling, then
issues the desired 2 byte address. The host receives the
first byte from the X46402 and sends a NACK, followed
by a repeated start bit. A new 8-bit address specifies the
next byte to read. This process can continue indefinitely
as long as the each byte read out of the X46402 is
“NACKed” and followed by a repeated start.
Password Sequential Read
The host can read sequentially within an array after the
password acceptance sequence. The data output is
sequential, with the data from address n followed by the
data from n+1. The address counter for read operations
increments all address bits, allowing the entire memory
array contents to be serially read during one operation. At
the end of the address space (address 1FFFh for the
memory array, 7Fh for the OTP array) the device goes
into an idle state and data output is all “1s”. To continue
reading at another address requires a new Read operation. Refer to Figure 14 for the address, acknowledge and
data transfer sequence. An acknowledge must follow
each 8-bit data transfer. After the last bit has been read,
the host sends a stop condition with or without a preceding acknowledge.
The address automatically increments after each read
operation. As such, a special case arises. A random read
of address 00FFh automatically increments to 0100h
after reading the byte. Consider the following example.
After sending a Password Read command and the correct password, the entire array, including non-password
protected areas will be read with a sequential read command.
Example: A system needs data from password protected
locations 0020h and 0150h and the designer does not
wish to send the password twice. After receiving data
from 0020h, the host sends a NACK and a repeated
start, followed by address byte FFh. The data read from
location 0FFh is ignored, but the operation has adjusted
the address pointer to 100h. Another NACK and repeated
start followed by the address 50h allows the contents of
150h to be read by the host.
After sending a Password Array Read command and correct password, the entire array, including non-password
protected areas are read by a sequential read command.
PASSWORD PROTECTED READ OPERATIONS
Password protected read operations are initiated in the
same manner as password protected write operations but
with a different command code.
NON-PASSWORD READ OPERATIONS
Non-password protected read operations are initiated in
the same manner as non-password protected write operations but with a different command code.
No-Password Random Read
The master issues the start condition, then a No-password
Read instruction, then issues the word address. Once the
first byte has been read, another start can be issued followed by a new 8-bit address. A No-Password random
read operation is not allowed to a password protected
area. In a No-Password Random Read from address
00FFh, the address pointer changes to 100h after outputting the data byte and operates in the same manner as the
password protected operation. See Figure 15.
A random read of either of the OTP arrays can access all
locations of both arrays without another password command sequence.
A password random read operation will also return valid
data if accessing a non-password protected area of the
array. See Figure 13.
12
X46402
Preliminary Information
No-Password Sequential Read
The host can read sequentially within the un-protected
area of the array after receiving the No-password Command and an address within the unprotected address
space. The data output is sequential, with the data from
address n followed by the data from n+1. The address
counter for read operations increments all address bits,
allowing the entire un-protected memory array contents
to be serially read during one operation. At the end of the
address space (address 1FFFh) the device goes into an
idle state and a new read sequence must be initiated to
continue reading at another address. Refer to Figure 16
for the address, acknowledge and data transfer
sequence. An acknowledge must follow each 8-bit data
transfer. After the last bit has been read, the host sends a
stop condition with or without a preceding acknowledge.
COMBINED RANDOM/SEQUENTIAL OPERATIONS
A random read and sequential read can be combined,
however there are some limitations. Both password protected or non-password operations operate in the same
way. After sending a random read command and reading
the first byte, continued clocks will return successive
addresses. However, after more than one byte of data is
returned, it is not possible to initiate a new random read,
without issuing a stop and starting a new command. This
also allows multiple random read operations and a
sequential read operation, as long as the last operation is
sequential. Note: A read operation that includes a
random read of the last byte in the memory or OTP
arrays cannot include a sequential read operation.
Read
Password
7
Password
COMMAND
Read
Password
0
Wait tWC
OR
Repeated
ACK Polling
Command
START
A7
A6
A5
A4
A3
A2
A1
A0
ACK
ACK
ACK
ACK POLLING
COMMAND
A7
A6
A5
A4
A3
A2
A1
A0
A15
A14
A13
A12
A11
A10
A9
A8
START
If ACK, then
Password Matches
ACK
SDA S
S
STOP
START
Figure 13. Password Protected Random Read
S
ACK
ACK
ACK
ACK
NACK
S
Data 0
Data 0
Read
Password
0
ACK
ACK
A7
A6
A5
A4
A3
A2
A1
A0
ACK POLLING
COMMAND
ACK
ACK
A15
A14
A13
A12
A11
A10
A9
A8
If ACK, then
Password Matches
START
ACK
SDA S
Wait tWC
OR
Repeated
ACK Polling
Command
STOP
Read
Password
7
Password
COMMAND
ACK
START
Figure 14. Password Protected Sequential Read
S
ACK
ACK
ACK
NACK
S
13
Data 0
Data X
X46402
Preliminary Information
STOP
S
S
Data 0
ACK
ACK
ACK
ACK
SDA S
START
A7
A6
A5
A4
A3
A2
A1
A0
No-Password
COMMAND
A7
A6
A5
A4
A3
A2
A1
A0
A15
A14
A13
A12
A11
A10
A9
A8
START
Figure 15. Non-Password Protected Random Read
Data 0
STOP
ACK
ACK
A15
A14
A13
A12
A11
A10
A9
A8
No-Password
COMMAND
A7
A6
A5
A4
A3
A2
A1
A0
START
Figure 16. Non-Password Protected Sequential Read
SDA S
ACK
ACK
ACK
S
Data X
Data 0
START
Figure 17. Change Passwords
Old
Password
7
COMMAND
Old
Password
0
Wait tWC
OR
Repeated
ACK Polling
Command
START
If ACK, then
Password Matches
ACK POLLING
COMMAND
ACK
ACK
ACK
ACK
SDA S
New
Password
7
Two bytes of “0”
New
Password
0
Data ACK
Polling
STOP
New
Password
7
New
Password
0
ACK
ACK
NACK
ACK
ACK
S
* ACK for correct password, No ACK for incorrect password
14
ACK/NoACK
ACK
ACK
ACK
ACK
*S
If immediate ACK,
then New Password error
If immediate NACK,
followed by ACK after ~5ms
then New Password OK
X46402
Preliminary Information
Non- Password Protected
(All of the array to
none of the array)
Password Protected
(None of the array to
all of the array)
Password Sequential
Read Operation
1FFFh
No-Password Sequential
Read Operation
Note on Read/Write Operations
0000h
Notes:
Using a “password read” or a “password write” to a non-password protected area is acceptable, because the password is received and accepted prior to an address transmission. It is assumed that access to non-password protected areas is uncontrolled, so either method should work.
Using a “no-password read” or a “no-password write” on a password protected area would not work. Trying to
access a password protected area without the password match causes the device to return a NACK after the
address.
A password sequential read that starts in the password protected area can continue into and through the non-password protected area. It will not “wrap” back to address ’0’.
A no-password sequential read can only start in the non-password protected area and cannot “wrap” back into the
protected area.
bytes are entered in the second pass, a comparison takes
place. A mismatch will cause the part to ignore the
change command and enter into the standby mode.
CHANGE PASSWORD COMMAND
When changing a password, the Change Password command is sent to the device. The old password follows.
When the old password is accepted (as indicated by the
ACK Polling Command sequence), the new password is
sent to the device twice, following two bytes of zero. A
stop bit initiates the store of the new password. To be successful in the password change operation the first and
second transmission of the new password must match
and there must be exactly 16 password bytes. If this is not
the case, the operation is aborted and the password
remains unchanged.
There are two ways to determine whether the operation
was completed successfully. The Data ACK polling
method can determine if a password has been loaded
correctly, however the data ACK command must be
issued less than 2ms after the stop bit. After this time, it
cannot be determined if the password has been loaded
correctly, without trying the new password. To determine if
the new password has been loaded correctly the data
ACK polling command is issued immediately following the
stop bit. If it returns an ACK, then the two passes of the
new password entry do not match. If it returns a “no ACK”
then the passwords match and a high voltage cycle is in
progress. The high voltage cycle is complete when a subsequent data ACK command returns an “ACK”.
PASSWORDS
The sequence in Figure 17 shows how to change (program) the passwords. The programming of passwords is
done twice prior to the nonvolatile write cycle in order to
verify that the new password is consistent. After the eight
15
X46402
Preliminary Information
An easier way to determine that the password has been
changed correctly is to read the ACK bit following the
second writing of the new password. If the device returns
an ACK, the password is good. A No ACK indicates
something went wrong. If there was an error, the password remains unchanged.
*COMMENT
Stresses above those listed under “Absolute Maximum
Ratings” may cause permanent damage to the device.
This is a stress rating only and the functional operation of
the device at these or any other conditions above those
listed in the operational sections of this specification is
not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability.
There is no way to read any of the passwords.
ABSOLUTE MAXIMUM RATINGS*
RECOMMENDED OPERATING CONDITIONS
Temperature under Bias . . . . . . . . . . . . –65°C to +135°C
Storage Temperature . . . . . . . . . . . . . . . –65°C to +150°C
Voltage on any Pin with respect to VSS . . . . .–1V to +7V
D.C. Output Current . . . . . . . . . . . . . . . . . . . . . . . . . . 5mA
Lead Temperature (Soldering, 10 seconds) . . . . . .300°C
Temp
Min.
Max.
Commercial
0°C
+70°C
Extended
–20°C
+85°C
Device
Supply Voltage Limits
X46402
2.5V to 3.7V
D.C. OPERATING CHARACTERISTICS (Over the recommended operating conditions unless otherwise specified.)
Symbol
Parameter
Limits
Min.
Max.
VCC Supply Current
(Read)
ICC1
Units
1
mA
Test Conditions
fSCL = 1MHz,
RESET = V2FAIL = VCC w/ pull up resistor
V2MON = VCC
(3)
VCC Supply Current
(Write)
3
mA
fSCL = 1MHz,
RESET = V2FAIL = VCC w/ pull up resistor
RST = VSS
ISB1(1)
VCC Supply Current
(Standby)
50
µA
VIL = VCC x 0.1, VIH = VCC x 0.9
fSCL = 1MHz, fSDA = 400 KHz
ISB2(1)
VCC Supply Current
(Standby)
1
µA
VSDA = VSCL = V2MON = VCC
Other = GND or VCC–0.3V
ILI
Input Leakage Current
10
µA
VIN = VSS to VCC
ILO
Output Leakage Current
10
µA
VOUT = VSS to VCC
VIL1(2)
Input LOW Voltage
VCC x 0.3
V
VCC = 3.0V
VIH1(2)
Input HIGH Voltage
VCC x 0.7 VCC + 0.5
V
VCC = 3.0V
VIL2(2)
Input LOW Voltage
VCC x 0.1
V
VCC = 3.0V
VIH2(2)
Input HIGH Voltage
VCC x 0.9 VCC + 0.5
V
VCC = 3.0V
VOL
Output LOW Voltage
V
IOL = 3mA
ICC2
–0.5
–0.5
0.4
16
X46402
Preliminary Information
Table 4. CAPACITANCE (TA = +25°C, f = 1MHz, VCC = 3V)
Symbol
COUT
(3)
CIN(3)
Test
Max.
Units
Conditions
Output Capacitance (SDA)
8
pF
VI/O = 0V
Input Capacitance (WP, SCL, V2MON)
6
pF
VIN = 0V
Notes: (1)
(2)
(3)
Must perform a stop command after a read command prior to measurement
VIL min. and VIH max. are for reference only and are not tested.
This parameter is periodically sampled and not 100% tested.
EQUIVALENT A.C. LOAD CIRCUIT
A.C. TEST CONDITIONS
VCC x 0.1 to VCC x 0.9
Input Pulse Levels
3V
Input Rise and Fall Times
1.3KΩ
10ns
Input and Output Timing
Level
OUTPUT
100pF
VCC x 0.5
Output Load
100pF
AC CHARACTERISTICS
AC Specifications (Over the recommended operating conditions)
Symbol
Parameter
Min
Typ(1)
Max
Units
1000
KHz
fSCL
SCL Clock Frequency
0
tIN
Pulse width of spikes which must be suppressed by the input filter
10
tAA
SCL LOW to SDA Data Out Valid
0.05
tBUF
Time the bus must be free before a new transmit can start
0.5
µs
tLOW
Clock LOW Time
0.6
µs
tHIGH
Clock HIGH Time
0.4
µs
tSU:STA
Start Condition Setup Time
0.25
µs
tHD:STA
Start Condition Hold Time
0.25
µs
tSU:DAT
Data In Setup Time
100
ns
tHD:DAT
Data In Hold Time
0
µs
tSU:STO
Stop Condition Setup Time
0.25
µs
tDH
Data Output Hold Time
0
tR
SDA and SCL Rise Time (10% to 90% of Vcc)
10
100
ns
tF
SDA and SCL Fall Time
10
100
ns
17
ns
0.55
100
µs
ns
X46402
Preliminary Information
RESET AC SPECIFICATIONS
Nonvolatile Write Cycle Timing
Symbol
Parameter
tWC(1)
Write Cycle Time
Min.
Typ.(1)
Max.
Units
5
10
mS
Notes: 1. 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.
TIMING DIAGRAMS
Bus Timing
tR
tHIGH
tF
SCL
tLOW
tSU:DAT
tSU:STA
tHD:DAT
tHD:STA
SDA IN
tSU:STO
tAA
tDH
tBUF
SDA OUT
Write Cycle Timing
SCL
SDA
8th bit of last byte
ACK
tWC
Stop
Condition
18
Start
Condition
X46402
Preliminary Information
GUIDELINES FOR CALCULATING TYPICAL VALUES OF BUS PULL UP RESISTORS
Pull Up Resistance in KΩ
100ns max rise time
V CCMAX – 0.4
R MIN = ---------------------------------------- = 1100 Ω
I OLMIN
–t
10
8
V IH
6
RPMAX
RMAX

------------------------------------

R PMAX C BUS
= Vcc  1 – e





4
For VIH = 0.9VCC
2
tR
RMIN
10
20
30
40
50
R
PMAX
Bus capacitance in pF
= ------------------------------
2.3 ( C BUS )
tRMAX = maximum allowable SDA rise time
POWER-UP AND POWER-DOWN TIMING
RESET Output Timing
V
TRIP
VTRIP
VCC
t PURST
0 Volts
t
t PURST
RV
t FV
t DVC
RESET
V2FAIL Output Timing
V2MON
V2 TRIP
V2 TRIP
0 Volts
tRB
t FB
t DVB
V2FAIL
19
X46402
Preliminary Information
Symbol
Parameter
Min.
Typ.
Max.
Units
VTRIP
RESET Trip Point Voltage
2.4
–
3.5
V
V2TRIP
V2FAIL Trip Point Voltage
1.7
–
3.5
V
VTH
VTRIP Hysteresis
(HIGH to LOW vs. LOW to HIGH VTRIP voltage)
40
mV
V2TA
V2TRIP Hysteresis
(HIGH to LOW vs. LOW to HIGH VTRIP voltage)
40
mV
tPURST
Power-up Reset Timeout
tDVC(5)
75
150
225
ms
Detect VCC Low Voltage to Reset Output (Vcc = 2.3V)
65
µs
tDVB(5)
Detect V2MON Low Voltage to Reset Output (Vcc = 2.5-3.7V)
100
µs
tFV(5)
VCC Fall Time
100
µs
tRV(5)
VCC Rise Time
100
µs
tFB(5)
V2MON Fall Time
500
ns
tRB(5)
V2MON Rise Time
500
ns
VRVALID
Reset Valid VCC
1
V
Notes: (5) This parameter is periodically sampled and not 100% tested.
(6) Typical values not tested.
Start Bit vs. RESET Timing
SCL
tSU:STA
tSU:STO
SDA
t WDR
RESET
t WDO
t RST
20
t WDO
t RST
X46402
Preliminary Information
RESET Output Timing
Symbol
Parameter
Min.
Typ.
Max.
Units
tWDO
Watchdog Timeout Period,
WD2 = 0, WD1 = 1, WD0 = 0
WD2 = 0, WD1 = 0, WD0 = 1
WD2 = 0, WD1 = 0, WD0 = 0
WD2 = 1, WD1 = 1, WD0 = 1
WD2 = 1, WD1 = 1, WD0 = 0
WD2 = 1, WD1 = 0, WD0 = 1
WD2 = 1, WD1 = 0, WD0 = 0
75
225
0.5
2.5
5
10
30
150
450
1
5
10
20
60
225
675
1.5
7.5
15
30
90
ms
ms
sec
sec
sec
sec
sec
tWDR
SDA LOW duration (Reset the Watchdog)
400
tRST
Reset Timeout
75
21
ns
150
225
ms
X46402
Preliminary Information
8-LEAD PLASTIC, TSSOP, PACKAGE TYPE V
.025 (.65) BSC
.169 (4.3)
.252 (6.4) BSC
.177 (4.5)
.114 (2.9)
.122 (3.1)
.047 (1.20)
.0075 (.19)
.0118 (.30)
.002 (.05)
.006 (.15)
.010 (.25)
Gage Plane
0∞– 8∞
Seating Plane
.019 (.50)
.029 (.75)
Detail A (20X)
.031 (.80)
.041 (1.05)
See Detail “A”
NOTE: ALL DIMENSIONS IN INCHES (IN PARENTHESES IN MILLIMETERS)
22
X46402
Preliminary Information
ORDERING INFORMATION
VCC Range
VTRIP
V2TRIP
Package
2.5–3.7V
3.1
2.6
8L TSSOP
2.5–3.7V
3.1
1.7
8L TSSOP
2.5–3.7V
2.9
2.3
8L TSSOP
Operating Temperature Range
Part Number
0°C–70°C
X46402V8-3.1
-20°C–85°C
X46402V8E-3.1
0°C–70°C
X46402V8-3.1A
-20°C–85°C
X46402V8E-3.1A
0°C–70°C
X46402V8-2.9
-20°C–85°C
X46402V8E-2.9
Notes: Tolerance for Vtrip and V2trip are +/-5%
PART MARK CONVENTION
8-Lead TSSOP
EYWW
XXXX XX
4642 AR =
4642 AS =
4642 AT =
4642 AU =
4642 AV =
4642 AW =
VTRIP
V2TRIP
Temp
3.1
3.1
3.1
3.1
2.9
2.6
2.6
1.7
1.7
2.3
2.3
0 to 70° C
-20 to 85°C
0 to 70° C
-20 to 85°C
0 to 70° C
-20 to 85°C
2.9
LIMITED WARRANTY
Devices sold by Xicor, Inc. are covered by the warranty and patent indemnification provisions appearing in its Terms of Sale only. Xicor, Inc.
makes no warranty, express, statutory, implied, or by description regarding the information set forth herein or regarding the freedom of the
described devices from patent infringement. Xicor, Inc. makes no warranty of merchantability or fitness for any purpose. Xicor, Inc. reserves the
right to discontinue production and change specifications and prices at any time and without notice.
Xicor, Inc. assumes no responsibility for the use of any circuitry other than circuitry embodied in a Xicor, Inc. product. No other circuits, patents,
licenses are implied.
U.S. PATENTS
Xicor products are covered by one or more of the following U.S. Patents: 4,263,664; 4,274,012; 4,300,212; 4,314,265; 4,326,134; 4,393,481;
4,404,475; 4,450,402; 4,486,769; 4,488,060; 4,520,461; 4,533,846; 4,599,706; 4,617,652; 4,668,932; 4,752,912; 4,829, 482; 4,874, 967;
4,883, 976. Foreign patents and additional patents pending.
LIFE RELATED POLICY
In situations where semiconductor component failure may endanger life, system designers using this product should design the system with
appropriate error detection and correction, redundancy and back-up features to prevent such an occurence.
Xicor's products are not authorized for use in critical components in life support devices or systems.
1.
Life support devices or systems are devices or systems which, (a) are intended for surgical implant into the body, or (b) support or sustain
life, and whose failure to perform, when properly used in accordance with instructions for use provided in the labeling, can be reasonably
expected to result in a significant injury to the user.
2.
A critical component is any component of a life support device or system whose failure to perform can be reasonably expected to cause
the failure of the life support device or system, or to affect its safety or effectiveness.
23