2004 Microchip Technology Inc.
DS21125E-page 1
FEATURES
• Voltage operating range: 4.5V to 5.5V
- Maximum write current 3 mA at 5.5V
- Maximum read current 150
µ
A at 5.5V
- Standby current 1
µ
A typical
• 1 MHz SE2.bus two wire protocol
• Up to eight devices may be connected to the
same bus for up to 512K bits total memory
• Programmable block security options
• Programmable endurance options
• Schmitt trigger inputs for noise suppression
• Self-timed ERASE and WRITE cycles
• Power on/off data protection circuitry
• Endurance:
- 10,000,000 E/W cycles guaranteed for a 4K
block
- 1,000,000 E/W cycles guaranteed for a 60K
block
• Variable page size up to 64 bytes
• 8 byte x 8 line input cache (64 bytes)
for fast write loads
• <3 ms typical write cycle time, byte or page
• Electrostatic discharge protection > 4000V
• Data retention > 200 years
• 8-pin PDIP/SOIC packages
• Temperature ranges
DESCRIPTION
The Microchip Technology Inc. 24FC65 is a “smart”
8K 8x 8 Serial Electrically Erasable PROM (EEPROM)
with a high-speed 1MHz SE2.bus whose protocol is
functionally equivalent to the industry-standard I
2
C
bus. This device has been developed for advanced
applications such as personal communications, and
provides the systems designer with flexibility through
the use of many new user-programmable features. The
24FC65 offers a relocatable 4K-bit block of
ultra-high-endurance memory for data that changes
frequently. The remainder of the array, or 60K bits, is
rated at 1,000,000 ERASE/WRITE (E/W) cycles
guaranteed. The 24FC65 features an input cache for
fast write loads with a capacity of eight pages, or 64
bytes. This device also features programmable
security options for E/W protection of critical data
and/or code of up to fifteen 4K blocks. Functional
- Commercial (C):
0°C to +70°C
- Industrial (I):
-40°C to +85°C
address lines allow the connection of up to eight
24FC65's on the same bus for up to 512K bits
contiguous EEPROM memory. The 24FC65 is available
in the standard 8-pin plastic DIP and 8-pin surface
mount SOIC package.
24FC65
64K 5.0V 1 MHz I
2
C
™
Smart Serial
™
EEPROM
PACKAGE TYPES
BLOCK DIAGRAM
24F
C
6
5
A0
A1
A2
V
SS
1
2
3
4
8
7
6
5
V
CC
NC
SCL
SDA
24F
C65
A0
A1
A2
V
SS
1
2
3
4
8
7
6
5
V
CC
NC
SCL
SDA
PDIP
SOIC
HV GENERATOR
EEPROM
ARRAY
PAGE LATCHES
YDEC
XDEC
SENSE AMP
R/W CONTROL
MEMORY
CONTROL
LOGIC
I/O
CONTROL
LOGIC
SDA
SCL
V
CC
V
SS
I/O
A2
A1
A0
CACHE
I
2
C is a trademark of Philips Corporation.
Smart Serial is a trademark of Microchip Technology Inc.
Obsolete Device
24FC65
DS21125E-page 2
2004 Microchip Technology Inc.
1.0
ELECTRICAL CHARACTERISTICS
1.1
Maximum Ratings*
V
CC
...................................................................................7.0V
All inputs and outputs w.r.t. V
SS
............... -0.6V to V
CC
+1.0V
Storage temperature .....................................-65
°
C to +150
°
C
Ambient temp. with power applied ................-65
°
C to +125
°
C
Soldering temperature of leads (10 seconds) ............. +300
°
C
ESD protection on all pins
..................................................≥
4 kV
*Notice: Stresses above those listed under “Maximum Ratings”
may cause permanent damage to the device. This is a stress rat-
ing only and functional operation of the device at those or any
other conditions above those indicated in the operational listings
of this specification is not implied. Exposure to maximum rating
conditions for extended periods may affect device reliability.
TABLE 1-1:
PIN FUNCTION TABLE
Name
Function
A0,A1,A2
User Configurable Chip Selects
V
SS
Ground
SDA
Serial Address/Data I/O
SCL
Serial Clock
V
CC
+4.5V to 5.5V Power Supply
NC
No Internal Connection
TABLE 1-2:
DC CHARACTERISTICS
FIGURE 1-1:
BUS TIMING START/STOP
V
CC
= +4.5V to +5.5V
Commercial (C): Tamb = 0
°
C to +70
°
C
Industrial (I):
Tamb = -40
°
C to +85
°
C
Parameter
Symbol
Min
Max
Units
Conditions
A0, A1, A2, SCL and SDA pins:
High level input voltage
Low level input voltage
Hysteresis of SCL and SDA
Low level output voltage of SDA
V
IH
V
IL
V
HYS
V
OL
0.7 V
CC
—
0.05 V
CC
—
—
0.3 Vcc
—
0.40
V
V
V
V
(Note)
I
OL
= 3.0 mA
Input leakage current
I
LI
-10
10
µ
A
V
IN
= 0.1V to V
CC
Output leakage current
I
LO
-10
10
µ
A
V
OUT
= 0.1V to V
CC
Pin capacitance
(all inputs/outputs)
C
INT
—
10
pF
V
CC
= 5.0V (Note)
Tamb = 25°C, F
CLK
= 1 MHz
Operating current
I
CC
Write
I
CC
Read
—
—
3
150
mA
µ
A
V
CC
= 5.5V, SCL = 1 MH
Z
V
CC
= 5.5V, SCL = 1 MHz
Standby current
I
CCS
—
5
µ
A
V
CC
= 5.5V, SCL = SDA =V
CC
A0, A1, A2 = V
SS
Note: This parameter is periodically sampled and not 100% tested.
SCL
SDA
START
STOP
V
HYS
T
SU
:
STO
T
HD
:
STA
T
SU
:
STA
2004 Microchip Technology Inc.
DS21125E-page 3
24FC65
TABLE 1-3:
AC CHARACTERISTICS
FIGURE 1-2:
BUS TIMING DATA
Parameter
Symbol
1 MHz Bus
Units
Remarks
Min
Max
Clock frequency
F
CLK
0
1000
kHz
Clock high time
THIGH
500
—
ns
Clock low time
T
LOW
500
—
ns
SDA and SCL rise time
T
R
—
300
ns
(Note 1)
SDA and SCL fall time
T
F
—
100
ns
(Note 1)
START hold time
T
HD
:
STA
250
—
ns
After this period the first clock pulse is
generated
START setup time
T
SU
:
STA
250
—
ns
Only relevant for repeated START
Data input hold time
T
HD
:
DAT
0
—
ns
Data input setup time
T
SU
:
DAT
100
—
ns
STOP setup time
T
SU
:
STO
250
—
ns
Output valid from clock
T
AA
—
350
ns
(Note 2)
Bus free time
T
BUF
500
—
ns
Time the bus must be free before a
new transmission can start
Write cycle time
T
WR
—
5
ms/page (Note 3)
Endurance
High Endurance Block
Rest of Array
10M
1M
—
—
cycles
25°C, Vcc = 5.0V, Block Mode
(Note 4)
Note 1: Not 100 percent tested.
2: As a transmitter, the device must provide an internal minimum delay time to bridge the undefined region
(minimum 100 ns) of the falling edge of SCL to avoid unintended generation of START or STOPs.
3: The times shown are for a single page of 8 bytes. Multiply by the number of pages loaded into the write
cache for total time.
4: This parameter is not tested but guaranteed by characterization. For endurance estimates in a specific appli-
cation, please consult the Total Endurance Model which can be obtained on our website.
SCL
SDA
IN
SDA
OUT
T
SU
:
STA
T
SP
T
AA
T
F
T
LOW
T
HIGH
T
HD
:
STA
T
HD
:
DAT
T
SU
:
DAT
T
SU
:
STO
T
BUF
T
AA
T
R
24FC65
DS21125E-page 4
2004 Microchip Technology Inc.
2.0
FUNCTIONAL DESCRIPTION
The 24FC65 supports a bidirectional two-wire bus and
data transmission protocol. A device that sends data
onto the bus is defined as transmitter, and a device
receiving data as receiver. The bus must be controlled
by a master device which generates the serial clock
(SCL), controls the bus access, and generates the
START and STOPs, while the 24FC65 works as slave.
Both master and slave can operate as transmitter or
receiver but the master device determines which mode
is activated.
3.0
BUS CHARACTERISTICS
The following bus protocol has been defined:
• Data transfer may be initiated only when the bus
is not busy.
• During data transfer, the data line must remain
stable whenever the clock line is HIGH. Changes
in the data line while the clock line is HIGH will be
interpreted as a START or STOP.
Accordingly, the following bus conditions have been
defined (Figure 3-1).
3.1
Bus not Busy (A)
Both data and clock lines remain HIGH.
3.2
Start Data Transfer (B)
A HIGH to LOW transition of the SDA line while the
clock (SCL) is HIGH determines a START. All
commands must be preceded by a START.
3.3
Stop Data Transfer (C)
A LOW to HIGH transition of the SDA line while the
clock (SCL) is HIGH determines a STOP. All operations
must be ended with a STOP.
3.4
Data Valid (D)
The state of the data line represents valid data when,
after a START, the data line is stable for the duration of
the HIGH period of the clock signal.
The data on the line must be changed during the LOW
period of the clock signal. There is one clock pulse per
bit of data.
Each data transfer is initiated with a START and
terminated with a STOP. The number of the data bytes
transferred between the START and STOPs is
determined by the master device.
3.5
Acknowledge
Each receiving device, when addressed, is obliged to
generate an acknowledge after the reception of each
byte. The master device must generate an extra clock
pulse which is associated with this acknowledge bit.
A device that acknowledges must pull down the SDA
line during the acknowledge clock pulse in such a way
that the SDA line is stable LOW during the HIGH period
of the acknowledge related clock pulse. Of course,
setup and hold times must be taken into account.
During reads, a master must signal an end of data to
the slave by NOT generating an acknowledge bit on the
last byte that has been clocked out of the slave. In this
case, the slave (24FC65) must leave the data line
HIGH to enable the master to generate the STOP.
Note:
The 24FC65 does not generate any
acknowledge bits if an internal program-
ming cycle is in progress.
FIGURE 3-1:
DATA TRANSFER SEQUENCE ON THE SERIAL BUS
SCL
SDA
(A)
(B)
START
(C)
(A)
(D)
(D)
Address
or
Acknowledge
Valid
Data Allowed
to Change
STOP
Condition
Condition
2004 Microchip Technology Inc.
DS21125E-page 5
24FC65
3.6
Device Addressing
A control byte is the first byte received following the
START from the master device. The control byte
consists of a four bit control code, for the 24FC65 this is
set as 1010 binary for read and write operations. The
next three bits of the control byte are the device select
bits (A2, A1, A0). They are used by the master device to
select which of the eight devices are to be accessed.
These bits are in effect the three most significant bits of
the word address. The last bit of the control byte (R/W)
defines the operation to be performed. When set to a
one a read operation is selected, when set to a zero a
write operation is selected. The next two bytes received
define the address of the first data byte (Figure 4-1).
Because only A12..A0 are used, the upper three
address bits must be zeros. The most significant bit of
the most significant byte is transferred first. Following
the START, the 24FC65 monitors the SDA bus checking
the device type identifier being transmitted. Upon
receiving a 1010 code and appropriate device select
bits, the slave device (24FC65) outputs an acknowledge
signal on the SDA line. Depending upon the state of the
R/W bit, the 24FC65 will select a read or write operation.
FIGURE 3-2:
CONTROL BYTE
ALLOCATION
Operation
Control
Code
Device Select
R/W
Read
1010
Device Address
1
Write
1010
Device Address
0
SLAVE ADDRESS
X = Don’t care
1
0
1
0
A2
A1
A0
R/W
A
START
READ/WRITE
4.0
WRITE OPERATION
4.1
Byte Write
Following the START from the master, the control code
(four bits), the device select (three bits), and the R/W bit
which is a logic low is placed onto the bus by the master
transmitter. This indicates to the addressed slave
receiver (24FC65) that a byte with a word address will
follow after it has generated an acknowledge bit during
the ninth clock cycle. Therefore the next byte transmitted
by the master is the high-order byte of the word address
and will be written into the address pointer of the
24FC65. The next byte is the least significant address
byte. After receiving another acknowledge signal from
the 24FC65 the master device will transmit the data
word to be written into the addressed memory location.
The 24FC65 acknowledges again and the master
generates a STOP. This initiates the internal write cycle,
and during this time the 24FC65 will not generate
acknowledge signals (Figure 4-1).
4.2
Page Write
The write control byte, word address and the first data
byte are transmitted to the 24FC65 in the same way as
in a byte write. But instead of generating a STOP the
master transmits up to eight pages of eight data bytes
each (64 bytes total) which are temporarily stored in the
on-chip page cache of the 24FC65. They will be written
from the cache into the EEPROM array after the master
has transmitted a STOP. After the receipt of each word,
the six lower order address pointer bits are internally
incremented by one. The higher order seven bits of the
word address remain constant. If the master should
transmit more than eight bytes prior to generating the
STOP (writing across a page boundary), the address
counter (lower three bits) will roll over and the pointer will
be incremented to point to the next line in the cache. This
can continue to occur up to eight times or until the cache
is full, at which time a STOP should be generated by the
master. If a STOP is not received, the cache pointer will
roll over to the first line (byte 0) of the cache, and any
further data received will overwrite previously captured
data. The STOP can be sent at any time during the
transfer. As with the byte write operation, once the STOP
is received an internal write cycle will begin. The 64 byte
cache will continue to capture data until a STOP occurs
or the operation is aborted (Figure 4-2).
FIGURE 4-1:
BYTE WRITE
BUS ACTIVITY
MASTER
SDA LINE
BUS ACTIVITY
CONTROL
BYTE
WORD
ADDRESS (1)
A
C
K
S
T
A
R
T
WORD
ADDRESS (0)
A
C
K
A
C
K
0
S
T
O
P
A
C
K
0 0
DATA
S
P
24FC65
DS21125E-page 6
2004 Microchip Technology Inc.
FIGURE 4-2:
PAGE WRITE (FOR CACHE WRITE, SEE FIGURE 7-1)
FIGURE 4-3:
CURRENT ADDRESS READ
FIGURE 4-4:
RANDOM READ
FIGURE 4-5:
SEQUENTIAL READ
BUS
MASTER
SDA LINE
BUS
CONTROL
BYTE
WORD
ADDRESS (1)
S
T
O
P
S
T
A
R
T
A
C
K
0
A
C
K
A
C
K
ACTIVITY:
ACTIVITY:
A
C
K
A
C
K
DATA n
DATA n+7
0 0
WORD
ADDRESS (0)
S
P
CONTROL
A
C
K
S
T
A
R
T
S
T
O
P
BYTE
DATA n
BUS ACTIVITY
MASTER
SDA LINE
BUS ACTIVITY
A
C
K
N
O
S
P
BUS
MASTER
SDA LINE
BUS
CONTROL
BYTE
WORD
ADDRESS (1)
S
T
O
P
S
T
A
R
T
A
C
K
A
C
K
A
C
K
ACTIVITY:
ACTIVITY:
A
C
K
N
O
DATA n
0 0 0
WORD
ADDRESS (0)
S
T
A
R
T
CONTROL
BYTE
A
C
K
P
S
S
A
C
K
BUS ACTIVITY
MASTER
SDA LINE
BUS ACTIVITY
CONTROL
BYTE
DATA n
DATA n+1
DATA n+2
DATA n+X
A
C
K
A
C
K
A
C
K
N
O
A
C
K
S
T
O
P
P
2004 Microchip Technology Inc.
DS21125E-page 7
24FC65
5.0
READ OPERATION
Read operations are initiated in the same way as write
operations with the exception that the R/W bit of the
slave address is set to one. There are three basic
types of read operations: current address read, random
read, and sequential read.
5.1
Current Address Read
The 24FC65 contains an address counter that
maintains the address of the last word accessed,
internally incremented by one. Therefore, if the
previous access (either a read or write operation) was
to address n (n is any legal address), the next current
address read operation would access data from
address n + 1. Upon receipt of the slave address with
R/W bit set to one, the 24FC65 issues an acknowledge
and transmits the eight bit data word. The master will
not acknowledge the transfer but does generate a
STOP and the 24FC65 discontinues transmission
(Figure 4-3).
5.2
Random Read
Random read operations allow the master to access
any memory location in a random manner. To perform
this type of read operation, first the word address must
be set. This is done by sending the word address to the
24FC65 as part of a write operation (R/W bit set to 0).
After the word address is sent, the master generates a
START following the acknowledge. This terminates the
write operation, but not before the internal address
pointer is set. Then the master issues the control byte
again but with the R/W bit set to a one. The 24FC65 will
then issue an acknowledge and transmit the eight bit
data word. The master will not acknowledge the
transfer but does generate a STOP which causes the
24FC65 to discontinue transmission (Figure 4-4).
5.3
Sequential Read
Sequential reads are initiated in the same way as a
random read except that after the 24FC65 transmits
the first data byte, the master issues an acknowledge
as opposed to the STOP used in a random read. This
acknowledge directs the 24FC65 to transmit the next
sequentially addressed 8 bit word (Figure 4-5).
Following the final byte transmitted to the master, the
master will NOT generate an acknowledge but will
generate a STOP.
To provide sequential reads the 24FC65 contains an
internal address pointer which is incremented by one at
the completion of each operation. This address pointer
allows the entire memory contents to be serially read
during one operation.
5.4
Contiguous Addressing Across
Multiple Devices
The device select bits A2, A1, A0 can be used to
expand the contiguous address space for up to
512K-bits by adding up to eight 24FC65's on the same
bus. In this case, software can use A0 of the control
byte as address bit A13, A1 as address bit A14, and A2
as address bit A15.
5.5
Noise Protection
The SCL and SDA inputs incorporate Schmitt triggers
which suppress noise spikes to assure proper device
operation even on a noisy bus.
5.6
High Endurance Block
The location of the high-endurance block within the
memory map is programmed by setting the leading bit
7 (S/HE) of the configuration byte to 0. The upper bits
of the address loaded in this command will determine
which 4K block within the memory map will be set to
high endurance (Figure 8-1). This block will be capable
of 10,000,000 erase/write cycles guaranteed.
5.7
Security Options
The 24FC65 has a sophisticated mechanism for
write-protecting portions of the array. This write protect
function is programmable and allows the user to protect
0-15 contiguous 4K blocks. The user sets the security
option by sending to the device the starting block num-
ber for the protected region and the number of blocks
to be protected. All parts will come from the factory in
the default configuration with the starting block number
set to 15 and the number of protected blocks set to
zero. THE SECURITY OPTION CAN BE SET ONLY
ONCE.
To invoke the security option, a write command is sent
to the device with the leading bit (bit7) of the first
address byte set to a 1 (Figure 8-1). Bits 1-4 of the first
address byte define the starting block number for the
protected region. For example, if the starting block
number is to be set to 5, the first address byte would be
1XX0101X. Bits 0, 5 and 6 of the first address byte are
disregarded by the device and can be either high or
low. The device will acknowledge after the first address
byte. A byte of don't care bits is then sent by the master,
with the device acknowledging afterwards. The third
byte sent to the device has bit7 (S/HE) set high and bit6
(R) set low. Bits 4 and 5 are don't cares and bits 0-3
define the number of blocks to be write protected. For
example, if three blocks are to be protected, the third
Note:
The High Endurance Block cannot be
changed after the security option has been
set. If the H.E. block is not programmed by
the user, the default location is the highest
block of memory.
24FC65
DS21125E-page 8
2004 Microchip Technology Inc.
byte would be 10XX0011. After the third byte is sent to
the device, it will acknowledge and a STOP bit is then
sent by the master to complete the command.
During a normal write sequence, if an attempt is made
to write to a protected address, no data will be written
and the device will not report an error or abort the
command. If a write command is attempted across a
secure boundary, unprotected addresses will be written
and protected addresses will not.
5.8
Security Configuration Read
The status of the secure portion of memory can be read
by using the same technique as programming this
option except the READ bit (bit 6) of the configuration
byte is set to a one. After the configuration byte is sent,
the device will acknowledge and then send two bytes of
data to the master just as in a normal read sequence.
The master must acknowledge the first byte and not
acknowledge the second, and then send a stop bit to
end the sequence. The upper four bits of both of these
bytes will always be read as '1's. The lower four bits of
the first byte contains the starting secure block. The
lower four bits of the second byte contains the number
of secure blocks. The default starting secure block is
fifteen and the default number of secure blocks is zero
(Figure 8-1).
6.0
ACKNOWLEDGE POLLING
Since the device will not acknowledge during a write
cycle, this can be used to determine when the cycle is
complete (this feature can be used to maximize bus
throughput). Once the STOP for a write command has
been issued from the master, the device initiates the
internally timed write cycle. ACK polling can be initiated
immediately. This involves the master sending a
START followed by the control byte for a write
command (R/W = 0). If the device is still busy with the
write cycle, then no ACK will be returned. If the cycle is
complete, then the device will return the ACK and the
master can then proceed with the next read or write
command. See Figure 6-1 for flow diagram.
FIGURE 6-1:
ACKNOWLEDGE POLLING
FLOW
Did Device
Acknowledge
(ACK = 0)?
Send
Write Command
Send Stop
Condition to
Initiate Write Cycle
Send Start
Send Control Byte
with R/W = 0
Next
Operation
No
Yes
2004 Microchip Technology Inc.
DS21125E-page 9
24FC65
7.0
PAGE CACHE AND ARRAY
MAPPING
The cache is a 64 byte (8 pages x 8 bytes) FIFO buffer.
The cache allows the loading of up to 64 bytes of data
before the write cycle is actually begun, effectively
providing a 64-byte burst write at the maximum bus
rate. Whenever a write command is initiated, the cache
starts loading and will continue to load until a stop bit is
received to start the internal write cycle. The total
length of the write cycle will depend on how many
pages are loaded into the cache before the stop bit is
given. Maximum cycle time for each page is 5 ms. Even
if a page is only partially loaded, it will still require the
same cycle time as a full page. If more than 64 bytes of
data are loaded before the stop bit is given, the address
pointer will wrap around' to the beginning of cache
page 0 and existing bytes in the cache will be
overwritten. The device will not respond to any
commands while the write cycle is in progress.
7.1
Cache Write Starting at a Page
Boundary
If a write command begins at a page boundary
(address bits A2, A1 and A0 are zero), then all data
loaded into the cache will be written to the array in
sequential addresses. This includes writing across a
4K block boundary. In the example shown below,
(Figure 7-1) a write command is initiated starting at
byte 0 of page 3 with a fully loaded cache (64 bytes).
The first byte in the cache is written to byte 0 of page 3
(of the array), with the remaining pages in the cache
written to sequential pages in the array. A write cycle is
executed after each page is written. Since the write
begins at page 3 and 8 pages are loaded into the
cache, the last 3 pages of the cache are written to the
next row in the array.
7.2
Cache Write Starting at a Non-Page
Boundary
When a write command is initiated that does not begin
at a page boundary (i.e., address bits A2, A1 and A0
are not all zero), it is important to note how the data is
loaded into the cache, and how the data in the cache is
written to the array. When a write command begins, the
first byte loaded into the cache is always loaded into
page 0. The byte within page 0 of the cache where the
load begins is determined by the three least significant
address bits (A2, A1, A0) that were sent as part of the
write command. If the write command does not start at
byte 0 of a page and the cache is fully loaded, then the
last byte(s) loaded into the cache will roll around to
page 0 of the cache and fill the remaining empty bytes.
If more than 64 bytes of data are loaded into the cache,
data already loaded will be overwritten. In the example
shown in Figure 7-2, a write command has been
initiated starting at byte 2 of page 3 in the array with a
fully loaded cache of 64 bytes. Since the cache started
loading at byte 2, the last two bytes loaded into the
cache will ’roll over' and be loaded into the first two
bytes of page 0 (of the cache). When the stop bit is
sent, page 0 of the cache is written to page 3 of the
array. The remaining pages in the cache are then
loaded sequentially to the array. A write cycle is
executed after each page is written. If a partially loaded
page in the cache remains when the STOP bit is sent,
only the bytes that have been loaded will be written to
the array.
7.3
Power Management
The design incorporates a power standby mode when
not in use and automatically powers off after the normal
termination of any operation when a stop bit is received
and all internal functions are complete. This includes
any error conditions, i.e. not receiving an acknowledge
or STOP per the two-wire bus specification. The device
also incorporates V
DD
monitor circuitry to prevent inad-
vertent writes (data corruption) during low-voltage con-
ditions. The V
DD
monitor circuitry is powered off when
the device is in standby mode in order to further reduce
power consumption.
24FC65
DS21125E-page 10
2004 Microchip Technology Inc.
FIGURE 7-1:
CACHE WRITE TO THE ARRAY STARTING AT A PAGE BOUNDARY
FIGURE 7-2:
CACHE WRITE TO THE ARRAY STARTING AT A NON-PAGE BOUNDARY
1
Write command initiated at byte 0 of page 3 in the array;
First data byte is loaded into the cache byte 0.
2 64 bytes of data are loaded into cache.
cache page 0
cache
byte 0
cache
byte 1
• • •
cache
byte 7
cache page 1
bytes 8-15
cache page 2
bytes 16-23
• • •
cache page 7
bytes 56-63
4
Remaining pages in cache are written
to sequential pages in array.
page 0 page 1 page 2 byte 0 byte 1
• • •
byte 7 page 4
• • •
page 0 page 1 page 2
page 3
page 4
• • •
page 7
page 7
array row n
array row n + 1
3
Write from cache into array initiated by STOP bit.
Page 0 of cache written to page 3 of array.
Write cycle is executed after every page is written.
5 Last page in cache written to page 2 in next row.
1
Write command initiated; 64 bytes of data
loaded into cache starting at byte 2 of page 0.
cache
byte 0
cache
byte 1
• • •
cache
byte 7
cache page 1
bytes 8-15
cache page 2
bytes 16-23
• • •
cache page 7
bytes 56-63
page 0 page 1 page 2 byte 0 byte 1
page 4
• • •
page 0 page 1 page 2
page 3
page 4
• • •
page 7
page 7
4
Write from cache into array initiated by STOP bit.
Page 0 of cache written to page 3 of array.
Write cycle is executed after every page is written.
6 Last 3 pages in cache written to next row in array.
cache
byte 2
2
Last 2 bytes ‘roll ever’
to beginning.
3
5
Remaining bytes in cache
are written sequentially to
array.
Last 2 bytes
loaded into page
0 of cache.
byte 2 byte 3 byte 4
• • •
byte 7
array row n
array row n+1
2004 Microchip Technology Inc.
DS21125E-page 1
FEATURES
• Voltage operating range: 4.5V to 5.5V
- Maximum write current 3 mA at 5.5V
- Maximum read current 150
µ
A at 5.5V
- Standby current 1
µ
A typical
• 1 MHz SE2.bus two wire protocol
• Up to eight devices may be connected to the
same bus for up to 512K bits total memory
• Programmable block security options
• Programmable endurance options
• Schmitt trigger inputs for noise suppression
• Self-timed ERASE and WRITE cycles
• Power on/off data protection circuitry
• Endurance:
- 10,000,000 E/W cycles guaranteed for a 4K
block
- 1,000,000 E/W cycles guaranteed for a 60K
block
• Variable page size up to 64 bytes
• 8 byte x 8 line input cache (64 bytes)
for fast write loads
• <3 ms typical write cycle time, byte or page
• Electrostatic discharge protection > 4000V
• Data retention > 200 years
• 8-pin PDIP/SOIC packages
• Temperature ranges
DESCRIPTION
The Microchip Technology Inc. 24FC65 is a “smart”
8K 8x 8 Serial Electrically Erasable PROM (EEPROM)
with a high-speed 1MHz SE2.bus whose protocol is
functionally equivalent to the industry-standard I
2
C
bus. This device has been developed for advanced
applications such as personal communications, and
provides the systems designer with flexibility through
the use of many new user-programmable features. The
24FC65 offers a relocatable 4K-bit block of
ultra-high-endurance memory for data that changes
frequently. The remainder of the array, or 60K bits, is
rated at 1,000,000 ERASE/WRITE (E/W) cycles
guaranteed. The 24FC65 features an input cache for
fast write loads with a capacity of eight pages, or 64
bytes. This device also features programmable
security options for E/W protection of critical data
and/or code of up to fifteen 4K blocks. Functional
- Commercial (C):
0°C to +70°C
- Industrial (I):
-40°C to +85°C
address lines allow the connection of up to eight
24FC65's on the same bus for up to 512K bits
contiguous EEPROM memory. The 24FC65 is available
in the standard 8-pin plastic DIP and 8-pin surface
mount SOIC package.
24FC65
64K 5.0V 1 MHz I
2
C
™
Smart Serial
™
EEPROM
PACKAGE TYPES
BLOCK DIAGRAM
24F
C
6
5
A0
A1
A2
V
SS
1
2
3
4
8
7
6
5
V
CC
NC
SCL
SDA
24F
C65
A0
A1
A2
V
SS
1
2
3
4
8
7
6
5
V
CC
NC
SCL
SDA
PDIP
SOIC
HV GENERATOR
EEPROM
ARRAY
PAGE LATCHES
YDEC
XDEC
SENSE AMP
R/W CONTROL
MEMORY
CONTROL
LOGIC
I/O
CONTROL
LOGIC
SDA
SCL
V
CC
V
SS
I/O
A2
A1
A0
CACHE
I
2
C is a trademark of Philips Corporation.
Smart Serial is a trademark of Microchip Technology Inc.
Obsolete Device
24FC65
DS21125E-page 2
2004 Microchip Technology Inc.
1.0
ELECTRICAL CHARACTERISTICS
1.1
Maximum Ratings*
V
CC
...................................................................................7.0V
All inputs and outputs w.r.t. V
SS
............... -0.6V to V
CC
+1.0V
Storage temperature .....................................-65
°
C to +150
°
C
Ambient temp. with power applied ................-65
°
C to +125
°
C
Soldering temperature of leads (10 seconds) ............. +300
°
C
ESD protection on all pins
..................................................≥
4 kV
*Notice: Stresses above those listed under “Maximum Ratings”
may cause permanent damage to the device. This is a stress rat-
ing only and functional operation of the device at those or any
other conditions above those indicated in the operational listings
of this specification is not implied. Exposure to maximum rating
conditions for extended periods may affect device reliability.
TABLE 1-1:
PIN FUNCTION TABLE
Name
Function
A0,A1,A2
User Configurable Chip Selects
V
SS
Ground
SDA
Serial Address/Data I/O
SCL
Serial Clock
V
CC
+4.5V to 5.5V Power Supply
NC
No Internal Connection
TABLE 1-2:
DC CHARACTERISTICS
FIGURE 1-1:
BUS TIMING START/STOP
V
CC
= +4.5V to +5.5V
Commercial (C): Tamb = 0
°
C to +70
°
C
Industrial (I):
Tamb = -40
°
C to +85
°
C
Parameter
Symbol
Min
Max
Units
Conditions
A0, A1, A2, SCL and SDA pins:
High level input voltage
Low level input voltage
Hysteresis of SCL and SDA
Low level output voltage of SDA
V
IH
V
IL
V
HYS
V
OL
0.7 V
CC
—
0.05 V
CC
—
—
0.3 Vcc
—
0.40
V
V
V
V
(Note)
I
OL
= 3.0 mA
Input leakage current
I
LI
-10
10
µ
A
V
IN
= 0.1V to V
CC
Output leakage current
I
LO
-10
10
µ
A
V
OUT
= 0.1V to V
CC
Pin capacitance
(all inputs/outputs)
C
INT
—
10
pF
V
CC
= 5.0V (Note)
Tamb = 25°C, F
CLK
= 1 MHz
Operating current
I
CC
Write
I
CC
Read
—
—
3
150
mA
µ
A
V
CC
= 5.5V, SCL = 1 MH
Z
V
CC
= 5.5V, SCL = 1 MHz
Standby current
I
CCS
—
5
µ
A
V
CC
= 5.5V, SCL = SDA =V
CC
A0, A1, A2 = V
SS
Note: This parameter is periodically sampled and not 100% tested.
SCL
SDA
START
STOP
V
HYS
T
SU
:
STO
T
HD
:
STA
T
SU
:
STA
2004 Microchip Technology Inc.
DS21125E-page 3
24FC65
TABLE 1-3:
AC CHARACTERISTICS
FIGURE 1-2:
BUS TIMING DATA
Parameter
Symbol
1 MHz Bus
Units
Remarks
Min
Max
Clock frequency
F
CLK
0
1000
kHz
Clock high time
THIGH
500
—
ns
Clock low time
T
LOW
500
—
ns
SDA and SCL rise time
T
R
—
300
ns
(Note 1)
SDA and SCL fall time
T
F
—
100
ns
(Note 1)
START hold time
T
HD
:
STA
250
—
ns
After this period the first clock pulse is
generated
START setup time
T
SU
:
STA
250
—
ns
Only relevant for repeated START
Data input hold time
T
HD
:
DAT
0
—
ns
Data input setup time
T
SU
:
DAT
100
—
ns
STOP setup time
T
SU
:
STO
250
—
ns
Output valid from clock
T
AA
—
350
ns
(Note 2)
Bus free time
T
BUF
500
—
ns
Time the bus must be free before a
new transmission can start
Write cycle time
T
WR
—
5
ms/page (Note 3)
Endurance
High Endurance Block
Rest of Array
10M
1M
—
—
cycles
25°C, Vcc = 5.0V, Block Mode
(Note 4)
Note 1: Not 100 percent tested.
2: As a transmitter, the device must provide an internal minimum delay time to bridge the undefined region
(minimum 100 ns) of the falling edge of SCL to avoid unintended generation of START or STOPs.
3: The times shown are for a single page of 8 bytes. Multiply by the number of pages loaded into the write
cache for total time.
4: This parameter is not tested but guaranteed by characterization. For endurance estimates in a specific appli-
cation, please consult the Total Endurance Model which can be obtained on our website.
SCL
SDA
IN
SDA
OUT
T
SU
:
STA
T
SP
T
AA
T
F
T
LOW
T
HIGH
T
HD
:
STA
T
HD
:
DAT
T
SU
:
DAT
T
SU
:
STO
T
BUF
T
AA
T
R
24FC65
DS21125E-page 4
2004 Microchip Technology Inc.
2.0
FUNCTIONAL DESCRIPTION
The 24FC65 supports a bidirectional two-wire bus and
data transmission protocol. A device that sends data
onto the bus is defined as transmitter, and a device
receiving data as receiver. The bus must be controlled
by a master device which generates the serial clock
(SCL), controls the bus access, and generates the
START and STOPs, while the 24FC65 works as slave.
Both master and slave can operate as transmitter or
receiver but the master device determines which mode
is activated.
3.0
BUS CHARACTERISTICS
The following bus protocol has been defined:
• Data transfer may be initiated only when the bus
is not busy.
• During data transfer, the data line must remain
stable whenever the clock line is HIGH. Changes
in the data line while the clock line is HIGH will be
interpreted as a START or STOP.
Accordingly, the following bus conditions have been
defined (Figure 3-1).
3.1
Bus not Busy (A)
Both data and clock lines remain HIGH.
3.2
Start Data Transfer (B)
A HIGH to LOW transition of the SDA line while the
clock (SCL) is HIGH determines a START. All
commands must be preceded by a START.
3.3
Stop Data Transfer (C)
A LOW to HIGH transition of the SDA line while the
clock (SCL) is HIGH determines a STOP. All operations
must be ended with a STOP.
3.4
Data Valid (D)
The state of the data line represents valid data when,
after a START, the data line is stable for the duration of
the HIGH period of the clock signal.
The data on the line must be changed during the LOW
period of the clock signal. There is one clock pulse per
bit of data.
Each data transfer is initiated with a START and
terminated with a STOP. The number of the data bytes
transferred between the START and STOPs is
determined by the master device.
3.5
Acknowledge
Each receiving device, when addressed, is obliged to
generate an acknowledge after the reception of each
byte. The master device must generate an extra clock
pulse which is associated with this acknowledge bit.
A device that acknowledges must pull down the SDA
line during the acknowledge clock pulse in such a way
that the SDA line is stable LOW during the HIGH period
of the acknowledge related clock pulse. Of course,
setup and hold times must be taken into account.
During reads, a master must signal an end of data to
the slave by NOT generating an acknowledge bit on the
last byte that has been clocked out of the slave. In this
case, the slave (24FC65) must leave the data line
HIGH to enable the master to generate the STOP.
Note:
The 24FC65 does not generate any
acknowledge bits if an internal program-
ming cycle is in progress.
FIGURE 3-1:
DATA TRANSFER SEQUENCE ON THE SERIAL BUS
SCL
SDA
(A)
(B)
START
(C)
(A)
(D)
(D)
Address
or
Acknowledge
Valid
Data Allowed
to Change
STOP
Condition
Condition
2004 Microchip Technology Inc.
DS21125E-page 5
24FC65
3.6
Device Addressing
A control byte is the first byte received following the
START from the master device. The control byte
consists of a four bit control code, for the 24FC65 this is
set as 1010 binary for read and write operations. The
next three bits of the control byte are the device select
bits (A2, A1, A0). They are used by the master device to
select which of the eight devices are to be accessed.
These bits are in effect the three most significant bits of
the word address. The last bit of the control byte (R/W)
defines the operation to be performed. When set to a
one a read operation is selected, when set to a zero a
write operation is selected. The next two bytes received
define the address of the first data byte (Figure 4-1).
Because only A12..A0 are used, the upper three
address bits must be zeros. The most significant bit of
the most significant byte is transferred first. Following
the START, the 24FC65 monitors the SDA bus checking
the device type identifier being transmitted. Upon
receiving a 1010 code and appropriate device select
bits, the slave device (24FC65) outputs an acknowledge
signal on the SDA line. Depending upon the state of the
R/W bit, the 24FC65 will select a read or write operation.
FIGURE 3-2:
CONTROL BYTE
ALLOCATION
Operation
Control
Code
Device Select
R/W
Read
1010
Device Address
1
Write
1010
Device Address
0
SLAVE ADDRESS
X = Don’t care
1
0
1
0
A2
A1
A0
R/W
A
START
READ/WRITE
4.0
WRITE OPERATION
4.1
Byte Write
Following the START from the master, the control code
(four bits), the device select (three bits), and the R/W bit
which is a logic low is placed onto the bus by the master
transmitter. This indicates to the addressed slave
receiver (24FC65) that a byte with a word address will
follow after it has generated an acknowledge bit during
the ninth clock cycle. Therefore the next byte transmitted
by the master is the high-order byte of the word address
and will be written into the address pointer of the
24FC65. The next byte is the least significant address
byte. After receiving another acknowledge signal from
the 24FC65 the master device will transmit the data
word to be written into the addressed memory location.
The 24FC65 acknowledges again and the master
generates a STOP. This initiates the internal write cycle,
and during this time the 24FC65 will not generate
acknowledge signals (Figure 4-1).
4.2
Page Write
The write control byte, word address and the first data
byte are transmitted to the 24FC65 in the same way as
in a byte write. But instead of generating a STOP the
master transmits up to eight pages of eight data bytes
each (64 bytes total) which are temporarily stored in the
on-chip page cache of the 24FC65. They will be written
from the cache into the EEPROM array after the master
has transmitted a STOP. After the receipt of each word,
the six lower order address pointer bits are internally
incremented by one. The higher order seven bits of the
word address remain constant. If the master should
transmit more than eight bytes prior to generating the
STOP (writing across a page boundary), the address
counter (lower three bits) will roll over and the pointer will
be incremented to point to the next line in the cache. This
can continue to occur up to eight times or until the cache
is full, at which time a STOP should be generated by the
master. If a STOP is not received, the cache pointer will
roll over to the first line (byte 0) of the cache, and any
further data received will overwrite previously captured
data. The STOP can be sent at any time during the
transfer. As with the byte write operation, once the STOP
is received an internal write cycle will begin. The 64 byte
cache will continue to capture data until a STOP occurs
or the operation is aborted (Figure 4-2).
FIGURE 4-1:
BYTE WRITE
BUS ACTIVITY
MASTER
SDA LINE
BUS ACTIVITY
CONTROL
BYTE
WORD
ADDRESS (1)
A
C
K
S
T
A
R
T
WORD
ADDRESS (0)
A
C
K
A
C
K
0
S
T
O
P
A
C
K
0 0
DATA
S
P
24FC65
DS21125E-page 6
2004 Microchip Technology Inc.
FIGURE 4-2:
PAGE WRITE (FOR CACHE WRITE, SEE FIGURE 7-1)
FIGURE 4-3:
CURRENT ADDRESS READ
FIGURE 4-4:
RANDOM READ
FIGURE 4-5:
SEQUENTIAL READ
BUS
MASTER
SDA LINE
BUS
CONTROL
BYTE
WORD
ADDRESS (1)
S
T
O
P
S
T
A
R
T
A
C
K
0
A
C
K
A
C
K
ACTIVITY:
ACTIVITY:
A
C
K
A
C
K
DATA n
DATA n+7
0 0
WORD
ADDRESS (0)
S
P
CONTROL
A
C
K
S
T
A
R
T
S
T
O
P
BYTE
DATA n
BUS ACTIVITY
MASTER
SDA LINE
BUS ACTIVITY
A
C
K
N
O
S
P
BUS
MASTER
SDA LINE
BUS
CONTROL
BYTE
WORD
ADDRESS (1)
S
T
O
P
S
T
A
R
T
A
C
K
A
C
K
A
C
K
ACTIVITY:
ACTIVITY:
A
C
K
N
O
DATA n
0 0 0
WORD
ADDRESS (0)
S
T
A
R
T
CONTROL
BYTE
A
C
K
P
S
S
A
C
K
BUS ACTIVITY
MASTER
SDA LINE
BUS ACTIVITY
CONTROL
BYTE
DATA n
DATA n+1
DATA n+2
DATA n+X
A
C
K
A
C
K
A
C
K
N
O
A
C
K
S
T
O
P
P
2004 Microchip Technology Inc.
DS21125E-page 7
24FC65
5.0
READ OPERATION
Read operations are initiated in the same way as write
operations with the exception that the R/W bit of the
slave address is set to one. There are three basic
types of read operations: current address read, random
read, and sequential read.
5.1
Current Address Read
The 24FC65 contains an address counter that
maintains the address of the last word accessed,
internally incremented by one. Therefore, if the
previous access (either a read or write operation) was
to address n (n is any legal address), the next current
address read operation would access data from
address n + 1. Upon receipt of the slave address with
R/W bit set to one, the 24FC65 issues an acknowledge
and transmits the eight bit data word. The master will
not acknowledge the transfer but does generate a
STOP and the 24FC65 discontinues transmission
(Figure 4-3).
5.2
Random Read
Random read operations allow the master to access
any memory location in a random manner. To perform
this type of read operation, first the word address must
be set. This is done by sending the word address to the
24FC65 as part of a write operation (R/W bit set to 0).
After the word address is sent, the master generates a
START following the acknowledge. This terminates the
write operation, but not before the internal address
pointer is set. Then the master issues the control byte
again but with the R/W bit set to a one. The 24FC65 will
then issue an acknowledge and transmit the eight bit
data word. The master will not acknowledge the
transfer but does generate a STOP which causes the
24FC65 to discontinue transmission (Figure 4-4).
5.3
Sequential Read
Sequential reads are initiated in the same way as a
random read except that after the 24FC65 transmits
the first data byte, the master issues an acknowledge
as opposed to the STOP used in a random read. This
acknowledge directs the 24FC65 to transmit the next
sequentially addressed 8 bit word (Figure 4-5).
Following the final byte transmitted to the master, the
master will NOT generate an acknowledge but will
generate a STOP.
To provide sequential reads the 24FC65 contains an
internal address pointer which is incremented by one at
the completion of each operation. This address pointer
allows the entire memory contents to be serially read
during one operation.
5.4
Contiguous Addressing Across
Multiple Devices
The device select bits A2, A1, A0 can be used to
expand the contiguous address space for up to
512K-bits by adding up to eight 24FC65's on the same
bus. In this case, software can use A0 of the control
byte as address bit A13, A1 as address bit A14, and A2
as address bit A15.
5.5
Noise Protection
The SCL and SDA inputs incorporate Schmitt triggers
which suppress noise spikes to assure proper device
operation even on a noisy bus.
5.6
High Endurance Block
The location of the high-endurance block within the
memory map is programmed by setting the leading bit
7 (S/HE) of the configuration byte to 0. The upper bits
of the address loaded in this command will determine
which 4K block within the memory map will be set to
high endurance (Figure 8-1). This block will be capable
of 10,000,000 erase/write cycles guaranteed.
5.7
Security Options
The 24FC65 has a sophisticated mechanism for
write-protecting portions of the array. This write protect
function is programmable and allows the user to protect
0-15 contiguous 4K blocks. The user sets the security
option by sending to the device the starting block num-
ber for the protected region and the number of blocks
to be protected. All parts will come from the factory in
the default configuration with the starting block number
set to 15 and the number of protected blocks set to
zero. THE SECURITY OPTION CAN BE SET ONLY
ONCE.
To invoke the security option, a write command is sent
to the device with the leading bit (bit7) of the first
address byte set to a 1 (Figure 8-1). Bits 1-4 of the first
address byte define the starting block number for the
protected region. For example, if the starting block
number is to be set to 5, the first address byte would be
1XX0101X. Bits 0, 5 and 6 of the first address byte are
disregarded by the device and can be either high or
low. The device will acknowledge after the first address
byte. A byte of don't care bits is then sent by the master,
with the device acknowledging afterwards. The third
byte sent to the device has bit7 (S/HE) set high and bit6
(R) set low. Bits 4 and 5 are don't cares and bits 0-3
define the number of blocks to be write protected. For
example, if three blocks are to be protected, the third
Note:
The High Endurance Block cannot be
changed after the security option has been
set. If the H.E. block is not programmed by
the user, the default location is the highest
block of memory.
24FC65
DS21125E-page 8
2004 Microchip Technology Inc.
byte would be 10XX0011. After the third byte is sent to
the device, it will acknowledge and a STOP bit is then
sent by the master to complete the command.
During a normal write sequence, if an attempt is made
to write to a protected address, no data will be written
and the device will not report an error or abort the
command. If a write command is attempted across a
secure boundary, unprotected addresses will be written
and protected addresses will not.
5.8
Security Configuration Read
The status of the secure portion of memory can be read
by using the same technique as programming this
option except the READ bit (bit 6) of the configuration
byte is set to a one. After the configuration byte is sent,
the device will acknowledge and then send two bytes of
data to the master just as in a normal read sequence.
The master must acknowledge the first byte and not
acknowledge the second, and then send a stop bit to
end the sequence. The upper four bits of both of these
bytes will always be read as '1's. The lower four bits of
the first byte contains the starting secure block. The
lower four bits of the second byte contains the number
of secure blocks. The default starting secure block is
fifteen and the default number of secure blocks is zero
(Figure 8-1).
6.0
ACKNOWLEDGE POLLING
Since the device will not acknowledge during a write
cycle, this can be used to determine when the cycle is
complete (this feature can be used to maximize bus
throughput). Once the STOP for a write command has
been issued from the master, the device initiates the
internally timed write cycle. ACK polling can be initiated
immediately. This involves the master sending a
START followed by the control byte for a write
command (R/W = 0). If the device is still busy with the
write cycle, then no ACK will be returned. If the cycle is
complete, then the device will return the ACK and the
master can then proceed with the next read or write
command. See Figure 6-1 for flow diagram.
FIGURE 6-1:
ACKNOWLEDGE POLLING
FLOW
Did Device
Acknowledge
(ACK = 0)?
Send
Write Command
Send Stop
Condition to
Initiate Write Cycle
Send Start
Send Control Byte
with R/W = 0
Next
Operation
No
Yes
2004 Microchip Technology Inc.
DS21125E-page 9
24FC65
7.0
PAGE CACHE AND ARRAY
MAPPING
The cache is a 64 byte (8 pages x 8 bytes) FIFO buffer.
The cache allows the loading of up to 64 bytes of data
before the write cycle is actually begun, effectively
providing a 64-byte burst write at the maximum bus
rate. Whenever a write command is initiated, the cache
starts loading and will continue to load until a stop bit is
received to start the internal write cycle. The total
length of the write cycle will depend on how many
pages are loaded into the cache before the stop bit is
given. Maximum cycle time for each page is 5 ms. Even
if a page is only partially loaded, it will still require the
same cycle time as a full page. If more than 64 bytes of
data are loaded before the stop bit is given, the address
pointer will wrap around' to the beginning of cache
page 0 and existing bytes in the cache will be
overwritten. The device will not respond to any
commands while the write cycle is in progress.
7.1
Cache Write Starting at a Page
Boundary
If a write command begins at a page boundary
(address bits A2, A1 and A0 are zero), then all data
loaded into the cache will be written to the array in
sequential addresses. This includes writing across a
4K block boundary. In the example shown below,
(Figure 7-1) a write command is initiated starting at
byte 0 of page 3 with a fully loaded cache (64 bytes).
The first byte in the cache is written to byte 0 of page 3
(of the array), with the remaining pages in the cache
written to sequential pages in the array. A write cycle is
executed after each page is written. Since the write
begins at page 3 and 8 pages are loaded into the
cache, the last 3 pages of the cache are written to the
next row in the array.
7.2
Cache Write Starting at a Non-Page
Boundary
When a write command is initiated that does not begin
at a page boundary (i.e., address bits A2, A1 and A0
are not all zero), it is important to note how the data is
loaded into the cache, and how the data in the cache is
written to the array. When a write command begins, the
first byte loaded into the cache is always loaded into
page 0. The byte within page 0 of the cache where the
load begins is determined by the three least significant
address bits (A2, A1, A0) that were sent as part of the
write command. If the write command does not start at
byte 0 of a page and the cache is fully loaded, then the
last byte(s) loaded into the cache will roll around to
page 0 of the cache and fill the remaining empty bytes.
If more than 64 bytes of data are loaded into the cache,
data already loaded will be overwritten. In the example
shown in Figure 7-2, a write command has been
initiated starting at byte 2 of page 3 in the array with a
fully loaded cache of 64 bytes. Since the cache started
loading at byte 2, the last two bytes loaded into the
cache will ’roll over' and be loaded into the first two
bytes of page 0 (of the cache). When the stop bit is
sent, page 0 of the cache is written to page 3 of the
array. The remaining pages in the cache are then
loaded sequentially to the array. A write cycle is
executed after each page is written. If a partially loaded
page in the cache remains when the STOP bit is sent,
only the bytes that have been loaded will be written to
the array.
7.3
Power Management
The design incorporates a power standby mode when
not in use and automatically powers off after the normal
termination of any operation when a stop bit is received
and all internal functions are complete. This includes
any error conditions, i.e. not receiving an acknowledge
or STOP per the two-wire bus specification. The device
also incorporates V
DD
monitor circuitry to prevent inad-
vertent writes (data corruption) during low-voltage con-
ditions. The V
DD
monitor circuitry is powered off when
the device is in standby mode in order to further reduce
power consumption.
24FC65
DS21125E-page 10
2004 Microchip Technology Inc.
FIGURE 7-1:
CACHE WRITE TO THE ARRAY STARTING AT A PAGE BOUNDARY
FIGURE 7-2:
CACHE WRITE TO THE ARRAY STARTING AT A NON-PAGE BOUNDARY
1
Write command initiated at byte 0 of page 3 in the array;
First data byte is loaded into the cache byte 0.
2 64 bytes of data are loaded into cache.
cache page 0
cache
byte 0
cache
byte 1
• • •
cache
byte 7
cache page 1
bytes 8-15
cache page 2
bytes 16-23
• • •
cache page 7
bytes 56-63
4
Remaining pages in cache are written
to sequential pages in array.
page 0 page 1 page 2 byte 0 byte 1
• • •
byte 7 page 4
• • •
page 0 page 1 page 2
page 3
page 4
• • •
page 7
page 7
array row n
array row n + 1
3
Write from cache into array initiated by STOP bit.
Page 0 of cache written to page 3 of array.
Write cycle is executed after every page is written.
5 Last page in cache written to page 2 in next row.
1
Write command initiated; 64 bytes of data
loaded into cache starting at byte 2 of page 0.
cache
byte 0
cache
byte 1
• • •
cache
byte 7
cache page 1
bytes 8-15
cache page 2
bytes 16-23
• • •
cache page 7
bytes 56-63
page 0 page 1 page 2 byte 0 byte 1
page 4
• • •
page 0 page 1 page 2
page 3
page 4
• • •
page 7
page 7
4
Write from cache into array initiated by STOP bit.
Page 0 of cache written to page 3 of array.
Write cycle is executed after every page is written.
6 Last 3 pages in cache written to next row in array.
cache
byte 2
2
Last 2 bytes ‘roll ever’
to beginning.
3
5
Remaining bytes in cache
are written sequentially to
array.
Last 2 bytes
loaded into page
0 of cache.
byte 2 byte 3 byte 4
• • •
byte 7
array row n
array row n+1
2004 Microchip Technology Inc.
DS21125E-page 1
FEATURES
• Voltage operating range: 4.5V to 5.5V
- Maximum write current 3 mA at 5.5V
- Maximum read current 150
µ
A at 5.5V
- Standby current 1
µ
A typical
• 1 MHz SE2.bus two wire protocol
• Up to eight devices may be connected to the
same bus for up to 512K bits total memory
• Programmable block security options
• Programmable endurance options
• Schmitt trigger inputs for noise suppression
• Self-timed ERASE and WRITE cycles
• Power on/off data protection circuitry
• Endurance:
- 10,000,000 E/W cycles guaranteed for a 4K
block
- 1,000,000 E/W cycles guaranteed for a 60K
block
• Variable page size up to 64 bytes
• 8 byte x 8 line input cache (64 bytes)
for fast write loads
• <3 ms typical write cycle time, byte or page
• Electrostatic discharge protection > 4000V
• Data retention > 200 years
• 8-pin PDIP/SOIC packages
• Temperature ranges
DESCRIPTION
The Microchip Technology Inc. 24FC65 is a “smart”
8K 8x 8 Serial Electrically Erasable PROM (EEPROM)
with a high-speed 1MHz SE2.bus whose protocol is
functionally equivalent to the industry-standard I
2
C
bus. This device has been developed for advanced
applications such as personal communications, and
provides the systems designer with flexibility through
the use of many new user-programmable features. The
24FC65 offers a relocatable 4K-bit block of
ultra-high-endurance memory for data that changes
frequently. The remainder of the array, or 60K bits, is
rated at 1,000,000 ERASE/WRITE (E/W) cycles
guaranteed. The 24FC65 features an input cache for
fast write loads with a capacity of eight pages, or 64
bytes. This device also features programmable
security options for E/W protection of critical data
and/or code of up to fifteen 4K blocks. Functional
- Commercial (C):
0°C to +70°C
- Industrial (I):
-40°C to +85°C
address lines allow the connection of up to eight
24FC65's on the same bus for up to 512K bits
contiguous EEPROM memory. The 24FC65 is available
in the standard 8-pin plastic DIP and 8-pin surface
mount SOIC package.
24FC65
64K 5.0V 1 MHz I
2
C
™
Smart Serial
™
EEPROM
PACKAGE TYPES
BLOCK DIAGRAM
24F
C
6
5
A0
A1
A2
V
SS
1
2
3
4
8
7
6
5
V
CC
NC
SCL
SDA
24F
C65
A0
A1
A2
V
SS
1
2
3
4
8
7
6
5
V
CC
NC
SCL
SDA
PDIP
SOIC
HV GENERATOR
EEPROM
ARRAY
PAGE LATCHES
YDEC
XDEC
SENSE AMP
R/W CONTROL
MEMORY
CONTROL
LOGIC
I/O
CONTROL
LOGIC
SDA
SCL
V
CC
V
SS
I/O
A2
A1
A0
CACHE
I
2
C is a trademark of Philips Corporation.
Smart Serial is a trademark of Microchip Technology Inc.
Obsolete Device
24FC65
DS21125E-page 2
2004 Microchip Technology Inc.
1.0
ELECTRICAL CHARACTERISTICS
1.1
Maximum Ratings*
V
CC
...................................................................................7.0V
All inputs and outputs w.r.t. V
SS
............... -0.6V to V
CC
+1.0V
Storage temperature .....................................-65
°
C to +150
°
C
Ambient temp. with power applied ................-65
°
C to +125
°
C
Soldering temperature of leads (10 seconds) ............. +300
°
C
ESD protection on all pins
..................................................≥
4 kV
*Notice: Stresses above those listed under “Maximum Ratings”
may cause permanent damage to the device. This is a stress rat-
ing only and functional operation of the device at those or any
other conditions above those indicated in the operational listings
of this specification is not implied. Exposure to maximum rating
conditions for extended periods may affect device reliability.
TABLE 1-1:
PIN FUNCTION TABLE
Name
Function
A0,A1,A2
User Configurable Chip Selects
V
SS
Ground
SDA
Serial Address/Data I/O
SCL
Serial Clock
V
CC
+4.5V to 5.5V Power Supply
NC
No Internal Connection
TABLE 1-2:
DC CHARACTERISTICS
FIGURE 1-1:
BUS TIMING START/STOP
V
CC
= +4.5V to +5.5V
Commercial (C): Tamb = 0
°
C to +70
°
C
Industrial (I):
Tamb = -40
°
C to +85
°
C
Parameter
Symbol
Min
Max
Units
Conditions
A0, A1, A2, SCL and SDA pins:
High level input voltage
Low level input voltage
Hysteresis of SCL and SDA
Low level output voltage of SDA
V
IH
V
IL
V
HYS
V
OL
0.7 V
CC
—
0.05 V
CC
—
—
0.3 Vcc
—
0.40
V
V
V
V
(Note)
I
OL
= 3.0 mA
Input leakage current
I
LI
-10
10
µ
A
V
IN
= 0.1V to V
CC
Output leakage current
I
LO
-10
10
µ
A
V
OUT
= 0.1V to V
CC
Pin capacitance
(all inputs/outputs)
C
INT
—
10
pF
V
CC
= 5.0V (Note)
Tamb = 25°C, F
CLK
= 1 MHz
Operating current
I
CC
Write
I
CC
Read
—
—
3
150
mA
µ
A
V
CC
= 5.5V, SCL = 1 MH
Z
V
CC
= 5.5V, SCL = 1 MHz
Standby current
I
CCS
—
5
µ
A
V
CC
= 5.5V, SCL = SDA =V
CC
A0, A1, A2 = V
SS
Note: This parameter is periodically sampled and not 100% tested.
SCL
SDA
START
STOP
V
HYS
T
SU
:
STO
T
HD
:
STA
T
SU
:
STA
2004 Microchip Technology Inc.
DS21125E-page 3
24FC65
TABLE 1-3:
AC CHARACTERISTICS
FIGURE 1-2:
BUS TIMING DATA
Parameter
Symbol
1 MHz Bus
Units
Remarks
Min
Max
Clock frequency
F
CLK
0
1000
kHz
Clock high time
THIGH
500
—
ns
Clock low time
T
LOW
500
—
ns
SDA and SCL rise time
T
R
—
300
ns
(Note 1)
SDA and SCL fall time
T
F
—
100
ns
(Note 1)
START hold time
T
HD
:
STA
250
—
ns
After this period the first clock pulse is
generated
START setup time
T
SU
:
STA
250
—
ns
Only relevant for repeated START
Data input hold time
T
HD
:
DAT
0
—
ns
Data input setup time
T
SU
:
DAT
100
—
ns
STOP setup time
T
SU
:
STO
250
—
ns
Output valid from clock
T
AA
—
350
ns
(Note 2)
Bus free time
T
BUF
500
—
ns
Time the bus must be free before a
new transmission can start
Write cycle time
T
WR
—
5
ms/page (Note 3)
Endurance
High Endurance Block
Rest of Array
10M
1M
—
—
cycles
25°C, Vcc = 5.0V, Block Mode
(Note 4)
Note 1: Not 100 percent tested.
2: As a transmitter, the device must provide an internal minimum delay time to bridge the undefined region
(minimum 100 ns) of the falling edge of SCL to avoid unintended generation of START or STOPs.
3: The times shown are for a single page of 8 bytes. Multiply by the number of pages loaded into the write
cache for total time.
4: This parameter is not tested but guaranteed by characterization. For endurance estimates in a specific appli-
cation, please consult the Total Endurance Model which can be obtained on our website.
SCL
SDA
IN
SDA
OUT
T
SU
:
STA
T
SP
T
AA
T
F
T
LOW
T
HIGH
T
HD
:
STA
T
HD
:
DAT
T
SU
:
DAT
T
SU
:
STO
T
BUF
T
AA
T
R
24FC65
DS21125E-page 4
2004 Microchip Technology Inc.
2.0
FUNCTIONAL DESCRIPTION
The 24FC65 supports a bidirectional two-wire bus and
data transmission protocol. A device that sends data
onto the bus is defined as transmitter, and a device
receiving data as receiver. The bus must be controlled
by a master device which generates the serial clock
(SCL), controls the bus access, and generates the
START and STOPs, while the 24FC65 works as slave.
Both master and slave can operate as transmitter or
receiver but the master device determines which mode
is activated.
3.0
BUS CHARACTERISTICS
The following bus protocol has been defined:
• Data transfer may be initiated only when the bus
is not busy.
• During data transfer, the data line must remain
stable whenever the clock line is HIGH. Changes
in the data line while the clock line is HIGH will be
interpreted as a START or STOP.
Accordingly, the following bus conditions have been
defined (Figure 3-1).
3.1
Bus not Busy (A)
Both data and clock lines remain HIGH.
3.2
Start Data Transfer (B)
A HIGH to LOW transition of the SDA line while the
clock (SCL) is HIGH determines a START. All
commands must be preceded by a START.
3.3
Stop Data Transfer (C)
A LOW to HIGH transition of the SDA line while the
clock (SCL) is HIGH determines a STOP. All operations
must be ended with a STOP.
3.4
Data Valid (D)
The state of the data line represents valid data when,
after a START, the data line is stable for the duration of
the HIGH period of the clock signal.
The data on the line must be changed during the LOW
period of the clock signal. There is one clock pulse per
bit of data.
Each data transfer is initiated with a START and
terminated with a STOP. The number of the data bytes
transferred between the START and STOPs is
determined by the master device.
3.5
Acknowledge
Each receiving device, when addressed, is obliged to
generate an acknowledge after the reception of each
byte. The master device must generate an extra clock
pulse which is associated with this acknowledge bit.
A device that acknowledges must pull down the SDA
line during the acknowledge clock pulse in such a way
that the SDA line is stable LOW during the HIGH period
of the acknowledge related clock pulse. Of course,
setup and hold times must be taken into account.
During reads, a master must signal an end of data to
the slave by NOT generating an acknowledge bit on the
last byte that has been clocked out of the slave. In this
case, the slave (24FC65) must leave the data line
HIGH to enable the master to generate the STOP.
Note:
The 24FC65 does not generate any
acknowledge bits if an internal program-
ming cycle is in progress.
FIGURE 3-1:
DATA TRANSFER SEQUENCE ON THE SERIAL BUS
SCL
SDA
(A)
(B)
START
(C)
(A)
(D)
(D)
Address
or
Acknowledge
Valid
Data Allowed
to Change
STOP
Condition
Condition
2004 Microchip Technology Inc.
DS21125E-page 5
24FC65
3.6
Device Addressing
A control byte is the first byte received following the
START from the master device. The control byte
consists of a four bit control code, for the 24FC65 this is
set as 1010 binary for read and write operations. The
next three bits of the control byte are the device select
bits (A2, A1, A0). They are used by the master device to
select which of the eight devices are to be accessed.
These bits are in effect the three most significant bits of
the word address. The last bit of the control byte (R/W)
defines the operation to be performed. When set to a
one a read operation is selected, when set to a zero a
write operation is selected. The next two bytes received
define the address of the first data byte (Figure 4-1).
Because only A12..A0 are used, the upper three
address bits must be zeros. The most significant bit of
the most significant byte is transferred first. Following
the START, the 24FC65 monitors the SDA bus checking
the device type identifier being transmitted. Upon
receiving a 1010 code and appropriate device select
bits, the slave device (24FC65) outputs an acknowledge
signal on the SDA line. Depending upon the state of the
R/W bit, the 24FC65 will select a read or write operation.
FIGURE 3-2:
CONTROL BYTE
ALLOCATION
Operation
Control
Code
Device Select
R/W
Read
1010
Device Address
1
Write
1010
Device Address
0
SLAVE ADDRESS
X = Don’t care
1
0
1
0
A2
A1
A0
R/W
A
START
READ/WRITE
4.0
WRITE OPERATION
4.1
Byte Write
Following the START from the master, the control code
(four bits), the device select (three bits), and the R/W bit
which is a logic low is placed onto the bus by the master
transmitter. This indicates to the addressed slave
receiver (24FC65) that a byte with a word address will
follow after it has generated an acknowledge bit during
the ninth clock cycle. Therefore the next byte transmitted
by the master is the high-order byte of the word address
and will be written into the address pointer of the
24FC65. The next byte is the least significant address
byte. After receiving another acknowledge signal from
the 24FC65 the master device will transmit the data
word to be written into the addressed memory location.
The 24FC65 acknowledges again and the master
generates a STOP. This initiates the internal write cycle,
and during this time the 24FC65 will not generate
acknowledge signals (Figure 4-1).
4.2
Page Write
The write control byte, word address and the first data
byte are transmitted to the 24FC65 in the same way as
in a byte write. But instead of generating a STOP the
master transmits up to eight pages of eight data bytes
each (64 bytes total) which are temporarily stored in the
on-chip page cache of the 24FC65. They will be written
from the cache into the EEPROM array after the master
has transmitted a STOP. After the receipt of each word,
the six lower order address pointer bits are internally
incremented by one. The higher order seven bits of the
word address remain constant. If the master should
transmit more than eight bytes prior to generating the
STOP (writing across a page boundary), the address
counter (lower three bits) will roll over and the pointer will
be incremented to point to the next line in the cache. This
can continue to occur up to eight times or until the cache
is full, at which time a STOP should be generated by the
master. If a STOP is not received, the cache pointer will
roll over to the first line (byte 0) of the cache, and any
further data received will overwrite previously captured
data. The STOP can be sent at any time during the
transfer. As with the byte write operation, once the STOP
is received an internal write cycle will begin. The 64 byte
cache will continue to capture data until a STOP occurs
or the operation is aborted (Figure 4-2).
FIGURE 4-1:
BYTE WRITE
BUS ACTIVITY
MASTER
SDA LINE
BUS ACTIVITY
CONTROL
BYTE
WORD
ADDRESS (1)
A
C
K
S
T
A
R
T
WORD
ADDRESS (0)
A
C
K
A
C
K
0
S
T
O
P
A
C
K
0 0
DATA
S
P
24FC65
DS21125E-page 6
2004 Microchip Technology Inc.
FIGURE 4-2:
PAGE WRITE (FOR CACHE WRITE, SEE FIGURE 7-1)
FIGURE 4-3:
CURRENT ADDRESS READ
FIGURE 4-4:
RANDOM READ
FIGURE 4-5:
SEQUENTIAL READ
BUS
MASTER
SDA LINE
BUS
CONTROL
BYTE
WORD
ADDRESS (1)
S
T
O
P
S
T
A
R
T
A
C
K
0
A
C
K
A
C
K
ACTIVITY:
ACTIVITY:
A
C
K
A
C
K
DATA n
DATA n+7
0 0
WORD
ADDRESS (0)
S
P
CONTROL
A
C
K
S
T
A
R
T
S
T
O
P
BYTE
DATA n
BUS ACTIVITY
MASTER
SDA LINE
BUS ACTIVITY
A
C
K
N
O
S
P
BUS
MASTER
SDA LINE
BUS
CONTROL
BYTE
WORD
ADDRESS (1)
S
T
O
P
S
T
A
R
T
A
C
K
A
C
K
A
C
K
ACTIVITY:
ACTIVITY:
A
C
K
N
O
DATA n
0 0 0
WORD
ADDRESS (0)
S
T
A
R
T
CONTROL
BYTE
A
C
K
P
S
S
A
C
K
BUS ACTIVITY
MASTER
SDA LINE
BUS ACTIVITY
CONTROL
BYTE
DATA n
DATA n+1
DATA n+2
DATA n+X
A
C
K
A
C
K
A
C
K
N
O
A
C
K
S
T
O
P
P
2004 Microchip Technology Inc.
DS21125E-page 7
24FC65
5.0
READ OPERATION
Read operations are initiated in the same way as write
operations with the exception that the R/W bit of the
slave address is set to one. There are three basic
types of read operations: current address read, random
read, and sequential read.
5.1
Current Address Read
The 24FC65 contains an address counter that
maintains the address of the last word accessed,
internally incremented by one. Therefore, if the
previous access (either a read or write operation) was
to address n (n is any legal address), the next current
address read operation would access data from
address n + 1. Upon receipt of the slave address with
R/W bit set to one, the 24FC65 issues an acknowledge
and transmits the eight bit data word. The master will
not acknowledge the transfer but does generate a
STOP and the 24FC65 discontinues transmission
(Figure 4-3).
5.2
Random Read
Random read operations allow the master to access
any memory location in a random manner. To perform
this type of read operation, first the word address must
be set. This is done by sending the word address to the
24FC65 as part of a write operation (R/W bit set to 0).
After the word address is sent, the master generates a
START following the acknowledge. This terminates the
write operation, but not before the internal address
pointer is set. Then the master issues the control byte
again but with the R/W bit set to a one. The 24FC65 will
then issue an acknowledge and transmit the eight bit
data word. The master will not acknowledge the
transfer but does generate a STOP which causes the
24FC65 to discontinue transmission (Figure 4-4).
5.3
Sequential Read
Sequential reads are initiated in the same way as a
random read except that after the 24FC65 transmits
the first data byte, the master issues an acknowledge
as opposed to the STOP used in a random read. This
acknowledge directs the 24FC65 to transmit the next
sequentially addressed 8 bit word (Figure 4-5).
Following the final byte transmitted to the master, the
master will NOT generate an acknowledge but will
generate a STOP.
To provide sequential reads the 24FC65 contains an
internal address pointer which is incremented by one at
the completion of each operation. This address pointer
allows the entire memory contents to be serially read
during one operation.
5.4
Contiguous Addressing Across
Multiple Devices
The device select bits A2, A1, A0 can be used to
expand the contiguous address space for up to
512K-bits by adding up to eight 24FC65's on the same
bus. In this case, software can use A0 of the control
byte as address bit A13, A1 as address bit A14, and A2
as address bit A15.
5.5
Noise Protection
The SCL and SDA inputs incorporate Schmitt triggers
which suppress noise spikes to assure proper device
operation even on a noisy bus.
5.6
High Endurance Block
The location of the high-endurance block within the
memory map is programmed by setting the leading bit
7 (S/HE) of the configuration byte to 0. The upper bits
of the address loaded in this command will determine
which 4K block within the memory map will be set to
high endurance (Figure 8-1). This block will be capable
of 10,000,000 erase/write cycles guaranteed.
5.7
Security Options
The 24FC65 has a sophisticated mechanism for
write-protecting portions of the array. This write protect
function is programmable and allows the user to protect
0-15 contiguous 4K blocks. The user sets the security
option by sending to the device the starting block num-
ber for the protected region and the number of blocks
to be protected. All parts will come from the factory in
the default configuration with the starting block number
set to 15 and the number of protected blocks set to
zero. THE SECURITY OPTION CAN BE SET ONLY
ONCE.
To invoke the security option, a write command is sent
to the device with the leading bit (bit7) of the first
address byte set to a 1 (Figure 8-1). Bits 1-4 of the first
address byte define the starting block number for the
protected region. For example, if the starting block
number is to be set to 5, the first address byte would be
1XX0101X. Bits 0, 5 and 6 of the first address byte are
disregarded by the device and can be either high or
low. The device will acknowledge after the first address
byte. A byte of don't care bits is then sent by the master,
with the device acknowledging afterwards. The third
byte sent to the device has bit7 (S/HE) set high and bit6
(R) set low. Bits 4 and 5 are don't cares and bits 0-3
define the number of blocks to be write protected. For
example, if three blocks are to be protected, the third
Note:
The High Endurance Block cannot be
changed after the security option has been
set. If the H.E. block is not programmed by
the user, the default location is the highest
block of memory.
24FC65
DS21125E-page 8
2004 Microchip Technology Inc.
byte would be 10XX0011. After the third byte is sent to
the device, it will acknowledge and a STOP bit is then
sent by the master to complete the command.
During a normal write sequence, if an attempt is made
to write to a protected address, no data will be written
and the device will not report an error or abort the
command. If a write command is attempted across a
secure boundary, unprotected addresses will be written
and protected addresses will not.
5.8
Security Configuration Read
The status of the secure portion of memory can be read
by using the same technique as programming this
option except the READ bit (bit 6) of the configuration
byte is set to a one. After the configuration byte is sent,
the device will acknowledge and then send two bytes of
data to the master just as in a normal read sequence.
The master must acknowledge the first byte and not
acknowledge the second, and then send a stop bit to
end the sequence. The upper four bits of both of these
bytes will always be read as '1's. The lower four bits of
the first byte contains the starting secure block. The
lower four bits of the second byte contains the number
of secure blocks. The default starting secure block is
fifteen and the default number of secure blocks is zero
(Figure 8-1).
6.0
ACKNOWLEDGE POLLING
Since the device will not acknowledge during a write
cycle, this can be used to determine when the cycle is
complete (this feature can be used to maximize bus
throughput). Once the STOP for a write command has
been issued from the master, the device initiates the
internally timed write cycle. ACK polling can be initiated
immediately. This involves the master sending a
START followed by the control byte for a write
command (R/W = 0). If the device is still busy with the
write cycle, then no ACK will be returned. If the cycle is
complete, then the device will return the ACK and the
master can then proceed with the next read or write
command. See Figure 6-1 for flow diagram.
FIGURE 6-1:
ACKNOWLEDGE POLLING
FLOW
Did Device
Acknowledge
(ACK = 0)?
Send
Write Command
Send Stop
Condition to
Initiate Write Cycle
Send Start
Send Control Byte
with R/W = 0
Next
Operation
No
Yes
2004 Microchip Technology Inc.
DS21125E-page 9
24FC65
7.0
PAGE CACHE AND ARRAY
MAPPING
The cache is a 64 byte (8 pages x 8 bytes) FIFO buffer.
The cache allows the loading of up to 64 bytes of data
before the write cycle is actually begun, effectively
providing a 64-byte burst write at the maximum bus
rate. Whenever a write command is initiated, the cache
starts loading and will continue to load until a stop bit is
received to start the internal write cycle. The total
length of the write cycle will depend on how many
pages are loaded into the cache before the stop bit is
given. Maximum cycle time for each page is 5 ms. Even
if a page is only partially loaded, it will still require the
same cycle time as a full page. If more than 64 bytes of
data are loaded before the stop bit is given, the address
pointer will wrap around' to the beginning of cache
page 0 and existing bytes in the cache will be
overwritten. The device will not respond to any
commands while the write cycle is in progress.
7.1
Cache Write Starting at a Page
Boundary
If a write command begins at a page boundary
(address bits A2, A1 and A0 are zero), then all data
loaded into the cache will be written to the array in
sequential addresses. This includes writing across a
4K block boundary. In the example shown below,
(Figure 7-1) a write command is initiated starting at
byte 0 of page 3 with a fully loaded cache (64 bytes).
The first byte in the cache is written to byte 0 of page 3
(of the array), with the remaining pages in the cache
written to sequential pages in the array. A write cycle is
executed after each page is written. Since the write
begins at page 3 and 8 pages are loaded into the
cache, the last 3 pages of the cache are written to the
next row in the array.
7.2
Cache Write Starting at a Non-Page
Boundary
When a write command is initiated that does not begin
at a page boundary (i.e., address bits A2, A1 and A0
are not all zero), it is important to note how the data is
loaded into the cache, and how the data in the cache is
written to the array. When a write command begins, the
first byte loaded into the cache is always loaded into
page 0. The byte within page 0 of the cache where the
load begins is determined by the three least significant
address bits (A2, A1, A0) that were sent as part of the
write command. If the write command does not start at
byte 0 of a page and the cache is fully loaded, then the
last byte(s) loaded into the cache will roll around to
page 0 of the cache and fill the remaining empty bytes.
If more than 64 bytes of data are loaded into the cache,
data already loaded will be overwritten. In the example
shown in Figure 7-2, a write command has been
initiated starting at byte 2 of page 3 in the array with a
fully loaded cache of 64 bytes. Since the cache started
loading at byte 2, the last two bytes loaded into the
cache will ’roll over' and be loaded into the first two
bytes of page 0 (of the cache). When the stop bit is
sent, page 0 of the cache is written to page 3 of the
array. The remaining pages in the cache are then
loaded sequentially to the array. A write cycle is
executed after each page is written. If a partially loaded
page in the cache remains when the STOP bit is sent,
only the bytes that have been loaded will be written to
the array.
7.3
Power Management
The design incorporates a power standby mode when
not in use and automatically powers off after the normal
termination of any operation when a stop bit is received
and all internal functions are complete. This includes
any error conditions, i.e. not receiving an acknowledge
or STOP per the two-wire bus specification. The device
also incorporates V
DD
monitor circuitry to prevent inad-
vertent writes (data corruption) during low-voltage con-
ditions. The V
DD
monitor circuitry is powered off when
the device is in standby mode in order to further reduce
power consumption.
24FC65
DS21125E-page 10
2004 Microchip Technology Inc.
FIGURE 7-1:
CACHE WRITE TO THE ARRAY STARTING AT A PAGE BOUNDARY
FIGURE 7-2:
CACHE WRITE TO THE ARRAY STARTING AT A NON-PAGE BOUNDARY
1
Write command initiated at byte 0 of page 3 in the array;
First data byte is loaded into the cache byte 0.
2 64 bytes of data are loaded into cache.
cache page 0
cache
byte 0
cache
byte 1
• • •
cache
byte 7
cache page 1
bytes 8-15
cache page 2
bytes 16-23
• • •
cache page 7
bytes 56-63
4
Remaining pages in cache are written
to sequential pages in array.
page 0 page 1 page 2 byte 0 byte 1
• • •
byte 7 page 4
• • •
page 0 page 1 page 2
page 3
page 4
• • •
page 7
page 7
array row n
array row n + 1
3
Write from cache into array initiated by STOP bit.
Page 0 of cache written to page 3 of array.
Write cycle is executed after every page is written.
5 Last page in cache written to page 2 in next row.
1
Write command initiated; 64 bytes of data
loaded into cache starting at byte 2 of page 0.
cache
byte 0
cache
byte 1
• • •
cache
byte 7
cache page 1
bytes 8-15
cache page 2
bytes 16-23
• • •
cache page 7
bytes 56-63
page 0 page 1 page 2 byte 0 byte 1
page 4
• • •
page 0 page 1 page 2
page 3
page 4
• • •
page 7
page 7
4
Write from cache into array initiated by STOP bit.
Page 0 of cache written to page 3 of array.
Write cycle is executed after every page is written.
6 Last 3 pages in cache written to next row in array.
cache
byte 2
2
Last 2 bytes ‘roll ever’
to beginning.
3
5
Remaining bytes in cache
are written sequentially to
array.
Last 2 bytes
loaded into page
0 of cache.
byte 2 byte 3 byte 4
• • •
byte 7
array row n
array row n+1
2004 Microchip Technology Inc.
DS21125E-page 1
FEATURES
• Voltage operating range: 4.5V to 5.5V
- Maximum write current 3 mA at 5.5V
- Maximum read current 150
µ
A at 5.5V
- Standby current 1
µ
A typical
• 1 MHz SE2.bus two wire protocol
• Up to eight devices may be connected to the
same bus for up to 512K bits total memory
• Programmable block security options
• Programmable endurance options
• Schmitt trigger inputs for noise suppression
• Self-timed ERASE and WRITE cycles
• Power on/off data protection circuitry
• Endurance:
- 10,000,000 E/W cycles guaranteed for a 4K
block
- 1,000,000 E/W cycles guaranteed for a 60K
block
• Variable page size up to 64 bytes
• 8 byte x 8 line input cache (64 bytes)
for fast write loads
• <3 ms typical write cycle time, byte or page
• Electrostatic discharge protection > 4000V
• Data retention > 200 years
• 8-pin PDIP/SOIC packages
• Temperature ranges
DESCRIPTION
The Microchip Technology Inc. 24FC65 is a “smart”
8K 8x 8 Serial Electrically Erasable PROM (EEPROM)
with a high-speed 1MHz SE2.bus whose protocol is
functionally equivalent to the industry-standard I
2
C
bus. This device has been developed for advanced
applications such as personal communications, and
provides the systems designer with flexibility through
the use of many new user-programmable features. The
24FC65 offers a relocatable 4K-bit block of
ultra-high-endurance memory for data that changes
frequently. The remainder of the array, or 60K bits, is
rated at 1,000,000 ERASE/WRITE (E/W) cycles
guaranteed. The 24FC65 features an input cache for
fast write loads with a capacity of eight pages, or 64
bytes. This device also features programmable
security options for E/W protection of critical data
and/or code of up to fifteen 4K blocks. Functional
- Commercial (C):
0°C to +70°C
- Industrial (I):
-40°C to +85°C
address lines allow the connection of up to eight
24FC65's on the same bus for up to 512K bits
contiguous EEPROM memory. The 24FC65 is available
in the standard 8-pin plastic DIP and 8-pin surface
mount SOIC package.
24FC65
64K 5.0V 1 MHz I
2
C
™
Smart Serial
™
EEPROM
PACKAGE TYPES
BLOCK DIAGRAM
24F
C
6
5
A0
A1
A2
V
SS
1
2
3
4
8
7
6
5
V
CC
NC
SCL
SDA
24F
C65
A0
A1
A2
V
SS
1
2
3
4
8
7
6
5
V
CC
NC
SCL
SDA
PDIP
SOIC
HV GENERATOR
EEPROM
ARRAY
PAGE LATCHES
YDEC
XDEC
SENSE AMP
R/W CONTROL
MEMORY
CONTROL
LOGIC
I/O
CONTROL
LOGIC
SDA
SCL
V
CC
V
SS
I/O
A2
A1
A0
CACHE
I
2
C is a trademark of Philips Corporation.
Smart Serial is a trademark of Microchip Technology Inc.
Obsolete Device
24FC65
DS21125E-page 2
2004 Microchip Technology Inc.
1.0
ELECTRICAL CHARACTERISTICS
1.1
Maximum Ratings*
V
CC
...................................................................................7.0V
All inputs and outputs w.r.t. V
SS
............... -0.6V to V
CC
+1.0V
Storage temperature .....................................-65
°
C to +150
°
C
Ambient temp. with power applied ................-65
°
C to +125
°
C
Soldering temperature of leads (10 seconds) ............. +300
°
C
ESD protection on all pins
..................................................≥
4 kV
*Notice: Stresses above those listed under “Maximum Ratings”
may cause permanent damage to the device. This is a stress rat-
ing only and functional operation of the device at those or any
other conditions above those indicated in the operational listings
of this specification is not implied. Exposure to maximum rating
conditions for extended periods may affect device reliability.
TABLE 1-1:
PIN FUNCTION TABLE
Name
Function
A0,A1,A2
User Configurable Chip Selects
V
SS
Ground
SDA
Serial Address/Data I/O
SCL
Serial Clock
V
CC
+4.5V to 5.5V Power Supply
NC
No Internal Connection
TABLE 1-2:
DC CHARACTERISTICS
FIGURE 1-1:
BUS TIMING START/STOP
V
CC
= +4.5V to +5.5V
Commercial (C): Tamb = 0
°
C to +70
°
C
Industrial (I):
Tamb = -40
°
C to +85
°
C
Parameter
Symbol
Min
Max
Units
Conditions
A0, A1, A2, SCL and SDA pins:
High level input voltage
Low level input voltage
Hysteresis of SCL and SDA
Low level output voltage of SDA
V
IH
V
IL
V
HYS
V
OL
0.7 V
CC
—
0.05 V
CC
—
—
0.3 Vcc
—
0.40
V
V
V
V
(Note)
I
OL
= 3.0 mA
Input leakage current
I
LI
-10
10
µ
A
V
IN
= 0.1V to V
CC
Output leakage current
I
LO
-10
10
µ
A
V
OUT
= 0.1V to V
CC
Pin capacitance
(all inputs/outputs)
C
INT
—
10
pF
V
CC
= 5.0V (Note)
Tamb = 25°C, F
CLK
= 1 MHz
Operating current
I
CC
Write
I
CC
Read
—
—
3
150
mA
µ
A
V
CC
= 5.5V, SCL = 1 MH
Z
V
CC
= 5.5V, SCL = 1 MHz
Standby current
I
CCS
—
5
µ
A
V
CC
= 5.5V, SCL = SDA =V
CC
A0, A1, A2 = V
SS
Note: This parameter is periodically sampled and not 100% tested.
SCL
SDA
START
STOP
V
HYS
T
SU
:
STO
T
HD
:
STA
T
SU
:
STA
2004 Microchip Technology Inc.
DS21125E-page 3
24FC65
TABLE 1-3:
AC CHARACTERISTICS
FIGURE 1-2:
BUS TIMING DATA
Parameter
Symbol
1 MHz Bus
Units
Remarks
Min
Max
Clock frequency
F
CLK
0
1000
kHz
Clock high time
THIGH
500
—
ns
Clock low time
T
LOW
500
—
ns
SDA and SCL rise time
T
R
—
300
ns
(Note 1)
SDA and SCL fall time
T
F
—
100
ns
(Note 1)
START hold time
T
HD
:
STA
250
—
ns
After this period the first clock pulse is
generated
START setup time
T
SU
:
STA
250
—
ns
Only relevant for repeated START
Data input hold time
T
HD
:
DAT
0
—
ns
Data input setup time
T
SU
:
DAT
100
—
ns
STOP setup time
T
SU
:
STO
250
—
ns
Output valid from clock
T
AA
—
350
ns
(Note 2)
Bus free time
T
BUF
500
—
ns
Time the bus must be free before a
new transmission can start
Write cycle time
T
WR
—
5
ms/page (Note 3)
Endurance
High Endurance Block
Rest of Array
10M
1M
—
—
cycles
25°C, Vcc = 5.0V, Block Mode
(Note 4)
Note 1: Not 100 percent tested.
2: As a transmitter, the device must provide an internal minimum delay time to bridge the undefined region
(minimum 100 ns) of the falling edge of SCL to avoid unintended generation of START or STOPs.
3: The times shown are for a single page of 8 bytes. Multiply by the number of pages loaded into the write
cache for total time.
4: This parameter is not tested but guaranteed by characterization. For endurance estimates in a specific appli-
cation, please consult the Total Endurance Model which can be obtained on our website.
SCL
SDA
IN
SDA
OUT
T
SU
:
STA
T
SP
T
AA
T
F
T
LOW
T
HIGH
T
HD
:
STA
T
HD
:
DAT
T
SU
:
DAT
T
SU
:
STO
T
BUF
T
AA
T
R
24FC65
DS21125E-page 4
2004 Microchip Technology Inc.
2.0
FUNCTIONAL DESCRIPTION
The 24FC65 supports a bidirectional two-wire bus and
data transmission protocol. A device that sends data
onto the bus is defined as transmitter, and a device
receiving data as receiver. The bus must be controlled
by a master device which generates the serial clock
(SCL), controls the bus access, and generates the
START and STOPs, while the 24FC65 works as slave.
Both master and slave can operate as transmitter or
receiver but the master device determines which mode
is activated.
3.0
BUS CHARACTERISTICS
The following bus protocol has been defined:
• Data transfer may be initiated only when the bus
is not busy.
• During data transfer, the data line must remain
stable whenever the clock line is HIGH. Changes
in the data line while the clock line is HIGH will be
interpreted as a START or STOP.
Accordingly, the following bus conditions have been
defined (Figure 3-1).
3.1
Bus not Busy (A)
Both data and clock lines remain HIGH.
3.2
Start Data Transfer (B)
A HIGH to LOW transition of the SDA line while the
clock (SCL) is HIGH determines a START. All
commands must be preceded by a START.
3.3
Stop Data Transfer (C)
A LOW to HIGH transition of the SDA line while the
clock (SCL) is HIGH determines a STOP. All operations
must be ended with a STOP.
3.4
Data Valid (D)
The state of the data line represents valid data when,
after a START, the data line is stable for the duration of
the HIGH period of the clock signal.
The data on the line must be changed during the LOW
period of the clock signal. There is one clock pulse per
bit of data.
Each data transfer is initiated with a START and
terminated with a STOP. The number of the data bytes
transferred between the START and STOPs is
determined by the master device.
3.5
Acknowledge
Each receiving device, when addressed, is obliged to
generate an acknowledge after the reception of each
byte. The master device must generate an extra clock
pulse which is associated with this acknowledge bit.
A device that acknowledges must pull down the SDA
line during the acknowledge clock pulse in such a way
that the SDA line is stable LOW during the HIGH period
of the acknowledge related clock pulse. Of course,
setup and hold times must be taken into account.
During reads, a master must signal an end of data to
the slave by NOT generating an acknowledge bit on the
last byte that has been clocked out of the slave. In this
case, the slave (24FC65) must leave the data line
HIGH to enable the master to generate the STOP.
Note:
The 24FC65 does not generate any
acknowledge bits if an internal program-
ming cycle is in progress.
FIGURE 3-1:
DATA TRANSFER SEQUENCE ON THE SERIAL BUS
SCL
SDA
(A)
(B)
START
(C)
(A)
(D)
(D)
Address
or
Acknowledge
Valid
Data Allowed
to Change
STOP
Condition
Condition
2004 Microchip Technology Inc.
DS21125E-page 5
24FC65
3.6
Device Addressing
A control byte is the first byte received following the
START from the master device. The control byte
consists of a four bit control code, for the 24FC65 this is
set as 1010 binary for read and write operations. The
next three bits of the control byte are the device select
bits (A2, A1, A0). They are used by the master device to
select which of the eight devices are to be accessed.
These bits are in effect the three most significant bits of
the word address. The last bit of the control byte (R/W)
defines the operation to be performed. When set to a
one a read operation is selected, when set to a zero a
write operation is selected. The next two bytes received
define the address of the first data byte (Figure 4-1).
Because only A12..A0 are used, the upper three
address bits must be zeros. The most significant bit of
the most significant byte is transferred first. Following
the START, the 24FC65 monitors the SDA bus checking
the device type identifier being transmitted. Upon
receiving a 1010 code and appropriate device select
bits, the slave device (24FC65) outputs an acknowledge
signal on the SDA line. Depending upon the state of the
R/W bit, the 24FC65 will select a read or write operation.
FIGURE 3-2:
CONTROL BYTE
ALLOCATION
Operation
Control
Code
Device Select
R/W
Read
1010
Device Address
1
Write
1010
Device Address
0
SLAVE ADDRESS
X = Don’t care
1
0
1
0
A2
A1
A0
R/W
A
START
READ/WRITE
4.0
WRITE OPERATION
4.1
Byte Write
Following the START from the master, the control code
(four bits), the device select (three bits), and the R/W bit
which is a logic low is placed onto the bus by the master
transmitter. This indicates to the addressed slave
receiver (24FC65) that a byte with a word address will
follow after it has generated an acknowledge bit during
the ninth clock cycle. Therefore the next byte transmitted
by the master is the high-order byte of the word address
and will be written into the address pointer of the
24FC65. The next byte is the least significant address
byte. After receiving another acknowledge signal from
the 24FC65 the master device will transmit the data
word to be written into the addressed memory location.
The 24FC65 acknowledges again and the master
generates a STOP. This initiates the internal write cycle,
and during this time the 24FC65 will not generate
acknowledge signals (Figure 4-1).
4.2
Page Write
The write control byte, word address and the first data
byte are transmitted to the 24FC65 in the same way as
in a byte write. But instead of generating a STOP the
master transmits up to eight pages of eight data bytes
each (64 bytes total) which are temporarily stored in the
on-chip page cache of the 24FC65. They will be written
from the cache into the EEPROM array after the master
has transmitted a STOP. After the receipt of each word,
the six lower order address pointer bits are internally
incremented by one. The higher order seven bits of the
word address remain constant. If the master should
transmit more than eight bytes prior to generating the
STOP (writing across a page boundary), the address
counter (lower three bits) will roll over and the pointer will
be incremented to point to the next line in the cache. This
can continue to occur up to eight times or until the cache
is full, at which time a STOP should be generated by the
master. If a STOP is not received, the cache pointer will
roll over to the first line (byte 0) of the cache, and any
further data received will overwrite previously captured
data. The STOP can be sent at any time during the
transfer. As with the byte write operation, once the STOP
is received an internal write cycle will begin. The 64 byte
cache will continue to capture data until a STOP occurs
or the operation is aborted (Figure 4-2).
FIGURE 4-1:
BYTE WRITE
BUS ACTIVITY
MASTER
SDA LINE
BUS ACTIVITY
CONTROL
BYTE
WORD
ADDRESS (1)
A
C
K
S
T
A
R
T
WORD
ADDRESS (0)
A
C
K
A
C
K
0
S
T
O
P
A
C
K
0 0
DATA
S
P
24FC65
DS21125E-page 6
2004 Microchip Technology Inc.
FIGURE 4-2:
PAGE WRITE (FOR CACHE WRITE, SEE FIGURE 7-1)
FIGURE 4-3:
CURRENT ADDRESS READ
FIGURE 4-4:
RANDOM READ
FIGURE 4-5:
SEQUENTIAL READ
BUS
MASTER
SDA LINE
BUS
CONTROL
BYTE
WORD
ADDRESS (1)
S
T
O
P
S
T
A
R
T
A
C
K
0
A
C
K
A
C
K
ACTIVITY:
ACTIVITY:
A
C
K
A
C
K
DATA n
DATA n+7
0 0
WORD
ADDRESS (0)
S
P
CONTROL
A
C
K
S
T
A
R
T
S
T
O
P
BYTE
DATA n
BUS ACTIVITY
MASTER
SDA LINE
BUS ACTIVITY
A
C
K
N
O
S
P
BUS
MASTER
SDA LINE
BUS
CONTROL
BYTE
WORD
ADDRESS (1)
S
T
O
P
S
T
A
R
T
A
C
K
A
C
K
A
C
K
ACTIVITY:
ACTIVITY:
A
C
K
N
O
DATA n
0 0 0
WORD
ADDRESS (0)
S
T
A
R
T
CONTROL
BYTE
A
C
K
P
S
S
A
C
K
BUS ACTIVITY
MASTER
SDA LINE
BUS ACTIVITY
CONTROL
BYTE
DATA n
DATA n+1
DATA n+2
DATA n+X
A
C
K
A
C
K
A
C
K
N
O
A
C
K
S
T
O
P
P
2004 Microchip Technology Inc.
DS21125E-page 7
24FC65
5.0
READ OPERATION
Read operations are initiated in the same way as write
operations with the exception that the R/W bit of the
slave address is set to one. There are three basic
types of read operations: current address read, random
read, and sequential read.
5.1
Current Address Read
The 24FC65 contains an address counter that
maintains the address of the last word accessed,
internally incremented by one. Therefore, if the
previous access (either a read or write operation) was
to address n (n is any legal address), the next current
address read operation would access data from
address n + 1. Upon receipt of the slave address with
R/W bit set to one, the 24FC65 issues an acknowledge
and transmits the eight bit data word. The master will
not acknowledge the transfer but does generate a
STOP and the 24FC65 discontinues transmission
(Figure 4-3).
5.2
Random Read
Random read operations allow the master to access
any memory location in a random manner. To perform
this type of read operation, first the word address must
be set. This is done by sending the word address to the
24FC65 as part of a write operation (R/W bit set to 0).
After the word address is sent, the master generates a
START following the acknowledge. This terminates the
write operation, but not before the internal address
pointer is set. Then the master issues the control byte
again but with the R/W bit set to a one. The 24FC65 will
then issue an acknowledge and transmit the eight bit
data word. The master will not acknowledge the
transfer but does generate a STOP which causes the
24FC65 to discontinue transmission (Figure 4-4).
5.3
Sequential Read
Sequential reads are initiated in the same way as a
random read except that after the 24FC65 transmits
the first data byte, the master issues an acknowledge
as opposed to the STOP used in a random read. This
acknowledge directs the 24FC65 to transmit the next
sequentially addressed 8 bit word (Figure 4-5).
Following the final byte transmitted to the master, the
master will NOT generate an acknowledge but will
generate a STOP.
To provide sequential reads the 24FC65 contains an
internal address pointer which is incremented by one at
the completion of each operation. This address pointer
allows the entire memory contents to be serially read
during one operation.
5.4
Contiguous Addressing Across
Multiple Devices
The device select bits A2, A1, A0 can be used to
expand the contiguous address space for up to
512K-bits by adding up to eight 24FC65's on the same
bus. In this case, software can use A0 of the control
byte as address bit A13, A1 as address bit A14, and A2
as address bit A15.
5.5
Noise Protection
The SCL and SDA inputs incorporate Schmitt triggers
which suppress noise spikes to assure proper device
operation even on a noisy bus.
5.6
High Endurance Block
The location of the high-endurance block within the
memory map is programmed by setting the leading bit
7 (S/HE) of the configuration byte to 0. The upper bits
of the address loaded in this command will determine
which 4K block within the memory map will be set to
high endurance (Figure 8-1). This block will be capable
of 10,000,000 erase/write cycles guaranteed.
5.7
Security Options
The 24FC65 has a sophisticated mechanism for
write-protecting portions of the array. This write protect
function is programmable and allows the user to protect
0-15 contiguous 4K blocks. The user sets the security
option by sending to the device the starting block num-
ber for the protected region and the number of blocks
to be protected. All parts will come from the factory in
the default configuration with the starting block number
set to 15 and the number of protected blocks set to
zero. THE SECURITY OPTION CAN BE SET ONLY
ONCE.
To invoke the security option, a write command is sent
to the device with the leading bit (bit7) of the first
address byte set to a 1 (Figure 8-1). Bits 1-4 of the first
address byte define the starting block number for the
protected region. For example, if the starting block
number is to be set to 5, the first address byte would be
1XX0101X. Bits 0, 5 and 6 of the first address byte are
disregarded by the device and can be either high or
low. The device will acknowledge after the first address
byte. A byte of don't care bits is then sent by the master,
with the device acknowledging afterwards. The third
byte sent to the device has bit7 (S/HE) set high and bit6
(R) set low. Bits 4 and 5 are don't cares and bits 0-3
define the number of blocks to be write protected. For
example, if three blocks are to be protected, the third
Note:
The High Endurance Block cannot be
changed after the security option has been
set. If the H.E. block is not programmed by
the user, the default location is the highest
block of memory.
24FC65
DS21125E-page 8
2004 Microchip Technology Inc.
byte would be 10XX0011. After the third byte is sent to
the device, it will acknowledge and a STOP bit is then
sent by the master to complete the command.
During a normal write sequence, if an attempt is made
to write to a protected address, no data will be written
and the device will not report an error or abort the
command. If a write command is attempted across a
secure boundary, unprotected addresses will be written
and protected addresses will not.
5.8
Security Configuration Read
The status of the secure portion of memory can be read
by using the same technique as programming this
option except the READ bit (bit 6) of the configuration
byte is set to a one. After the configuration byte is sent,
the device will acknowledge and then send two bytes of
data to the master just as in a normal read sequence.
The master must acknowledge the first byte and not
acknowledge the second, and then send a stop bit to
end the sequence. The upper four bits of both of these
bytes will always be read as '1's. The lower four bits of
the first byte contains the starting secure block. The
lower four bits of the second byte contains the number
of secure blocks. The default starting secure block is
fifteen and the default number of secure blocks is zero
(Figure 8-1).
6.0
ACKNOWLEDGE POLLING
Since the device will not acknowledge during a write
cycle, this can be used to determine when the cycle is
complete (this feature can be used to maximize bus
throughput). Once the STOP for a write command has
been issued from the master, the device initiates the
internally timed write cycle. ACK polling can be initiated
immediately. This involves the master sending a
START followed by the control byte for a write
command (R/W = 0). If the device is still busy with the
write cycle, then no ACK will be returned. If the cycle is
complete, then the device will return the ACK and the
master can then proceed with the next read or write
command. See Figure 6-1 for flow diagram.
FIGURE 6-1:
ACKNOWLEDGE POLLING
FLOW
Did Device
Acknowledge
(ACK = 0)?
Send
Write Command
Send Stop
Condition to
Initiate Write Cycle
Send Start
Send Control Byte
with R/W = 0
Next
Operation
No
Yes
2004 Microchip Technology Inc.
DS21125E-page 9
24FC65
7.0
PAGE CACHE AND ARRAY
MAPPING
The cache is a 64 byte (8 pages x 8 bytes) FIFO buffer.
The cache allows the loading of up to 64 bytes of data
before the write cycle is actually begun, effectively
providing a 64-byte burst write at the maximum bus
rate. Whenever a write command is initiated, the cache
starts loading and will continue to load until a stop bit is
received to start the internal write cycle. The total
length of the write cycle will depend on how many
pages are loaded into the cache before the stop bit is
given. Maximum cycle time for each page is 5 ms. Even
if a page is only partially loaded, it will still require the
same cycle time as a full page. If more than 64 bytes of
data are loaded before the stop bit is given, the address
pointer will wrap around' to the beginning of cache
page 0 and existing bytes in the cache will be
overwritten. The device will not respond to any
commands while the write cycle is in progress.
7.1
Cache Write Starting at a Page
Boundary
If a write command begins at a page boundary
(address bits A2, A1 and A0 are zero), then all data
loaded into the cache will be written to the array in
sequential addresses. This includes writing across a
4K block boundary. In the example shown below,
(Figure 7-1) a write command is initiated starting at
byte 0 of page 3 with a fully loaded cache (64 bytes).
The first byte in the cache is written to byte 0 of page 3
(of the array), with the remaining pages in the cache
written to sequential pages in the array. A write cycle is
executed after each page is written. Since the write
begins at page 3 and 8 pages are loaded into the
cache, the last 3 pages of the cache are written to the
next row in the array.
7.2
Cache Write Starting at a Non-Page
Boundary
When a write command is initiated that does not begin
at a page boundary (i.e., address bits A2, A1 and A0
are not all zero), it is important to note how the data is
loaded into the cache, and how the data in the cache is
written to the array. When a write command begins, the
first byte loaded into the cache is always loaded into
page 0. The byte within page 0 of the cache where the
load begins is determined by the three least significant
address bits (A2, A1, A0) that were sent as part of the
write command. If the write command does not start at
byte 0 of a page and the cache is fully loaded, then the
last byte(s) loaded into the cache will roll around to
page 0 of the cache and fill the remaining empty bytes.
If more than 64 bytes of data are loaded into the cache,
data already loaded will be overwritten. In the example
shown in Figure 7-2, a write command has been
initiated starting at byte 2 of page 3 in the array with a
fully loaded cache of 64 bytes. Since the cache started
loading at byte 2, the last two bytes loaded into the
cache will ’roll over' and be loaded into the first two
bytes of page 0 (of the cache). When the stop bit is
sent, page 0 of the cache is written to page 3 of the
array. The remaining pages in the cache are then
loaded sequentially to the array. A write cycle is
executed after each page is written. If a partially loaded
page in the cache remains when the STOP bit is sent,
only the bytes that have been loaded will be written to
the array.
7.3
Power Management
The design incorporates a power standby mode when
not in use and automatically powers off after the normal
termination of any operation when a stop bit is received
and all internal functions are complete. This includes
any error conditions, i.e. not receiving an acknowledge
or STOP per the two-wire bus specification. The device
also incorporates V
DD
monitor circuitry to prevent inad-
vertent writes (data corruption) during low-voltage con-
ditions. The V
DD
monitor circuitry is powered off when
the device is in standby mode in order to further reduce
power consumption.
24FC65
DS21125E-page 10
2004 Microchip Technology Inc.
FIGURE 7-1:
CACHE WRITE TO THE ARRAY STARTING AT A PAGE BOUNDARY
FIGURE 7-2:
CACHE WRITE TO THE ARRAY STARTING AT A NON-PAGE BOUNDARY
1
Write command initiated at byte 0 of page 3 in the array;
First data byte is loaded into the cache byte 0.
2 64 bytes of data are loaded into cache.
cache page 0
cache
byte 0
cache
byte 1
• • •
cache
byte 7
cache page 1
bytes 8-15
cache page 2
bytes 16-23
• • •
cache page 7
bytes 56-63
4
Remaining pages in cache are written
to sequential pages in array.
page 0 page 1 page 2 byte 0 byte 1
• • •
byte 7 page 4
• • •
page 0 page 1 page 2
page 3
page 4
• • •
page 7
page 7
array row n
array row n + 1
3
Write from cache into array initiated by STOP bit.
Page 0 of cache written to page 3 of array.
Write cycle is executed after every page is written.
5 Last page in cache written to page 2 in next row.
1
Write command initiated; 64 bytes of data
loaded into cache starting at byte 2 of page 0.
cache
byte 0
cache
byte 1
• • •
cache
byte 7
cache page 1
bytes 8-15
cache page 2
bytes 16-23
• • •
cache page 7
bytes 56-63
page 0 page 1 page 2 byte 0 byte 1
page 4
• • •
page 0 page 1 page 2
page 3
page 4
• • •
page 7
page 7
4
Write from cache into array initiated by STOP bit.
Page 0 of cache written to page 3 of array.
Write cycle is executed after every page is written.
6 Last 3 pages in cache written to next row in array.
cache
byte 2
2
Last 2 bytes ‘roll ever’
to beginning.
3
5
Remaining bytes in cache
are written sequentially to
array.
Last 2 bytes
loaded into page
0 of cache.
byte 2 byte 3 byte 4
• • •
byte 7
array row n
array row n+1
2004 Microchip Technology Inc.
DS21125E-page 1
FEATURES
• Voltage operating range: 4.5V to 5.5V
- Maximum write current 3 mA at 5.5V
- Maximum read current 150
µ
A at 5.5V
- Standby current 1
µ
A typical
• 1 MHz SE2.bus two wire protocol
• Up to eight devices may be connected to the
same bus for up to 512K bits total memory
• Programmable block security options
• Programmable endurance options
• Schmitt trigger inputs for noise suppression
• Self-timed ERASE and WRITE cycles
• Power on/off data protection circuitry
• Endurance:
- 10,000,000 E/W cycles guaranteed for a 4K
block
- 1,000,000 E/W cycles guaranteed for a 60K
block
• Variable page size up to 64 bytes
• 8 byte x 8 line input cache (64 bytes)
for fast write loads
• <3 ms typical write cycle time, byte or page
• Electrostatic discharge protection > 4000V
• Data retention > 200 years
• 8-pin PDIP/SOIC packages
• Temperature ranges
DESCRIPTION
The Microchip Technology Inc. 24FC65 is a “smart”
8K 8x 8 Serial Electrically Erasable PROM (EEPROM)
with a high-speed 1MHz SE2.bus whose protocol is
functionally equivalent to the industry-standard I
2
C
bus. This device has been developed for advanced
applications such as personal communications, and
provides the systems designer with flexibility through
the use of many new user-programmable features. The
24FC65 offers a relocatable 4K-bit block of
ultra-high-endurance memory for data that changes
frequently. The remainder of the array, or 60K bits, is
rated at 1,000,000 ERASE/WRITE (E/W) cycles
guaranteed. The 24FC65 features an input cache for
fast write loads with a capacity of eight pages, or 64
bytes. This device also features programmable
security options for E/W protection of critical data
and/or code of up to fifteen 4K blocks. Functional
- Commercial (C):
0°C to +70°C
- Industrial (I):
-40°C to +85°C
address lines allow the connection of up to eight
24FC65's on the same bus for up to 512K bits
contiguous EEPROM memory. The 24FC65 is available
in the standard 8-pin plastic DIP and 8-pin surface
mount SOIC package.
24FC65
64K 5.0V 1 MHz I
2
C
™
Smart Serial
™
EEPROM
PACKAGE TYPES
BLOCK DIAGRAM
24F
C
6
5
A0
A1
A2
V
SS
1
2
3
4
8
7
6
5
V
CC
NC
SCL
SDA
24F
C65
A0
A1
A2
V
SS
1
2
3
4
8
7
6
5
V
CC
NC
SCL
SDA
PDIP
SOIC
HV GENERATOR
EEPROM
ARRAY
PAGE LATCHES
YDEC
XDEC
SENSE AMP
R/W CONTROL
MEMORY
CONTROL
LOGIC
I/O
CONTROL
LOGIC
SDA
SCL
V
CC
V
SS
I/O
A2
A1
A0
CACHE
I
2
C is a trademark of Philips Corporation.
Smart Serial is a trademark of Microchip Technology Inc.
Obsolete Device
24FC65
DS21125E-page 2
2004 Microchip Technology Inc.
1.0
ELECTRICAL CHARACTERISTICS
1.1
Maximum Ratings*
V
CC
...................................................................................7.0V
All inputs and outputs w.r.t. V
SS
............... -0.6V to V
CC
+1.0V
Storage temperature .....................................-65
°
C to +150
°
C
Ambient temp. with power applied ................-65
°
C to +125
°
C
Soldering temperature of leads (10 seconds) ............. +300
°
C
ESD protection on all pins
..................................................≥
4 kV
*Notice: Stresses above those listed under “Maximum Ratings”
may cause permanent damage to the device. This is a stress rat-
ing only and functional operation of the device at those or any
other conditions above those indicated in the operational listings
of this specification is not implied. Exposure to maximum rating
conditions for extended periods may affect device reliability.
TABLE 1-1:
PIN FUNCTION TABLE
Name
Function
A0,A1,A2
User Configurable Chip Selects
V
SS
Ground
SDA
Serial Address/Data I/O
SCL
Serial Clock
V
CC
+4.5V to 5.5V Power Supply
NC
No Internal Connection
TABLE 1-2:
DC CHARACTERISTICS
FIGURE 1-1:
BUS TIMING START/STOP
V
CC
= +4.5V to +5.5V
Commercial (C): Tamb = 0
°
C to +70
°
C
Industrial (I):
Tamb = -40
°
C to +85
°
C
Parameter
Symbol
Min
Max
Units
Conditions
A0, A1, A2, SCL and SDA pins:
High level input voltage
Low level input voltage
Hysteresis of SCL and SDA
Low level output voltage of SDA
V
IH
V
IL
V
HYS
V
OL
0.7 V
CC
—
0.05 V
CC
—
—
0.3 Vcc
—
0.40
V
V
V
V
(Note)
I
OL
= 3.0 mA
Input leakage current
I
LI
-10
10
µ
A
V
IN
= 0.1V to V
CC
Output leakage current
I
LO
-10
10
µ
A
V
OUT
= 0.1V to V
CC
Pin capacitance
(all inputs/outputs)
C
INT
—
10
pF
V
CC
= 5.0V (Note)
Tamb = 25°C, F
CLK
= 1 MHz
Operating current
I
CC
Write
I
CC
Read
—
—
3
150
mA
µ
A
V
CC
= 5.5V, SCL = 1 MH
Z
V
CC
= 5.5V, SCL = 1 MHz
Standby current
I
CCS
—
5
µ
A
V
CC
= 5.5V, SCL = SDA =V
CC
A0, A1, A2 = V
SS
Note: This parameter is periodically sampled and not 100% tested.
SCL
SDA
START
STOP
V
HYS
T
SU
:
STO
T
HD
:
STA
T
SU
:
STA
2004 Microchip Technology Inc.
DS21125E-page 3
24FC65
TABLE 1-3:
AC CHARACTERISTICS
FIGURE 1-2:
BUS TIMING DATA
Parameter
Symbol
1 MHz Bus
Units
Remarks
Min
Max
Clock frequency
F
CLK
0
1000
kHz
Clock high time
THIGH
500
—
ns
Clock low time
T
LOW
500
—
ns
SDA and SCL rise time
T
R
—
300
ns
(Note 1)
SDA and SCL fall time
T
F
—
100
ns
(Note 1)
START hold time
T
HD
:
STA
250
—
ns
After this period the first clock pulse is
generated
START setup time
T
SU
:
STA
250
—
ns
Only relevant for repeated START
Data input hold time
T
HD
:
DAT
0
—
ns
Data input setup time
T
SU
:
DAT
100
—
ns
STOP setup time
T
SU
:
STO
250
—
ns
Output valid from clock
T
AA
—
350
ns
(Note 2)
Bus free time
T
BUF
500
—
ns
Time the bus must be free before a
new transmission can start
Write cycle time
T
WR
—
5
ms/page (Note 3)
Endurance
High Endurance Block
Rest of Array
10M
1M
—
—
cycles
25°C, Vcc = 5.0V, Block Mode
(Note 4)
Note 1: Not 100 percent tested.
2: As a transmitter, the device must provide an internal minimum delay time to bridge the undefined region
(minimum 100 ns) of the falling edge of SCL to avoid unintended generation of START or STOPs.
3: The times shown are for a single page of 8 bytes. Multiply by the number of pages loaded into the write
cache for total time.
4: This parameter is not tested but guaranteed by characterization. For endurance estimates in a specific appli-
cation, please consult the Total Endurance Model which can be obtained on our website.
SCL
SDA
IN
SDA
OUT
T
SU
:
STA
T
SP
T
AA
T
F
T
LOW
T
HIGH
T
HD
:
STA
T
HD
:
DAT
T
SU
:
DAT
T
SU
:
STO
T
BUF
T
AA
T
R
24FC65
DS21125E-page 4
2004 Microchip Technology Inc.
2.0
FUNCTIONAL DESCRIPTION
The 24FC65 supports a bidirectional two-wire bus and
data transmission protocol. A device that sends data
onto the bus is defined as transmitter, and a device
receiving data as receiver. The bus must be controlled
by a master device which generates the serial clock
(SCL), controls the bus access, and generates the
START and STOPs, while the 24FC65 works as slave.
Both master and slave can operate as transmitter or
receiver but the master device determines which mode
is activated.
3.0
BUS CHARACTERISTICS
The following bus protocol has been defined:
• Data transfer may be initiated only when the bus
is not busy.
• During data transfer, the data line must remain
stable whenever the clock line is HIGH. Changes
in the data line while the clock line is HIGH will be
interpreted as a START or STOP.
Accordingly, the following bus conditions have been
defined (Figure 3-1).
3.1
Bus not Busy (A)
Both data and clock lines remain HIGH.
3.2
Start Data Transfer (B)
A HIGH to LOW transition of the SDA line while the
clock (SCL) is HIGH determines a START. All
commands must be preceded by a START.
3.3
Stop Data Transfer (C)
A LOW to HIGH transition of the SDA line while the
clock (SCL) is HIGH determines a STOP. All operations
must be ended with a STOP.
3.4
Data Valid (D)
The state of the data line represents valid data when,
after a START, the data line is stable for the duration of
the HIGH period of the clock signal.
The data on the line must be changed during the LOW
period of the clock signal. There is one clock pulse per
bit of data.
Each data transfer is initiated with a START and
terminated with a STOP. The number of the data bytes
transferred between the START and STOPs is
determined by the master device.
3.5
Acknowledge
Each receiving device, when addressed, is obliged to
generate an acknowledge after the reception of each
byte. The master device must generate an extra clock
pulse which is associated with this acknowledge bit.
A device that acknowledges must pull down the SDA
line during the acknowledge clock pulse in such a way
that the SDA line is stable LOW during the HIGH period
of the acknowledge related clock pulse. Of course,
setup and hold times must be taken into account.
During reads, a master must signal an end of data to
the slave by NOT generating an acknowledge bit on the
last byte that has been clocked out of the slave. In this
case, the slave (24FC65) must leave the data line
HIGH to enable the master to generate the STOP.
Note:
The 24FC65 does not generate any
acknowledge bits if an internal program-
ming cycle is in progress.
FIGURE 3-1:
DATA TRANSFER SEQUENCE ON THE SERIAL BUS
SCL
SDA
(A)
(B)
START
(C)
(A)
(D)
(D)
Address
or
Acknowledge
Valid
Data Allowed
to Change
STOP
Condition
Condition
2004 Microchip Technology Inc.
DS21125E-page 5
24FC65
3.6
Device Addressing
A control byte is the first byte received following the
START from the master device. The control byte
consists of a four bit control code, for the 24FC65 this is
set as 1010 binary for read and write operations. The
next three bits of the control byte are the device select
bits (A2, A1, A0). They are used by the master device to
select which of the eight devices are to be accessed.
These bits are in effect the three most significant bits of
the word address. The last bit of the control byte (R/W)
defines the operation to be performed. When set to a
one a read operation is selected, when set to a zero a
write operation is selected. The next two bytes received
define the address of the first data byte (Figure 4-1).
Because only A12..A0 are used, the upper three
address bits must be zeros. The most significant bit of
the most significant byte is transferred first. Following
the START, the 24FC65 monitors the SDA bus checking
the device type identifier being transmitted. Upon
receiving a 1010 code and appropriate device select
bits, the slave device (24FC65) outputs an acknowledge
signal on the SDA line. Depending upon the state of the
R/W bit, the 24FC65 will select a read or write operation.
FIGURE 3-2:
CONTROL BYTE
ALLOCATION
Operation
Control
Code
Device Select
R/W
Read
1010
Device Address
1
Write
1010
Device Address
0
SLAVE ADDRESS
X = Don’t care
1
0
1
0
A2
A1
A0
R/W
A
START
READ/WRITE
4.0
WRITE OPERATION
4.1
Byte Write
Following the START from the master, the control code
(four bits), the device select (three bits), and the R/W bit
which is a logic low is placed onto the bus by the master
transmitter. This indicates to the addressed slave
receiver (24FC65) that a byte with a word address will
follow after it has generated an acknowledge bit during
the ninth clock cycle. Therefore the next byte transmitted
by the master is the high-order byte of the word address
and will be written into the address pointer of the
24FC65. The next byte is the least significant address
byte. After receiving another acknowledge signal from
the 24FC65 the master device will transmit the data
word to be written into the addressed memory location.
The 24FC65 acknowledges again and the master
generates a STOP. This initiates the internal write cycle,
and during this time the 24FC65 will not generate
acknowledge signals (Figure 4-1).
4.2
Page Write
The write control byte, word address and the first data
byte are transmitted to the 24FC65 in the same way as
in a byte write. But instead of generating a STOP the
master transmits up to eight pages of eight data bytes
each (64 bytes total) which are temporarily stored in the
on-chip page cache of the 24FC65. They will be written
from the cache into the EEPROM array after the master
has transmitted a STOP. After the receipt of each word,
the six lower order address pointer bits are internally
incremented by one. The higher order seven bits of the
word address remain constant. If the master should
transmit more than eight bytes prior to generating the
STOP (writing across a page boundary), the address
counter (lower three bits) will roll over and the pointer will
be incremented to point to the next line in the cache. This
can continue to occur up to eight times or until the cache
is full, at which time a STOP should be generated by the
master. If a STOP is not received, the cache pointer will
roll over to the first line (byte 0) of the cache, and any
further data received will overwrite previously captured
data. The STOP can be sent at any time during the
transfer. As with the byte write operation, once the STOP
is received an internal write cycle will begin. The 64 byte
cache will continue to capture data until a STOP occurs
or the operation is aborted (Figure 4-2).
FIGURE 4-1:
BYTE WRITE
BUS ACTIVITY
MASTER
SDA LINE
BUS ACTIVITY
CONTROL
BYTE
WORD
ADDRESS (1)
A
C
K
S
T
A
R
T
WORD
ADDRESS (0)
A
C
K
A
C
K
0
S
T
O
P
A
C
K
0 0
DATA
S
P
24FC65
DS21125E-page 6
2004 Microchip Technology Inc.
FIGURE 4-2:
PAGE WRITE (FOR CACHE WRITE, SEE FIGURE 7-1)
FIGURE 4-3:
CURRENT ADDRESS READ
FIGURE 4-4:
RANDOM READ
FIGURE 4-5:
SEQUENTIAL READ
BUS
MASTER
SDA LINE
BUS
CONTROL
BYTE
WORD
ADDRESS (1)
S
T
O
P
S
T
A
R
T
A
C
K
0
A
C
K
A
C
K
ACTIVITY:
ACTIVITY:
A
C
K
A
C
K
DATA n
DATA n+7
0 0
WORD
ADDRESS (0)
S
P
CONTROL
A
C
K
S
T
A
R
T
S
T
O
P
BYTE
DATA n
BUS ACTIVITY
MASTER
SDA LINE
BUS ACTIVITY
A
C
K
N
O
S
P
BUS
MASTER
SDA LINE
BUS
CONTROL
BYTE
WORD
ADDRESS (1)
S
T
O
P
S
T
A
R
T
A
C
K
A
C
K
A
C
K
ACTIVITY:
ACTIVITY:
A
C
K
N
O
DATA n
0 0 0
WORD
ADDRESS (0)
S
T
A
R
T
CONTROL
BYTE
A
C
K
P
S
S
A
C
K
BUS ACTIVITY
MASTER
SDA LINE
BUS ACTIVITY
CONTROL
BYTE
DATA n
DATA n+1
DATA n+2
DATA n+X
A
C
K
A
C
K
A
C
K
N
O
A
C
K
S
T
O
P
P
2004 Microchip Technology Inc.
DS21125E-page 7
24FC65
5.0
READ OPERATION
Read operations are initiated in the same way as write
operations with the exception that the R/W bit of the
slave address is set to one. There are three basic
types of read operations: current address read, random
read, and sequential read.
5.1
Current Address Read
The 24FC65 contains an address counter that
maintains the address of the last word accessed,
internally incremented by one. Therefore, if the
previous access (either a read or write operation) was
to address n (n is any legal address), the next current
address read operation would access data from
address n + 1. Upon receipt of the slave address with
R/W bit set to one, the 24FC65 issues an acknowledge
and transmits the eight bit data word. The master will
not acknowledge the transfer but does generate a
STOP and the 24FC65 discontinues transmission
(Figure 4-3).
5.2
Random Read
Random read operations allow the master to access
any memory location in a random manner. To perform
this type of read operation, first the word address must
be set. This is done by sending the word address to the
24FC65 as part of a write operation (R/W bit set to 0).
After the word address is sent, the master generates a
START following the acknowledge. This terminates the
write operation, but not before the internal address
pointer is set. Then the master issues the control byte
again but with the R/W bit set to a one. The 24FC65 will
then issue an acknowledge and transmit the eight bit
data word. The master will not acknowledge the
transfer but does generate a STOP which causes the
24FC65 to discontinue transmission (Figure 4-4).
5.3
Sequential Read
Sequential reads are initiated in the same way as a
random read except that after the 24FC65 transmits
the first data byte, the master issues an acknowledge
as opposed to the STOP used in a random read. This
acknowledge directs the 24FC65 to transmit the next
sequentially addressed 8 bit word (Figure 4-5).
Following the final byte transmitted to the master, the
master will NOT generate an acknowledge but will
generate a STOP.
To provide sequential reads the 24FC65 contains an
internal address pointer which is incremented by one at
the completion of each operation. This address pointer
allows the entire memory contents to be serially read
during one operation.
5.4
Contiguous Addressing Across
Multiple Devices
The device select bits A2, A1, A0 can be used to
expand the contiguous address space for up to
512K-bits by adding up to eight 24FC65's on the same
bus. In this case, software can use A0 of the control
byte as address bit A13, A1 as address bit A14, and A2
as address bit A15.
5.5
Noise Protection
The SCL and SDA inputs incorporate Schmitt triggers
which suppress noise spikes to assure proper device
operation even on a noisy bus.
5.6
High Endurance Block
The location of the high-endurance block within the
memory map is programmed by setting the leading bit
7 (S/HE) of the configuration byte to 0. The upper bits
of the address loaded in this command will determine
which 4K block within the memory map will be set to
high endurance (Figure 8-1). This block will be capable
of 10,000,000 erase/write cycles guaranteed.
5.7
Security Options
The 24FC65 has a sophisticated mechanism for
write-protecting portions of the array. This write protect
function is programmable and allows the user to protect
0-15 contiguous 4K blocks. The user sets the security
option by sending to the device the starting block num-
ber for the protected region and the number of blocks
to be protected. All parts will come from the factory in
the default configuration with the starting block number
set to 15 and the number of protected blocks set to
zero. THE SECURITY OPTION CAN BE SET ONLY
ONCE.
To invoke the security option, a write command is sent
to the device with the leading bit (bit7) of the first
address byte set to a 1 (Figure 8-1). Bits 1-4 of the first
address byte define the starting block number for the
protected region. For example, if the starting block
number is to be set to 5, the first address byte would be
1XX0101X. Bits 0, 5 and 6 of the first address byte are
disregarded by the device and can be either high or
low. The device will acknowledge after the first address
byte. A byte of don't care bits is then sent by the master,
with the device acknowledging afterwards. The third
byte sent to the device has bit7 (S/HE) set high and bit6
(R) set low. Bits 4 and 5 are don't cares and bits 0-3
define the number of blocks to be write protected. For
example, if three blocks are to be protected, the third
Note:
The High Endurance Block cannot be
changed after the security option has been
set. If the H.E. block is not programmed by
the user, the default location is the highest
block of memory.
24FC65
DS21125E-page 8
2004 Microchip Technology Inc.
byte would be 10XX0011. After the third byte is sent to
the device, it will acknowledge and a STOP bit is then
sent by the master to complete the command.
During a normal write sequence, if an attempt is made
to write to a protected address, no data will be written
and the device will not report an error or abort the
command. If a write command is attempted across a
secure boundary, unprotected addresses will be written
and protected addresses will not.
5.8
Security Configuration Read
The status of the secure portion of memory can be read
by using the same technique as programming this
option except the READ bit (bit 6) of the configuration
byte is set to a one. After the configuration byte is sent,
the device will acknowledge and then send two bytes of
data to the master just as in a normal read sequence.
The master must acknowledge the first byte and not
acknowledge the second, and then send a stop bit to
end the sequence. The upper four bits of both of these
bytes will always be read as '1's. The lower four bits of
the first byte contains the starting secure block. The
lower four bits of the second byte contains the number
of secure blocks. The default starting secure block is
fifteen and the default number of secure blocks is zero
(Figure 8-1).
6.0
ACKNOWLEDGE POLLING
Since the device will not acknowledge during a write
cycle, this can be used to determine when the cycle is
complete (this feature can be used to maximize bus
throughput). Once the STOP for a write command has
been issued from the master, the device initiates the
internally timed write cycle. ACK polling can be initiated
immediately. This involves the master sending a
START followed by the control byte for a write
command (R/W = 0). If the device is still busy with the
write cycle, then no ACK will be returned. If the cycle is
complete, then the device will return the ACK and the
master can then proceed with the next read or write
command. See Figure 6-1 for flow diagram.
FIGURE 6-1:
ACKNOWLEDGE POLLING
FLOW
Did Device
Acknowledge
(ACK = 0)?
Send
Write Command
Send Stop
Condition to
Initiate Write Cycle
Send Start
Send Control Byte
with R/W = 0
Next
Operation
No
Yes
2004 Microchip Technology Inc.
DS21125E-page 9
24FC65
7.0
PAGE CACHE AND ARRAY
MAPPING
The cache is a 64 byte (8 pages x 8 bytes) FIFO buffer.
The cache allows the loading of up to 64 bytes of data
before the write cycle is actually begun, effectively
providing a 64-byte burst write at the maximum bus
rate. Whenever a write command is initiated, the cache
starts loading and will continue to load until a stop bit is
received to start the internal write cycle. The total
length of the write cycle will depend on how many
pages are loaded into the cache before the stop bit is
given. Maximum cycle time for each page is 5 ms. Even
if a page is only partially loaded, it will still require the
same cycle time as a full page. If more than 64 bytes of
data are loaded before the stop bit is given, the address
pointer will wrap around' to the beginning of cache
page 0 and existing bytes in the cache will be
overwritten. The device will not respond to any
commands while the write cycle is in progress.
7.1
Cache Write Starting at a Page
Boundary
If a write command begins at a page boundary
(address bits A2, A1 and A0 are zero), then all data
loaded into the cache will be written to the array in
sequential addresses. This includes writing across a
4K block boundary. In the example shown below,
(Figure 7-1) a write command is initiated starting at
byte 0 of page 3 with a fully loaded cache (64 bytes).
The first byte in the cache is written to byte 0 of page 3
(of the array), with the remaining pages in the cache
written to sequential pages in the array. A write cycle is
executed after each page is written. Since the write
begins at page 3 and 8 pages are loaded into the
cache, the last 3 pages of the cache are written to the
next row in the array.
7.2
Cache Write Starting at a Non-Page
Boundary
When a write command is initiated that does not begin
at a page boundary (i.e., address bits A2, A1 and A0
are not all zero), it is important to note how the data is
loaded into the cache, and how the data in the cache is
written to the array. When a write command begins, the
first byte loaded into the cache is always loaded into
page 0. The byte within page 0 of the cache where the
load begins is determined by the three least significant
address bits (A2, A1, A0) that were sent as part of the
write command. If the write command does not start at
byte 0 of a page and the cache is fully loaded, then the
last byte(s) loaded into the cache will roll around to
page 0 of the cache and fill the remaining empty bytes.
If more than 64 bytes of data are loaded into the cache,
data already loaded will be overwritten. In the example
shown in Figure 7-2, a write command has been
initiated starting at byte 2 of page 3 in the array with a
fully loaded cache of 64 bytes. Since the cache started
loading at byte 2, the last two bytes loaded into the
cache will ’roll over' and be loaded into the first two
bytes of page 0 (of the cache). When the stop bit is
sent, page 0 of the cache is written to page 3 of the
array. The remaining pages in the cache are then
loaded sequentially to the array. A write cycle is
executed after each page is written. If a partially loaded
page in the cache remains when the STOP bit is sent,
only the bytes that have been loaded will be written to
the array.
7.3
Power Management
The design incorporates a power standby mode when
not in use and automatically powers off after the normal
termination of any operation when a stop bit is received
and all internal functions are complete. This includes
any error conditions, i.e. not receiving an acknowledge
or STOP per the two-wire bus specification. The device
also incorporates V
DD
monitor circuitry to prevent inad-
vertent writes (data corruption) during low-voltage con-
ditions. The V
DD
monitor circuitry is powered off when
the device is in standby mode in order to further reduce
power consumption.
24FC65
DS21125E-page 10
2004 Microchip Technology Inc.
FIGURE 7-1:
CACHE WRITE TO THE ARRAY STARTING AT A PAGE BOUNDARY
FIGURE 7-2:
CACHE WRITE TO THE ARRAY STARTING AT A NON-PAGE BOUNDARY
1
Write command initiated at byte 0 of page 3 in the array;
First data byte is loaded into the cache byte 0.
2 64 bytes of data are loaded into cache.
cache page 0
cache
byte 0
cache
byte 1
• • •
cache
byte 7
cache page 1
bytes 8-15
cache page 2
bytes 16-23
• • •
cache page 7
bytes 56-63
4
Remaining pages in cache are written
to sequential pages in array.
page 0 page 1 page 2 byte 0 byte 1
• • •
byte 7 page 4
• • •
page 0 page 1 page 2
page 3
page 4
• • •
page 7
page 7
array row n
array row n + 1
3
Write from cache into array initiated by STOP bit.
Page 0 of cache written to page 3 of array.
Write cycle is executed after every page is written.
5 Last page in cache written to page 2 in next row.
1
Write command initiated; 64 bytes of data
loaded into cache starting at byte 2 of page 0.
cache
byte 0
cache
byte 1
• • •
cache
byte 7
cache page 1
bytes 8-15
cache page 2
bytes 16-23
• • •
cache page 7
bytes 56-63
page 0 page 1 page 2 byte 0 byte 1
page 4
• • •
page 0 page 1 page 2
page 3
page 4
• • •
page 7
page 7
4
Write from cache into array initiated by STOP bit.
Page 0 of cache written to page 3 of array.
Write cycle is executed after every page is written.
6 Last 3 pages in cache written to next row in array.
cache
byte 2
2
Last 2 bytes ‘roll ever’
to beginning.
3
5
Remaining bytes in cache
are written sequentially to
array.
Last 2 bytes
loaded into page
0 of cache.
byte 2 byte 3 byte 4
• • •
byte 7
array row n
array row n+1