These I²C-compatible electrically erasable programmable memory (EEPROM) devices are organized as 2048/1024/512/256/128 x 8 (M24C16,
M24C08, M24C04, M24C02 and M24C01).
In order to meet environmental requirements, ST
offers these devices in ECOPACK® packages.
ECOPACK® packages are Lead-free and RoHS
compliant.
ECOPACK is an ST trademark. ECOPACK specifications are available at: www.st.com.
Figure 2. Logic Diagram
V
CC
3
E0-E2SDA
SCL
WC
M24Cxx
V
SS
AI02033
I²C uses a two-wire serial interface, comprising a
bi-directional data line and a clock line. The devices carry a built-in 4-bit Device Type Identifier code
(1010) in accordance with the I²C bus definition.
The device behaves as a slave in the I²C protocol,
with all memory operations synchronized by the
serial clock. Read and Write operations are initiated by a Start condition, generate d by the bus master. The Start condition is followed by a Device
Select Code and Read/Write
bit (RW) (as described in Table 3.), terminated by an acknowledge bit.
When writing data to the memory, the device inserts an acknowledge bit during the 9
th
bit time,
following the bus master’s 8-bit transmission.
When data is read by the bus master, the bus
master acknowledges the receipt of the data byte
in the same way. Data transfers are terminated by
a Stop condition after an Ack for Writ e, and afte r a
NoAck for Read.
Table 2. Signal Names
E0, E1, E2Chip Enable
SDASerial Data
SCLSerial Clock
WC
V
CC
V
SS
Write Control
Supply Voltage
Ground
Figure 3. 8-Pin Package Connections (Top View)
M24Cxx
/2Kb/4Kb/8Kb16Kb
/1Kb
/ E0/ NC/ NCNC
/ E1/ E1/ NCNC
/ E2/ E2/ E2NC
Note: 1. NC = Not Connected
2. See PACKAGE MECHANICAL section for package dimensions, and how to identify pin-1.
4/28
/ E0
/ E1
/ E2
SS
1
2
3
4
V
8
CC
WC
7
SCL
6
SDAV
5
AI02034E
SIGNAL DESCRIPTION
M24C16, M24C08, M24C04, M24C02, M24C01
Serial Clock (SCL)
This input signal is used to strobe all data in and
out of the device. In applications where this signal
is used by slave devices to synchronize the bus to
a slower clock, the bus master must have an open
drain output, and a pull-up resistor can be connected from Serial Clock (SCL) to V
. (Figure 5.
CC
indicates how the value of the pull-up resistor can
be calculated). In most applicat ions, though, this
method of synchronization is not employed, and
so the pull-up resistor is not necessary, provided
that the bus master has a push-pull (rather than
open drain) output.
Serial Data (SDA)
This bi-directional signal is used to transfer data in
or out of the device. It is an open drain output that
may be wire-OR’ed with other open drain or open
collector signals on the bus. A pull up resistor must
be connected from Serial Data (SDA) to V
CC
. (Fig-
ure 5. indicates how the value of the pull-up resis-
tor can be calculated).
Chip Enable (E0, E1, E2)
These input signals are used t o set the va lue that
is to be looked for on the three least significant bits
(b3, b2, b1) of the 7-bit De vice Select Code. These
inputs must be tied to V
or VSS, to establish the
CC
Device Select Code as shown in Figure 4.
Figure 4. Device Select Code
V
CC
M24Cxx
E
i
V
SS
V
CC
M24Cxx
E
i
V
SS
Ai11650
Write Control (WC
). This input signal is useful
for protecting the entire contents of the memory
from inadvertent write operations. Write operations are disabled to the entire memory array when
Write Control (WC
nected, the signal is internally read as V
) is driven High. When uncon-
, and
IL
Write operations are allowed.
When Write Control (WC
) is driven High, Device
Select and Address bytes are acknowledged,
Data bytes are not acknowledged.
Supply voltage (V
Operating supply voltage V
CC
)
. Prior to select-
CC
ing the memory and issuing instructions to it, a valid and stable V
voltage must be applied: this
CC
voltage must be a DC voltage within the specified
(min), VCC(max)] range, as defined in Table
[V
CC
6. and Table 7. In order to secure a stable DC sup-
ply voltage, it is recommended to decouple the
line with a suitable capacitor (usually of the
V
CC
order of 10nF to 100nF) close to the V
CC/VSS
package pins.
The V
voltage must remain stable and valid until
CC
the end of the transmission of the instruction and,
for a Write instruction, until the completion of the
internal write cycle (t
).
W
Internal Device Reset. In order to pr event inadvertent Write operations during Power-up, a Power On Reset (POR) circuit is included. At Power-up
(continuous rise of V
spond to any instruction until V
), the device does not re-
CC
has reached the
CC
Power On Reset threshold voltage (this threshold
is lower than the minimum V
operating voltage
CC
defined in Table 6. and Table 7.).
When V
has passed the POR threshold, the de-
CC
vice is reset and in the Standby Power mode
Power-down. At Power-down (where V
creases continuously), as soon as V
drops from
CC
CC
de-
the operating voltage range below the Power On
Reset threshold voltage, the device stops responding to any instruction sent to it.
During Power-down, the device must be deselected and in the Standby Power mode (that is there
should be no internal Write cycle in progress).
5/28
M24C16, M24C08, M24C04, M24C02, M24C01
Figure 5. Maximum RP Value versus Bus Parasitic Capacita nce (C) for an I²C Bus
Note: 1. The most significant bit, b7, is sent first.
2. E0, E1 and E2 are compared against the respective external pins on the memory device.
3. A10, A9 and A8 represent most significant bits of the address.
2,3
RW
7/28
M24C16, M24C08, M24C04, M24C02, M24C01
DEVICE OPERATION
The device supports the I²C protocol. This is summarized in Figure 6.. Any device that sends data
on to the bus is defined to be a transmitter, and
any device that reads the data to be a receiver.
The device that controls the data transfer is known
as the bus master, and the other as the slave device. A data transfer can only be initiated by the
bus master, which will also provide the serial clock
for synchronization. The M24Cxx device is always
a slave in all communication.
Start Condition
Start is identified by a falling edge of Serial Data
(SDA) while Serial Clock (SCL) is stable in the
High state. A Start condition must precede any
data transfer command. The device continuously
monitors (except during a Write cycle) Serial Data
(SDA) and Serial Clock (SCL) for a Start condition,
and will not respond unless one is given.
Stop Condition
Stop is identified by a rising edge of Serial Data
(SDA) while Serial Clock (SCL) is stable and driven High. A Stop condition terminates communication between the device and the bus master. A
Read command that is followed by NoAck can be
followed by a Stop condition to force the device
into the Stand-by mode. A Stop condition at the
end of a Write command triggers the in ternal Write
cycle.
Acknowledge Bit (ACK)
The acknowledge bit is used to indicate a successful byte transfer. The bus transmitter, whether it be
bus master or slave device, releases Serial Data
(SDA) after sending eight bits of data. During the
th
clock pulse period, the receiver pulls Serial
9
Data (SDA) Low to acknowledge the receipt of the
eight data bits.
Data Input
During data input, the device samples Serial Data
(SDA) on the rising edge of Serial Clock (SCL).
For correct device operation, Serial Data (SDA)
must be stable during the rising edge of Serial
Clock (SCL), and the Serial Data (SDA) signal
must change only when Serial Clock (SCL) is driven Low.
Memory Addressing
To start communication between the bus master
and the slave device, the bus master must initiate
a Start condition. Following this, the bus master
sends the Device Select Code, shown in Table 3.
(on Serial Data (SDA), most significant bit first).
The Device Select Code consists of a 4-bit Device
Type Identifier, and a 3-bit Chip Enable “Address”
(E2, E1, E0). To address the memory ar ray, the 4bit Device Type Identifier is 1010b.
Each device is given a unique 3-bit code on the
Chip Enable (E0, E1, E2) inputs. When the Device
Select Code is received, the device only responds
if the Chip Enable Address is the same as the value on the Chip Enable (E0, E1, E2) inputs. However, those devices with larger memory capacities
(the M24C16, M24C08 and M24C04) need more
address bits. E0 is not available for u se on devices
that need to use address line A8; E1 is not available for devices that need to use address line A9,
and E2 is not available for devices that need to use
address line A10 (see Figure 3. and Table 3. for
details). Using the E0, E1 and E2 inputs, up to
eight M24C02 (or M24C01), four M24C04, two
M24C08 or one M24C16 devices can be connected to one I²C bus. In each case, and in the hybrid
cases, this gives a total memory capacity of
16 Kbits, 2 KBytes (except where M24C01 devices are used).
th
The 8
bit is the Read/Write bit (RW). This bit is
set to 1 for Read and 0 for Write operations.
If a match occurs on the Device Select code, the
corresponding device gives an acknowledgment
on Serial Data (SDA) during the 9
th
bit time. If the
device does not match the Device Select code, it
deselects itself from the bus, and goes into St andby mode.
8/28
M24C16, M24C08, M24C04, M24C02, M24C01
Table 4. Operating Modes
ModeRW bit
Current Address Read1X1START, Device Select, RW
0X
Random Address Read
1XreSTART, Device Select, RW
Sequential Read1X≥ 1Similar to Current or Random Address Read
Byte Write0
Page Write0