This X76F200 device has been acquired by
IC MICROSYSTEMS from Xicor, Inc.
ICmic
TM
IC MICROSYSTEMS
2K
X76F200
Secure Serial Flash
DESCRIPTION
256 x 8 bit
FEATURES
•64-bit Password Security
•One Array (240 Bytes) Two Passwords (16 Bytes)
The X76F200 is a Password Access Security Supervisor,
containing one 1920-bit Secure Serial Flash array.
Access to the memory array can be controlled by two
64-bit passwords. These passwords protect read and
write operations of the memory array.
The X76F200 features a serial interface and software
protocol allowing operation on a popular two wire bus.
The bus signals are a clock Input (SCL) and a
bidirectional data input and output (SDA).
The X76F200 also features a synchronous response to reset
providing an automatic output of a hard-wired 32-bit
data stream conforming to the industry standard for
memory cards.
The X76F200 utilizes Xicor’s proprietary Direct WriteTM
cell, providing a minimum endurance of 100,000 cycles and
a minimum data retention of 100 years.
—Read Password
—Write Password
•Programmable Passwords
•Retry Counter Register
—Allows 8 tries before clearing of the array
•32-bit Response to Reset (RST Input)
•8 byte Sector Write mode
•1MHz Clock Rate
•2 wire Serial Interface
•Low Power CMOS
—2.0 to 5.5V operation
—Standby current Less than 1µA
—Active current less than 3 mA
•High Reliability Endurance:
—100,000 Write Cycles
•Data Retention: 100 years
•Available in:
—8 lead PDIP, SOIC, TSSOP, Smart Card and
Smart Card Module
Functional Diagram
CS
SCL
SDA
INTERFACE
LOGIC
CHIP ENABLE
DATA TRANSFER
ARRAY ACCESS
ENABLE
32 BYTE
SerialFlash ARRAY
PASSWORD ARRAY
AND PASSWORD
Retry Counter
8K BYTE
SerialFlash ARRAY
ARRAY 0
ARRAY 1
(PASSWORD PROTECTED)
VERIFICATION LOGIC
RST
RESET
RESPONSE REGISTER
RETRY COUNTER
7025 FM 01
©Xicor,
Inc. 1999 Patents Pending
9900-5004.3 1/26/99 EP
1
Characteristics subject to change without notice
X76F200
PIN DESCRIPTIONS
Serial Clock (SCL)
The SCL input is used to clock all data into and out of the
device.
the 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.
Serial Data (SDA)
SDA is an open drain serial data input/output pin. During a
read cycle, data is shifted out on this pin. During a write
cycle, data is shifted in on this pin. In all other cases, this pin is
in a high impedance state.
PIN NAMES
Symbol
SDA
SCL
RST
Vcc
Vss
NC
Description
Serial Data Input/Output
Serial Clock Input
Reset Input
Supply Voltage
Ground
No Connect
Reset (RST)
RST is a device reset pin. When RST is pulsed high the
X76F200 will output 32 bits of fixed data which conforms
to the standard for “synchronous response to reset”.
The part must not be in a write cycle for the response to reset
to occur. See Figure 7. If there is power interrupted
during the Response to Reset, the response to reset will be
aborted and the part will return to the standby state.
PIN CONFIGURATION
PDIP
V
CC
NC
NC
Vss
1
2
3
4
SOIC
V
SS
NC
SDA
NC
1
2
3
4
TSSOP
8
7
6
5
V
CC
RST
SCL
NC
V
CC
RST
SCL
NC
8
7
6
5
RST
SCL
SDA
NC
8
7
6
5
RST
SCL
SDA
NC
The response to reset is "mask programmable" only!
DEVICE OPERATION
The X76F200 memory array consists of thirty 8-byte
sectors. Read or write access to the array always begins
at the first address of the sector. Read operations then can
continue indefinitely. Write operations must total 8
Smart Card Module
GND
NC
SDA
NC
bytes.
There are two primary modes of operation for the
X76F200; Protected READ and protected WRITE.
Protected operations must be performed with one of two
8-byte passwords.
The basic method of communication for the device is
generating a start condition, then transmitting a
V
CC
NC
NC
V
SS
1
2
3
4
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.
To ensure the correct communication, RST must remain LOW
under all conditions except when running a
After each transaction is completed, the X76F200 will reset
and enter into a standby mode. This will also be the
“Response to Reset sequence”.
Data is transferred in 8-bit segments, with each transfer being
followed by an ACK, generated by the receiving
response if an unsuccessful attempt is made to access a
protected array.
device.
If the X76F200 is in a nonvolatile write cycle a “no A
CK” (SDA=High) response will be issued in response to
loading of the command byte. If a stop is issued prior to
2
X76F200
Figure 1. X76F200 Device Operation
LOAD COMMAND/ADDRESS BYTE
Start Condition
All commands are preceded by the start condition, which
is a HIGH to LOW transition of SDA when SCL is
HIGH. The X76F200 continuously monitors the SDA and SCL
lines for the start condition and will not respond to
LOAD 8-BYTE
PASSWORD
any command until this condition is met.
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.
Because of the push/pull output, a start
cannot be generated while the part is outputting data.
Starts are inhibited while a write is in progress.
VERIFY PASSWORD
ACCEPTANCE BY
USE OF ACK POLLING
Stop Condition
READ/WRITE
DATA
All communications must 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
BYTES
sequence and will leave the device in the standby power
mode. As with starts, stops are inhibited when outputting
Retry Counter
The X76F200 contains a retry counter. The retry counter
allows 8 accesses with an invalid password before any
action is taken. The counter will increment with any
combination of incorrect passwords. If the retry counter
overflows, the memory area and both of the passwords are
cleared to "0". If a correct password is received prior
to retry counter overflow, the retry counter is reset and
access is granted.
data and while a write is in progress.
Acknowledge
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 X76F200 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 X76F200 will respond with an acknowledge
Device Protocol
The X76F200 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
X76F200 will be considered a slave in all applications.
after the receipt of each subsequent eight-bit word.
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 2 and
Figure 3.
3
X76F200
Figure 2. Data Validity
SCL
SDA
Data Stable
Data
Change
Figure 3. Definition of Start and Stop Conditions
SCL
SDA
Start Condition
Stop Condition
Table 1. X76F200 Instruction Set
Command
after Start
Command Description
Sector Write
Sector Read
Change Write Password
Change Read Password
Password ACK Command
Password
used
1 0 S
4
S
3
S
2
S
1
S
0
0
1 0 S
4
S
3
S
2
S
1
S
0
1
1 1 1 1 1 1 0 0
1 1 1 1 1 1 1 0
0 1 0 1 0 1 0 1
Write
Read
Write
Write
None
Illegal command codes will be disregarded. The part will respond with a “no-A
CK” to the illegal byte and then return to
the standby mode. All write/read operations require a password.
PROGRAM OPERATIONS
Sector Write
The sector write mode requires issuing the 8-bit write
command followed by the password and then the data
issued which starts the nonvolatile write cycle. If more or less
than 8 bytes are transferred, the data in the sector
remains unchanged.
ACK Polling
Once a stop condition is issued to indicate the end of the
host’s write sequence, the X76F200 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
bytes transferred as illustrated in figure 4. The write
command byte contains the address of the sector to be
written. Data is written starting at the first address of a sector
and eight bytes must be transferred. After the last
byte to be transferred is acknowledged a stop condition is
4
X76F200
followed by the new command code of 8 bits (1st byte of the
protocol.) If the X76F200 is still busy with the
nonvolatile write operation, it will issue a “no-A
CK” in response. If the nonvolatile write operation has
completed, an “ACK” will be returned and the host can
Password ACK Polling Sequence
PASSWORD LOAD
COMPLETED
ENTER ACK POLLING
then proceed with the rest of the protocol.
Data ACK Polling Sequence
WRITE SEQUENCE
COMPLETED
ISSUE START
ENTER ACK POLLING
ISSUE
PASSWORD
ACK COMMAND
ISSUE START
ACK
RETURNED
?
NO
ISSUE NEW
COMMAND
CODE
YES
PROCEED
ACK
RETURNED
?
NO
YES
PROCEED
READ OPERATIONS
Read operations are initiated in the same manner as
write operations but with a different command code.
Sector Read
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
X76F200 requires the master to perform a password ACK
polling sequence with the specific command code
of 55h. 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.
If the password that was inserted was correct, then an
“ACK” will be returned once the nonvolatile cycle in
response to the passwrod ACK polling sequence is over.
If the password that was inserted was incorrect, then a “no
A will be returned even if the nonvolatile cycle is over.
CK”
Therefore, the user cannot be certain that the pass- word is
incorrect until the 10ms write cycle time has
elapsed.
With sector read, a sector address is supplied with the read
command. Once the password has been
acknowledged data may be read from the sector. An
acknowledge must follow each 8-bit data transfer. A read
operation always begins at the first byte in the sector, but may
stop at any time. Random accesses to the array are
not possible. Continuous reading from the array will return
data from successive sectors. After reading the
last sector in the array, the address is automatically set to
the first sector in the array and data can continue to be
read out. After the last bit has been read, a stop condition is
generated without sending a preceding acknowledge.
5