STMICROELECTRONICS M25PX32

M25PX32
32-Mbit, dual I/O, 4-Kbyte subsector erase,
serial Flash memory with 75 MHz SPI bus interface
Preliminary Data
Features
■
SPI bus compatible serial interface
■
75 MHz (maximum) clock frequency
■
2.7 V to 3.6 V single supply voltage
■
Dual input/output instructions resulting in an
equivalent clock frequency of 150 MHz:
– Dual Output Fast Read instruction
– Dual Input Fast Program instruction
■
32 Mbit Flash memory
– Uniform 4-Kbyte subsectors
– Uniform 64-Kbyte sectors
■
Additional 64-byte user-lockable, one-time
programmable (OTP) area
■
Erase capability
– Subsector (4-Kbyte) granularity
– Sector (64-Kbyte) granularity
– Bulk Erase (32 Mbit) in 17 s (typical with
VPP = 9 V)
■
Write protections
– Software write protection applicable to
every 64-Kbyte sector (volatile lock bit)
– Hardware write protection: protected area
size defined by three non-volatile bits (BP0,
BP1 and BP2)
■
Deep Power-down mode: 5 µA (typical)
■
Electronic signature
– JEDEC standard two-byte signature
(7116h)
– Unique ID code (UID) +16 byte of CFI data
■
More than 100 000 write cycles per sector
■
More than 20 year data retention
■
Packages
– ECOPACK® (RoHS compliant)
August 2007
VFQFPN8 (MP)
6 × 5 mm
SO8W (MW)
208 mils
SO16 (MF)
300 mils
Rev 2
This is preliminary information on a new product now in development or undergoing evaluation. Details are subject to
change without notice.
1/63
www.st.com
1
Contents
M25PX32
Contents
1
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2
Signal descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1
Serial Data output (DQ1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2
Serial Data input (DQ0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3
Serial Clock (C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4
Chip Select (S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5
Hold (HOLD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.6
Write Protect/Enhanced Program supply voltage (W/VPP) . . . . . . . . . . . . 10
2.7
VCC supply voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.8
VSS ground . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3
SPI modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4
Operating features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.1
Page programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2
Dual Input Fast Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.3
Subsector Erase, Sector Erase and Bulk Erase . . . . . . . . . . . . . . . . . . . . 13
4.4
Polling during a Write, Program or Erase cycle . . . . . . . . . . . . . . . . . . . . 13
4.5
Fast Bulk Erase mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.6
Active Power, Standby Power and Deep Power-down modes . . . . . . . . . 14
4.7
Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.8
Protection modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.9
4.8.1
Protocol-related protections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.8.2
Specific hardware and software protection . . . . . . . . . . . . . . . . . . . . . . 16
Hold condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5
Memory organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6
Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2/63
6.1
Write Enable (WREN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.2
Write Disable (WRDI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
M25PX32
Contents
6.3
Read Identification (RDID) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.4
Read Status Register (RDSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.4.1
WIP bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.4.2
WEL bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.4.3
BP2, BP1, BP0 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.4.4
TB bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.4.5
SRWD bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.5
Write Status Register (WRSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.6
Read Data Bytes (READ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.7
Read Data Bytes at higher speed (FAST_READ) . . . . . . . . . . . . . . . . . . 33
6.8
Dual Output Fast Read (DOFR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.9
Read Lock Register (RDLR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.10
Read OTP (ROTP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.11
Page Program (PP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.12
Dual Input Fast Program (DIFP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.13
Program OTP instruction (POTP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.14
Write to Lock Register (WRLR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6.15
Subsector Erase (SSE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.16
Sector Erase (SE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.17
Bulk Erase (BE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.18
Deep Power-down (DP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.19
Release from Deep Power-down (RDP) . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7
Power-up and Power-down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
8
Initial delivery state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
9
Maximum rating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
10
DC and AC parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
11
Package mechanical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
12
Part numbering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
13
Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3/63
List of tables
M25PX32
List of tables
Table 1.
Table 2.
Table 3.
Table 4.
Table 5.
Table 6.
Table 7.
Table 8.
Table 9.
Table 10.
Table 11.
Table 12.
Table 13.
Table 14.
Table 15.
Table 16.
Table 17.
Table 18.
Table 19.
Table 20.
Table 21.
Table 22.
4/63
Signal names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Software protection truth table (Sectors 0 to 63, 64 Kbyte granularity) . . . . . . . . . . . . . . . 16
Protected area sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Memory organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Instruction set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Read Identification (RDID) data-out sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Status Register format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Protection modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Lock Register out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Lock Register in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Power-up timing and VWI threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Operating conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
AC measurement conditions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Capacitance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
DC characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
AC characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
VFQFPN8 (MLP8) 8-lead very thin fine pitch quad flat package no lead,
6 × 5 mm, package mechanical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
SO8W 8 lead plastic small outline, 208 mils body width, package
mechanical data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
SO16 wide - 16-lead plastic small outline, 300 mils body width, mechanical data . . . . . . . 60
Ordering information scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
M25PX32
List of figures
List of figures
Figure 1.
Figure 2.
Figure 3.
Figure 4.
Figure 5.
Figure 6.
Figure 7.
Figure 8.
Figure 9.
Figure 10.
Figure 11.
Figure 12.
Figure 13.
Figure 14.
Figure 15.
Figure 16.
Figure 17.
Figure 18.
Figure 19.
Figure 20.
Figure 21.
Figure 22.
Figure 23.
Figure 24.
Figure 25.
Figure 26.
Figure 27.
Figure 28.
Figure 29.
Figure 30.
Figure 31.
Figure 32.
Figure 33.
Figure 34.
Figure 35.
Figure 36.
Figure 37.
Logic diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
VFQFPN and SO8 connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
SO16 connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Bus Master and memory devices on the SPI bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
SPI modes supported . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Hold condition activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Write Enable (WREN) instruction sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Write Disable (WRDI) instruction sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Read Identification (RDID) instruction sequence and data-out sequence . . . . . . . . . . . . . 27
Read Status Register (RDSR) instruction sequence and data-out sequence . . . . . . . . . . 29
Write Status Register (WRSR) instruction sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Read Data Bytes (READ) instruction sequence and data-out sequence . . . . . . . . . . . . . . 32
Read Data Bytes at higher speed (FAST_READ) instruction sequence
and data-out sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Dual Output Fast Read instruction sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Read Lock Register (RDLR) instruction sequence and data-out sequence . . . . . . . . . . . . 35
Read OTP (ROTP) instruction and data-out sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Page Program (PP) instruction sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Dual Input Fast Program (DIFP) instruction sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Program OTP (POTP) instruction sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
How to permanently lock the 64 OTP bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Write to Lock Register (WRLR) instruction sequence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Subsector Erase (SSE) instruction sequence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Sector Erase (SE) instruction sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Bulk Erase (BE) instruction sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Deep Power-down (DP) instruction sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Release from Deep Power-down (RDP) instruction sequence . . . . . . . . . . . . . . . . . . . . . . 48
Power-up timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
AC measurement I/O waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Serial input timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Write Protect Setup and Hold timing during WRSR when SRWD=1 . . . . . . . . . . . . . . . . . 56
Hold timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Output timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
VPPH timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
VFQFPN8 (MLP8) 8-lead very thin fine pitch quad flat package no lead,
6 × 5 mm, package outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
SO8W 8 lead plastic small outline, 208 mils body width, package outline . . . . . . . . . . . . . 59
SO16 wide - 16-lead plastic small outline, 300 mils body width, package outline . . . . . . . 60
5/63
Description
1
M25PX32
Description
The M25PX32 is a 32 Mbit (4 Mb x 8) serial Flash memory, with advanced write protection
mechanisms, accessed by a high speed SPI-compatible bus.
The M25PX32 supports two new, high-performance dual input/output instructions:
●
Dual Output Fast Read (DOFR) instruction used to read data at up to 75 MHz by using
both pin DQ1 and pin DQ0 as outputs
●
Dual Input Fast Program (DIFP) instruction used to program data at up to 75 MHz by
using both pin DQ1 and pin DQ0 as inputs
These new instructions double the transfer bandwidth for read and program operations.
The memory can be programmed 1 to 256 bytes at a time, using the Page Program
instruction.
The memory is organized as 64 sectors that are further divided into 16 subsectors each
(1024 subsectors in total).
The memory can be erased a 4-Kbyte subsector at a time, a 64-Kbyte sector at a time, or as
a whole. It can be Write Protected by software using a mix of volatile and non-volatile
protection features, depending on the application needs. The protection granularity is of 64
Kbytes (sector granularity).
An enhanced Fast Bulk Erase mode is available to speed up Bulk Erase operations in
factory environment. The device enters this mode whenever the VPPH voltage is applied to
the Write Protect/Enhanced Program supply voltage pin (W/VPP).
The M25PX32 has 64 One-Time-Programmable bytes (OTP bytes) that can be read and
programmed using two dedicated instructions, Read OTP (ROTP) and Program OTP
(POTP), respectively. These 64 bytes can be permanently locked by a particular Program
OTP (POTP) sequence. Once they have been locked, they become read-only and this state
cannot be reverted.
In order to meet environmental requirements, ST offers the M25PX32 in ECOPACK®
packages. ECOPACK® packages are Lead-free and RoHS compliant.
ECOPACK® is an ST trademark. ECOPACK® specifications are available at: www.st.com.
6/63
M25PX32
Description
Figure 1.
Logic diagram
VCC
DQ0
DQ1
C
M25PX32
S
W/VPP
HOLD
VSS
Table 1.
AI14228
Signal names
Signal name
Function
Direction
C
Serial Clock
Input
DQ0
Serial Data input
I/O(1)
DQ1
Serial Data output
I/O(2)
S
Chip Select
Input
W/VPP
Write Protect/Enhanced Program supply voltage
Input
HOLD
Hold
Input
VCC
Supply voltage
VSS
Ground
1. Serves as an output during Dual Output Fast Read (DOFR) instructions.
2. Serves as an input during Dual Input Fast Program (DIFP) instructions.
Figure 2.
VFQFPN and SO8 connections
M25PX32
S
DQ1
W/VPP
VSS
1
2
3
4
8
7
6
5
VCC
HOLD
C
DQ0
AI13720b
1. There is an exposed central pad on the underside of the VFQFPN package. This is pulled, internally, to
VSS, and must not be allowed to be connected to any other voltage or signal line on the PCB.
2. See Package mechanical section for package dimensions, and how to identify pin-1.
7/63
Description
M25PX32
Figure 3.
SO16 connections
M25PX32
HOLD
VCC
DU
DU
DU
DU
S
DQ1
1
2
3
4
5
6
7
8
16
15
14
13
12
11
10
9
C
DQ0
DU
DU
DU
DU
VSS
W/VPP
AI13721b
1. DU = Don’t use.
2. See Package mechanical section for package dimensions, and how to identify pin-1.
8/63
M25PX32
Signal descriptions
2
Signal descriptions
2.1
Serial Data output (DQ1)
This output signal is used to transfer data serially out of the device. Data are shifted out on
the falling edge of Serial Clock (C).
During the Dual Input Fast Program (DIFP) instruction, pin DQ1 is used as an input. It is
latched on the rising edge of the Serial Clock (C).
2.2
Serial Data input (DQ0)
This input signal is used to transfer data serially into the device. It receives instructions,
addresses, and the data to be programmed. Values are latched on the rising edge of Serial
Clock (C).
During the Dual Output Fast Read (DOFR) instruction, pin DQ0 is used as an output. Data
are shifted out on the falling edge of the Serial Clock (C).
2.3
Serial Clock (C)
This input signal provides the timing of the serial interface. Instructions, addresses, or data
present at Serial Data input (DQ0) are latched on the rising edge of Serial Clock (C). Data
on Serial Data output (DQ1) changes after the falling edge of Serial Clock (C).
2.4
Chip Select (S)
When this input signal is High, the device is deselected and Serial Data output (DQ1) is at
high impedance. Unless an internal Program, Erase or Write Status Register cycle is in
progress, the device will be in the Standby Power mode (this is not the Deep Power-down
mode). Driving Chip Select (S) Low enables the device, placing it in the Active Power mode.
After Power-up, a falling edge on Chip Select (S) is required prior to the start of any
instruction.
2.5
Hold (HOLD)
The Hold (HOLD) signal is used to pause any serial communications with the device without
deselecting the device.
During the Hold condition, the Serial Data output (DQ1) is high impedance, and Serial Data
input (DQ0) and Serial Clock (C) are Don’t care.
To start the Hold condition, the device must be selected, with Chip Select (S) driven Low.
9/63
Signal descriptions
2.6
M25PX32
Write Protect/Enhanced Program supply voltage (W/VPP)
W/VPP is both a control input and a power supply pin. The two functions are selected by the
voltage range applied to the pin.
If the W/VPP input is kept in a low voltage range (0 V to VCC) the pin is seen as a control
input. This input signal is used to freeze the size of the area of memory that is protected
against program or erase instructions (as specified by the values in the BP2, BP1 and BP0
bits of the Status Register. See Table 9).
If VPP is in the range of VPPH (as defined in Table 14) it acts as an additional power supply
during the Bulk Erase cycle. In this case VPP must be stable until the Bulk Erase algorithm is
completed.
2.7
VCC supply voltage
VCC is the supply voltage.
2.8
VSS ground
VSS is the reference for the VCC supply voltage.
10/63
M25PX32
3
SPI modes
SPI modes
These devices can be driven by a microcontroller with its SPI peripheral running in either of
the two following modes:
●
CPOL=0, CPHA=0
●
CPOL=1, CPHA=1
For these two modes, input data is latched in on the rising edge of Serial Clock (C), and
output data is available from the falling edge of Serial Clock (C).
The difference between the two modes, as shown in Figure 5, is the clock polarity when the
bus master is in Standby mode and not transferring data:
●
C remains at 0 for (CPOL=0, CPHA=0)
●
C remains at 1 for (CPOL=1, CPHA=1)
Figure 4.
Bus Master and memory devices on the SPI bus
VSS
VCC
R
SDO
SPI interface with
(CPOL, CPHA) =
(0, 0) or (1, 1)
SDI
SCK
VCC
C
SPI Bus Master
R
CS3
VCC
C
DQ1DQ0
VSS
SPI memory
device
R
VCC
C
DQ1 DQ0
VSS
DQ1DQ0
SPI memory
device
R
SPI memory
device
VSS
CS2 CS1
S
W
HOLD
S
W
HOLD
S
W
HOLD
AI13725b
1. The Write Protect (W) and Hold (HOLD) signals should be driven, High or Low as appropriate.
Figure 4 shows an example of three devices connected to an MCU, on an SPI bus. Only one
device is selected at a time, so only one device drives the Serial Data output (DQ1) line at a
time, the other devices are high impedance. Resistors R (represented in Figure 4) ensure
that the M25PX32 is not selected if the Bus Master leaves the S line in the high impedance
state. As the Bus Master may enter a state where all inputs/outputs are in high impedance
at the same time (for example, when the Bus Master is reset), the clock line (C) must be
connected to an external pull-down resistor so that, when all inputs/outputs become high
impedance, the S line is pulled High while the C line is pulled Low (thus ensuring that S and
C do not become High at the same time, and so, that the tSHCH requirement is met). The
typical value of R is 100 kΩ, assuming that the time constant R*Cp (Cp = parasitic
capacitance of the bus line) is shorter than the time during which the Bus Master leaves the
SPI bus in high impedance.
11/63
SPI modes
M25PX32
Example: Cp = 50 pF, that is R*Cp = 5 µs <=> the application must ensure that the Bus
Master never leaves the SPI bus in the high impedance state for a time period shorter than
5 µs.
Figure 5.
SPI modes supported
CPOL CPHA
0
0
C
1
1
C
DQ0
DQ1
MSB
MSB
AI13730
12/63
M25PX32
Operating features
4
Operating features
4.1
Page programming
To program one data byte, two instructions are required: Write Enable (WREN), which is one
byte, and a Page Program (PP) sequence, which consists of four bytes plus data. This is
followed by the internal Program cycle (of duration tPP).
To spread this overhead, the Page Program (PP) instruction allows up to 256 bytes to be
programmed at a time (changing bits from 1 to 0), provided that they lie in consecutive
addresses on the same page of memory.
For optimized timings, it is recommended to use the Page Program (PP) instruction to
program all consecutive targeted bytes in a single sequence versus using several Page
Program (PP) sequences with each containing only a few bytes (see Page Program (PP)
and Table 17: AC characteristics).
4.2
Dual Input Fast Program
The Dual Input Fast Program (DIFP) instruction makes it possible to program up to 256
bytes using two input pins at the same time (by changing bits from 1 to 0).
For optimized timings, it is recommended to use the Dual Input Fast Program (DIFP)
instruction to program all consecutive targeted bytes in a single sequence rather to using
several Dual Input Fast Program (DIFP) sequences each containing only a few bytes (see
Section 6.12: Dual Input Fast Program (DIFP)).
4.3
Subsector Erase, Sector Erase and Bulk Erase
The Page Program (PP) instruction allows bits to be reset from 1 to 0. Before this can be
applied, the bytes of memory need to have been erased to all 1s (FFh). This can be
achieved either a subsector at a time, using the Subsector Erase (SSE) instruction, a sector
at a time, using the Sector Erase (SE) instruction, or throughout the entire memory, using
the Bulk Erase (BE) instruction. This starts an internal Erase cycle (of duration tSSE, tSE or
tBE).
The Erase instruction must be preceded by a Write Enable (WREN) instruction.
4.4
Polling during a Write, Program or Erase cycle
A further improvement in the time to Write Status Register (WRSR), Program OTP (POTP),
Program (PP), Dual Input Fast Program (DIFP) or Erase (SSE, SE or BE) can be achieved
by not waiting for the worst case delay (tW, tPP, tSSE, tSE, or tBE). The Write In Progress
(WIP) bit is provided in the Status Register so that the application program can monitor its
value, polling it to establish when the previous Write cycle, Program cycle or Erase cycle is
complete.
13/63
Operating features
4.5
M25PX32
Fast Bulk Erase mode
The Fast Bulk Erase mode is used to speed up Bulk Erase operations. The device enters
the Fast Bulk Erase mode during a Bulk Erase instruction whenever a voltage equal to VPPH
is applied to the W/VPP pin.
The use of the Fast Bulk Erase mode requires specific operating conditions in addition to the
normal ones (VCC must be within the normal operating range):
4.6
●
the voltage applied to the W/VPP pin must be equal to VPPH (see Table 13)
●
ambient temperature, TA must be 25 °C ±10 °C,
●
the cumulated time during which W/VPP is at VPPH should be less than 80 hours.
Active Power, Standby Power and Deep Power-down modes
When Chip Select (S) is Low, the device is selected, and in the Active Power mode.
When Chip Select (S) is High, the device is deselected, but could remain in the Active Power
mode until all internal cycles have completed (Program, Erase, Write Status Register). The
device then goes in to the Standby Power mode. The device consumption drops to ICC1.
The Deep Power-down mode is entered when the specific instruction (the Deep Powerdown (DP) instruction) is executed. The device consumption drops further to ICC2. The
device remains in this mode until another specific instruction (the Release from Deep
Power-down (RDP) instruction) is executed.
While in the Deep Power-down mode, the device ignores all Write, Program and Erase
instructions (see Deep Power-down (DP)), this can be used as an extra software protection
mechanism, when the device is not in active use, to protect the device from inadvertent
Write, Program or Erase instructions.
4.7
Status Register
The Status Register contains a number of status and control bits that can be read or set (as
appropriate) by specific instructions. See Section 6.4: Read Status Register (RDSR) for a
detailed description of the Status Register bits.
14/63
M25PX32
4.8
Operating features
Protection modes
There are protocol-related and specific hardware and software protection modes. They are
described below.
4.8.1
Protocol-related protections
The environments where non-volatile memory devices are used can be very noisy. No SPI
device can operate correctly in the presence of excessive noise. To help combat this, the
M25PX32 features the following data protection mechanisms:
●
Power On Reset and an internal timer (tPUW) can provide protection against inadvertent
changes while the power supply is outside the operating specification
●
Program, Erase and Write Status Register instructions are checked that they consist of
a number of clock pulses that is a multiple of eight, before they are accepted for
execution
●
All instructions that modify data must be preceded by a Write Enable (WREN)
instruction to set the Write Enable Latch (WEL) bit. This bit is returned to its reset state
by the following events:
–
●
Power-up
–
Write Disable (WRDI) instruction completion
–
Write Status Register (WRSR) instruction completion
–
Write to Lock Register (WRLR) instruction completion
–
Program OTP (POTP) instruction completion
–
Page Program (PP) instruction completion
–
Dual Input Fast Program (DIFP) instruction completion
–
Subsector Erase (SSE) instruction completion
–
Sector Erase (SE) instruction completion
–
Bulk Erase (BE) instruction completion
In addition to the low power consumption feature, the Deep Power-down mode offers
extra software protection, as all Write, Program and Erase instructions are ignored.
15/63
Operating features
4.8.2
M25PX32
Specific hardware and software protection
There are two software protected modes, SPM1 and SPM2, that can be combined to protect
the memory array as required. The SPM2 can be locked by hardware with the help of the W
input pin.
SPM1 and SPM2
●
The first software protected mode (SPM1) is managed by specific Lock Registers
assigned to each 64 Kbyte sector.
The Lock Registers can be read and written using the Read Lock Register (RDLR) and
Write to Lock Register (WRLR) instructions.
In each Lock Register two bits control the protection of each sector: the Write Lock bit
and the Lock Down bit.
–
Write Lock bit:
The Write Lock bit determines whether the contents of the sector can be modified
(using the Write, Program or Erase instructions). When the Write Lock bit is set to
‘1’, the sector is write protected – any operations that attempt to change the data
in the sector will fail. When the Write Lock bit is reset to ‘0’, the sector is not write
protected by the Lock Register, and may be modified.
–
Lock Down bit:
The Lock Down bit provides a mechanism for protecting software data from simple
hacking and malicious attack. When the Lock Down bit is set, ‘1’, further
modification to the Write Lock and Lock Down bits cannot be performed. A powerup, is required before changes to these bits can be made. When the Lock Down bit
is reset, ‘0’, the Write Lock and Lock Down bits can be changed.
The definition of the Lock Register bits is given in Table 9: Lock Register out.
Table 2.
Software protection truth table (Sectors 0 to 63, 64 Kbyte granularity)
Sector Lock
Register
Protection status
●
16/63
Lock
Down bit
Write
Lock bit
0
0
Sector unprotected from Program/Erase/Write operations, protection status
reversible
0
1
Sector protected from Program/Erase/Write operations, protection status
reversible
1
0
Sector unprotected from Program/Erase/Write operations,
Sector protection status cannot be changed except by a Power-up.
1
1
Sector protected from Program/Erase/Write operations,
Sector protection status cannot be changed except by a Power-up.
the second software protected mode (SPM2) uses the Block Protect bits (see
Section 6.4.3: BP2, BP1, BP0 bits) and the Top/Bottom bit (see Section 6.4.4: TB bit) to
allow part of the memory to be configured as read-only.
M25PX32
Operating features
Table 3.
Protected area sizes
Status Register
contents
Memory content
TB BP BP BP
bit bit 2 bit 1 bit 0
Protected area
Unprotected area
0
0
0
0
none
All sectors(1) (64 sectors: 0 to 63)
0
0
0
1
Upper 64th (Sector 63)
Lower 63/64ths (63 sectors: 0 to 62)
0
0
1
0
Upper 32nd (two sectors: 62 and 63) Lower 31/32nds (62 sectors: 0 to 61)
0
0
1
1
Upper sixteenth (four sectors: 60 to
63)
Lower 15/16ths (60 sectors: 0 to 59)
0
1
0
0
Upper eighth (eight sectors: 56 to 63)
Lower seven-eighths (56 sectors: 0
to 55)
0
1
0
1
Upper quarter (sixteen sectors: 48 to Lower three-quarters (48 sectors: 0
63)
to 47)
0
1
1
0
Upper half (thirty-two sectors: 32 to
63)
Lower half (32 sectors: 0 to 31)
0
1
1
1
All sectors (64 sectors: 0 to 63)
none
1
0
0
0
none
All sectors(1) (64 sectors: 0 to 63)
1
0
0
1
Lower 64th (sector 0)
Upper 63/64ths (63 sectors: 1 to 63)
1
0
1
0
Lower 32nd (two sectors: 0 and 1)
Upper 31/32ths (62 sectors: 2 to 63)
1
0
1
1
Lower 16th (four sectors: 0 to 3)
Upper 15/16ths (60 sectors: 4 to 63)
1
1
0
0
Lower 8th (eight sectors: 0 to 7)
Upper 7/8ths (56 sectors: 8 to 63)
1
1
0
1
Lower 4th (sixteen sectors: 0 to 15)
Upper 3/4ths (48 sectors: 16 to 63)
1
1
1
0
Lower half (thirty-two sectors: 0 to
31)
Upper half (32 sectors: 32 to 63)
1
1
1
1
All sectors (64 sectors: 0 to 63)
none
1. The device is ready to accept a Bulk Erase instruction if, and only if, all Block Protect (BP2, BP1, BP0) are
0.
As a second level of protection, the Write Protect signal (applied on the W/VPP pin) can
freeze the Status Register in a read-only mode. In this mode, the Block Protect bits (BP2,
BP1, BP0) and the Status Register Write Disable bit (SRWD) are protected. For more
details, see Section 6.5: Write Status Register (WRSR).
17/63
Operating features
4.9
M25PX32
Hold condition
The Hold (HOLD) signal is used to pause any serial communications with the device without
resetting the clocking sequence. However, taking this signal Low does not terminate any
Write Status Register, Program or Erase cycle that is currently in progress.
To enter the Hold condition, the device must be selected, with Chip Select (S) Low.
The Hold condition starts on the falling edge of the Hold (HOLD) signal, provided that this
coincides with Serial Clock (C) being Low (as shown in Figure 6).
The Hold condition ends on the rising edge of the Hold (HOLD) signal, provided that this
coincides with Serial Clock (C) being Low.
If the falling edge does not coincide with Serial Clock (C) being Low, the Hold condition
starts after Serial Clock (C) next goes Low. Similarly, if the rising edge does not coincide
with Serial Clock (C) being Low, the Hold condition ends after Serial Clock (C) next goes
Low. (This is shown in Figure 6).
During the Hold condition, the Serial Data output (DQ1) is high impedance, and Serial Data
input (DQ0) and Serial Clock (C) are Don’t care.
Normally, the device is kept selected, with Chip Select (S) driven Low, for the whole duration
of the Hold condition. This is to ensure that the state of the internal logic remains unchanged
from the moment of entering the Hold condition.
If Chip Select (S) goes High while the device is in the Hold condition, this has the effect of
resetting the internal logic of the device. To restart communication with the device, it is
necessary to drive Hold (HOLD) High, and then to drive Chip Select (S) Low. This prevents
the device from going back to the Hold condition.
Figure 6.
Hold condition activation
C
HOLD
Hold
Condition
(standard use)
Hold
Condition
(non-standard use)
AI02029D
18/63
M25PX32
Memory organization
The memory is organized as:
●
4 194 304 bytes (8 bits each)
●
1024 subsectors (4 Kbytes each)
●
64 sectors (64 Kbytes each)
●
16384 pages (256 bytes each)
●
64 OTP bytes located outside the main memory array
Each page can be individually programmed (bits are programmed from 1 to 0). The device is
Subsector, Sector or Bulk Erasable (bits are erased from 0 to 1) but not Page Erasable.
Figure 7.
Block diagram
HOLD
VPP
High Voltage
Generator
Control Logic
64 OTP bytes
S
C
DQ0
I/O Shift Register
DQ1
Address Register
and Counter
Status
Register
256 Byte
Data Buffer
3FFFFFh
Configurable OTP
area in main
memory array
Y Decoder
5
Memory organization
00000h
000FFh
256 Bytes (Page Size)
X Decoder
AI13722
19/63
Memory organization
Subsector
20/63
...
...
...
...
...
340FFFh
1007
3EF000h
3EFFFFh
831
33F000h
33FFFFh
...
...
...
...
...
...
51
992
3E0000h
3E0FFFh
816
330000h
330FFFh
991
3DF000h
3DFFFFh
815
32F000h
32FFFFh
...
...
...
...
...
...
50
976
3D0000h
3D0FFFh
800
320000h
320FFFh
975
3CF000h
3CFFFFh
799
31F000h
31FFFFh
...
...
...
...
...
...
49
960
3C0000h
3C0FFFh
784
310000h
310FFFh
959
3BF000h
3BFFFFh
783
30F000h
30FFFFh
...
...
...
...
...
...
48
944
3B0000h
3B0FFFh
768
300000h
300FFFh
943
3AF000g
3AFFFFh
767
2FF000h
2FFFFFh
...
...
...
...
...
47
928
3A0000h
3A0FFFh
752
2F0000h
2F0FFFh
927
39F000h
39FFFFh
751
2EF000h
2EFFFFh
...
...
...
...
...
46
912
390000h
390FFFh
736
2E0000h
2E0FFFh
911
38F000h
38FFFFh
735
2DF000h
2DFFFFh
...
...
...
...
...
45
896
380000h
380FFFh
720
2D0000h
2D0FFFh
895
37F000h
37FFFFh
719
2CF000h
2CFFFFh
...
...
...
...
44
880
370000h
370FFFh
704
2C0000h
2C0FFFh
879
36F000h
36FFFFh
703
2BF000h
2BFFFFh
...
...
...
...
43
864
360000h
360FFFh
688
2B0000h
2B0FFFh
863
35F000h
35FFFFh
687
2AF000h
2AFFFFh
848
350000h
350FFFh
42
...
53
340000h
...
54
832
...
55
3F0FFFh
...
56
3F0000h
...
57
1008
...
58
34FFFFh
...
59
52
34F000h
...
60
847
Address range
...
61
Subsector
...
62
3FFFFFh
...
63
3FF000h
Sector
...
1023
Address range
...
Sector
Memory organization
...
Table 4.
M25PX32
672
2A0000h
2A0FFFh
M25PX32
Memory organization
Subsector
...
...
...
...
...
1E0FFFh
655
28F000h
28FFFFh
479
1DF000h
1DFFFFh
...
...
...
...
...
...
29
640
280000h
280FFFh
464
1D0000h
1D0FFFh
639
27F000h
27FFFFh
463
1CF000h
1CFFFFh
...
...
...
...
...
...
28
624
270000h
270FFFh
448
1C0000h
1C0FFFh
623
26F000h
26FFFFh
447
1BF000h
1BFFFFh
...
...
...
...
...
...
27
608
260000h
260FFFh
432
1B0000h
1B0FFFh
607
25F000h
25FFFFh
431
1AF000h
1AFFFFh
...
...
...
...
...
...
26
592
250000h
250FFFh
416
1A0000h
1A0FFFh
591
24F000h
24FFFFh
415
19F000h
19FFFFh
...
...
...
...
...
25
576
240000h
240FFFh
400
190000h
190FFFh
575
23F000h
23FFFFh
399
18F000h
18FFFFh
...
...
...
...
...
24
560
230000h
230FFFh
384
180000h
180FFFh
559
22F000h
22FFFFh
383
17F000h
17FFFFh
...
...
...
...
...
23
544
220000h
220FFFh
368
170000h
170FFFh
543
21F000h
21FFFFh
367
16F000h
16FFFFh
...
...
...
...
22
528
210000h
210FFFh
352
160000h
160FFFh
527
20F000h
20FFFFh
351
15F000h
15FFFFh
...
...
...
...
21
512
200000h
200FFFh
336
150000h
150FFFh
511
1FF000h
1FFFFFh
335
14F000h
14FFFFh
496
1F0000h
1F0FFFh
20
...
31
1E0000h
...
32
480
...
33
290FFFh
...
34
290000h
...
35
656
...
36
1EFFFFh
...
37
30
1EF000h
...
38
495
Address range
...
39
Subsector
...
40
29FFFFh
...
41
29F000h
Sector
...
671
Address range
...
Sector
Memory organization (continued)
...
Table 4.
320
140000h
140FFFh
21/63
Memory organization
Subsector
...
...
...
...
...
128
80000h
80FFFh
303
12F000h
12FFFFh
127
7F000h
7FFFFh
...
...
...
...
...
...
288
120000h
120FFFh
112
70000h
70FFFh
287
11F000h
11FFFFh
111
6F000h
6FFFFh
22/63
...
...
...
...
...
...
6
272
110000h
110FFFh
96
60000h
60FFFh
271
10F000h
10FFFFh
95
5F000h
5FFFFh
...
...
...
...
...
...
5
256
100000h
100FFFh
80
50000h
50FFFh
255
FF000h
FFFFFh
79
4F000h
4FFFFh
...
...
...
...
...
4
240
F0000h
F0FFFh
64
40000h
40FFFh
239
EF000h
EFFFFh
63
3F000h
3FFFFh
...
...
...
...
...
3
224
E0000h
E0FFFh
48
30000h
30FFFh
223
DF000h
DFFFFh
47
2F000h
2FFFFh
...
...
...
...
...
2
208
D0000h
D0FFFh
32
20000h
20FFFh
207
CF000h
CFFFFh
31
1F000h
1FFFFh
...
...
C0000h
C0FFFh
16
10000h
10FFFh
191
BF000h
BFFFFh
15
0F000h
0FFFFh
...
...
1
192
176
B0000h
B0FFFh
4
04000h
04FFFh
175
AF000h
AFFFFh
3
03000h
03FFFh
2
02000h
02FFFh
10
0
A0FFFh
1
01000h
01FFFh
159
9F000h
9FFFFh
0
00000h
00FFFh
...
A0000h
...
160
...
9
7
...
11
130FFFh
...
12
130000h
...
13
304
...
14
8FFFFh
...
15
8
8F000h
...
16
143
Address range
...
17
Subsector
...
18
13FFFFh
...
19
13F000h
Sector
...
319
Address range
...
Sector
Memory organization (continued)
...
Table 4.
M25PX32
144
90000h
90FFFh
M25PX32
6
Instructions
Instructions
All instructions, addresses and data are shifted in and out of the device, most significant bit
first.
Serial Data input(s) DQ0 (DQ1) is (are) sampled on the first rising edge of Serial Clock (C)
after Chip Select (S) is driven Low. Then, the one-byte instruction code must be shifted in to
the device, most significant bit first, on Serial Data input(s) DQ0 (DQ1), each bit being
latched on the rising edges of Serial Clock (C).
The instruction set is listed in Table 5.
Every instruction sequence starts with a one-byte instruction code. Depending on the
instruction, this might be followed by address bytes, or by data bytes, or by both or none.
In the case of a Read Data Bytes (READ), Read Data Bytes at higher speed (Fast_Read),
Dual Output Fast Read (DOFR), Read OTP (ROTP), Read Lock Registers (RDLR), Read
Status Register (RDSR), Read Identification (RDID) or Release from Deep Power-down
(RDP) instruction, the shifted-in instruction sequence is followed by a data-out sequence.
Chip Select (S) can be driven High after any bit of the data-out sequence is being shifted
out.
In the case of a Page Program (PP), Program OTP (POTP), Dual Input Fast Program
(DIFP), Subsector Erase (SSE), Sector Erase (SE), Bulk Erase (BE), Write Status Register
(WRSR), Write to Lock Register (WRLR), Write Enable (WREN), Write Disable (WRDI) or
Deep Power-down (DP) instruction, Chip Select (S) must be driven High exactly at a byte
boundary, otherwise the instruction is rejected, and is not executed. That is, Chip Select (S)
must driven High when the number of clock pulses after Chip Select (S) being driven Low is
an exact multiple of eight.
All attempts to access the memory array during a Write Status Register cycle, Program
cycle or Erase cycle are ignored, and the internal Write Status Register cycle, Program
cycle or Erase cycle continues unaffected.
23/63
Instructions
M25PX32
Table 5.
Instruction
Description
One-byte instruction Address Dummy
code
bytes
bytes
Data
bytes
WREN
Write Enable
0000 0110
06h
0
0
0
WRDI
Write Disable
0000 0100
04h
0
0
0
1001 1111
9Fh
0
0
1 to 20
RDID
Read Identification
1001 1110
9Eh
0
0
1 to 3
RDSR
Read Status Register
0000 0101
05h
0
0
1 to ∞
WRSR
Write Status Register
0000 0001
01h
0
0
1
WRLR
Write to Lock Register
1110 0101
E5h
3
0
1
RDLR
Read Lock Register
1110 1000
E8h
3
0
1
READ
Read Data Bytes
0000 0011
03h
3
0
1 to ∞
Read Data Bytes at higher
speed
0000 1011
0Bh
3
1
1 to ∞
DOFR
Dual Output Fast Read
0011 1011
3Bh
3
1
1 to ∞
ROTP
Read OTP (Read 64 bytes of
OTP area)
0100 1011
4Bh
3
1
1 to 65
POTP
Program OTP (Program 64
bytes of OTP area)
0100 0010
42h
3
0
1 to 65
Page Program
0000 0010
02h
3
0
1 to 256
DIFP
Dual Input Fast Program
1010 0010
A2h
3
0
1 to 256
SSE
Subsector Erase
0010 0000
20h
3
0
0
SE
Sector Erase
1101 1000
D8h
3
0
0
BE
Bulk Erase
1100 0111
C7h
0
0
0
DP
Deep Power-down
1011 1001
B9h
0
0
0
Release from Deep Powerdown
1010 1011
ABh
0
0
0
FAST_READ
PP
RDP
24/63
Instruction set
M25PX32
6.1
Instructions
Write Enable (WREN)
The Write Enable (WREN) instruction (Figure 8) sets the Write Enable Latch (WEL) bit.
The Write Enable Latch (WEL) bit must be set prior to every Page Program (PP), Dual Input
Fast Program (DIFP), Program OTP (POTP), Write to Lock Register (WRLR), Subsector
Erase (SSE), Sector Erase (SE), Bulk Erase (BE) and Write Status Register (WRSR)
instruction.
The Write Enable (WREN) instruction is entered by driving Chip Select (S) Low, sending the
instruction code, and then driving Chip Select (S) High.
Figure 8.
Write Enable (WREN) instruction sequence
S
0
1
2
3
4
5
6
7
C
Instruction
DQ0
High Impedance
DQ1
AI13731
25/63
Instructions
6.2
M25PX32
Write Disable (WRDI)
The Write Disable (WRDI) instruction (Figure 9) resets the Write Enable Latch (WEL) bit.
The Write Disable (WRDI) instruction is entered by driving Chip Select (S) Low, sending the
instruction code, and then driving Chip Select (S) High.
The Write Enable Latch (WEL) bit is reset under the following conditions:
●
Power-up
●
Write Disable (WRDI) instruction completion
●
Write Status Register (WRSR) instruction completion
●
Write lo Lock Register (WRLR) instruction completion
●
Page Program (PP) instruction completion
●
Dual Input Fast Program (DIFP) instruction completion
●
Program OTP (POTP) instruction completion
●
Subsector Erase (SSE) instruction completion
●
Sector Erase (SE) instruction completion
●
Bulk Erase (BE) instruction completion
Figure 9.
Write Disable (WRDI) instruction sequence
S
0
1
2
3
4
5
6
7
C
Instruction
DQ0
High Impedance
DQ1
AI13732
26/63
M25PX32
6.3
Instructions
Read Identification (RDID)
The Read Identification (RDID) instruction allows to read the device identification data:
●
Manufacturer identification (one byte)
●
Device identification (two bytes)
●
A Unique ID code (UID) followed by 16 bytes of CFI data
The manufacturer identification is assigned by JEDEC, and has the value 20h for
STMicroelectronics. The device identification is assigned by the device manufacturer, and
indicates the memory type in the first byte (71h), and the memory capacity of the device in
the second byte (16h). The UID is set to 10h and indicates that 16 bytes, related to the CFI
content, are following.
Any Read Identification (RDID) instruction while an Erase or Program cycle is in progress, is
not decoded, and has no effect on the cycle that is in progress.
The Read Identification (RDID) instruction should not be issued while the device is in Deep
Power-down mode.
The device is first selected by driving Chip Select (S) Low. Then, the 8-bit instruction code
for the instruction is shifted in. After this, the 24-bit device identification, stored in the
memory, the 8-bit Unique ID code followed by 16 bytes of CFI content will be shifted out on
Serial Data output (DQ1). Each bit is shifted out during the falling edge of Serial Clock (C).
The instruction sequence is shown in Figure 10.
The Read Identification (RDID) instruction is terminated by driving Chip Select (S) High at
any time during data output.
When Chip Select (S) is driven High, the device is put in the Standby Power mode. Once in
the Standby Power mode, the device waits to be selected, so that it can receive, decode and
execute instructions.
Table 6.
Read Identification (RDID) data-out sequence
Device identification
Manufacturer identification
20h
Memory type
Memory capacity
71h
16h
UID
CFI content
10h
16 bytes
Figure 10. Read Identification (RDID) instruction sequence and data-out sequence
S
0
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16 17 18
28 29 30 31
C
Instruction
DQ0
Manufacturer Identification
UID + CFI Data
Device Identification
High Impedance
DQ1
15 14 13
MSB
MSB
3
2
1
0
MSB
AI06809d
27/63
Instructions
6.4
M25PX32
Read Status Register (RDSR)
The Read Status Register (RDSR) instruction allows the Status Register to be read. The
Status Register may be read at any time, even while a Program, Erase or Write Status
Register cycle is in progress. When one of these cycles is in progress, it is recommended to
check the Write In Progress (WIP) bit before sending a new instruction to the device. It is
also possible to read the Status Register continuously, as shown in Figure 11.
Table 7.
Status Register format
b7
SRWD
b0
0
TB
BP2
BP1
BP0
WEL
WIP
Status Register Write Protect
Top/Bottom bit
Block Protect bits
Write Enable Latch bit
Write In Progress bit
The status and control bits of the Status Register are as follows:
6.4.1
WIP bit
The Write In Progress (WIP) bit indicates whether the memory is busy with a Write Status
Register, Program or Erase cycle. When set to 1, such a cycle is in progress, when reset to
0 no such cycle is in progress.
6.4.2
WEL bit
The Write Enable Latch (WEL) bit indicates the status of the internal Write Enable Latch.
When set to 1 the internal Write Enable Latch is set, when set to 0 the internal Write Enable
Latch is reset and no Write Status Register, Program or Erase instruction is accepted.
6.4.3
BP2, BP1, BP0 bits
The Block Protect (BP2, BP1, BP0) bits are non-volatile. They define the size of the area to
be software protected against Program and Erase instructions. These bits are written with
the Write Status Register (WRSR) instruction. When one or more of the Block Protect (BP2,
BP1, BP0) bits is set to 1, the relevant memory area (as defined in Table 3) becomes
protected against Page Program (PP) and Sector Erase (SE) instructions. The Block Protect
(BP2, BP1, BP0) bits can be written provided that the Hardware Protected mode has not
been set. The Bulk Erase (BE) instruction is executed if, and only if, all Block Protect (BP2,
BP1, BP0) bits are 0.
28/63
M25PX32
6.4.4
Instructions
TB bit
The Top/Bottom (TB) bit is non-volatile. It can be set and reset with the Write Status
Register (WRSR) instruction provided that the Write Enable (WREN) instruction has been
issued. The Top/Bottom (TB) bit is used in conjunction with the Block Protect (BP0, BP1,
BP2) bits to determine if the protected area defined by the Block Protect bits starts from the
top or the bottom of the memory array:
●
When TB is reset to ‘0’ (default value), the area protected by the Block Protect bits
starts from the top of the memory array (see Table 3: Protected area sizes)
●
When TB is set to ‘1’, the area protected by the Block Protect bits starts from the
bottom of the memory array (see Table 3: Protected area sizes)
The TB bit cannot be written when the SRWD bit is set to ‘1’ and the W pin is driven Low.
6.4.5
SRWD bit
The Status Register Write Disable (SRWD) bit is operated in conjunction with the Write
Protect (W/VPP) signal. The Status Register Write Disable (SRWD) bit and the Write Protect
(W/VPP) signal allow the device to be put in the hardware protected mode (when the Status
Register Write Disable (SRWD) bit is set to ‘1’, and Write Protect (W/VPP) is driven Low). In
this mode, the non-volatile bits of the Status Register (SRWD, BP2, BP1, BP0) become
read-only bits and the Write Status Register (WRSR) instruction is no longer accepted for
execution.
Figure 11. Read Status Register (RDSR) instruction sequence and data-out
sequence
S
0
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15
C
Instruction
DQ0
Status Register Out
Status Register Out
High Impedance
DQ1
7
MSB
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
7
MSB
AI13734
29/63
Instructions
6.5
M25PX32
Write Status Register (WRSR)
The Write Status Register (WRSR) instruction allows new values to be written to the Status
Register. Before it can be accepted, a Write Enable (WREN) instruction must previously
have been executed. After the Write Enable (WREN) instruction has been decoded and
executed, the device sets the Write Enable Latch (WEL).
The Write Status Register (WRSR) instruction is entered by driving Chip Select (S) Low,
followed by the instruction code and the data byte on Serial Data input (DQ0).
The instruction sequence is shown in Figure 12.
The Write Status Register (WRSR) instruction has no effect on b6, b1 and b0 of the Status
Register. b6 is always read as ‘0’.
Chip Select (S) must be driven High after the eighth bit of the data byte has been latched in.
If not, the Write Status Register (WRSR) instruction is not executed. As soon as Chip Select
(S) is driven High, the self-timed Write Status Register cycle (whose duration is tW) is
initiated. While the Write Status Register cycle is in progress, the Status Register may still
be read to check the value of the Write In Progress (WIP) bit. The Write In Progress (WIP)
bit is 1 during the self-timed Write Status Register cycle, and is 0 when it is completed.
When the cycle is completed, the Write Enable Latch (WEL) is reset.
The Write Status Register (WRSR) instruction allows the user to change the values of the
Block Protect (BP2, BP1, BP0) bits, to define the size of the area that is to be treated as
read-only, as defined in Table 3. The Write Status Register (WRSR) instruction also allows
the user to set and reset the Status Register Write Disable (SRWD) bit in accordance with
the Write Protect (W/VPP) signal. The Status Register Write Disable (SRWD) bit and Write
Protect (W/VPP) signal allow the device to be put in the hardware protected mode (HPM).
The Write Status Register (WRSR) instruction is not executed once the hardware protected
mode (HPM) is entered.
Figure 12. Write Status Register (WRSR) instruction sequence
S
0
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15
C
Instruction
Status
Register In
7
DQ0
High Impedance
6
5
4
3
2
1
0
MSB
DQ1
AI13735
30/63
M25PX32
Instructions
Table 8.
Protection modes
W/VPP
signal
SRWD
bit
1
0
0
0
1
0
1
1
Mode
Software
protected
(SPM)
Hardware
protected
(HPM)
Write Protection
of the Status
Register
Status Register is
Writable (if the
WREN instruction
has set the WEL
bit)
The values in the
SRWD, BP2, BP1
and BP0 bits can
be changed
Status Register is
hardware write
protected
The values in the
SRWD, BP2, BP1
and BP0 bits
cannot be changed
Memory content
Protected area(1)
Unprotected area(1)
Protected against
Page Program,
Sector Erase and
Bulk Erase
Ready to accept
Page Program and
Sector Erase
instructions
Protected against
Page Program,
Sector Erase and
Bulk Erase
Ready to accept
Page Program and
Sector Erase
instructions
1. As defined by the values in the Block Protect (BP2, BP1, BP0) bits of the Status Register, as shown in
Table 3
The protection features of the device are summarized in Table 8.
When the Status Register Write Disable (SRWD) bit of the Status Register is 0 (its initial
delivery state), it is possible to write to the Status Register provided that the Write Enable
Latch (WEL) bit has previously been set by a Write Enable (WREN) instruction, regardless
of the whether Write Protect (W/VPP) is driven High or Low.
When the Status Register Write Disable (SRWD) bit of the Status Register is set to 1, two
cases need to be considered, depending on the state of Write Protect (W/VPP):
●
If Write Protect (W/VPP) is driven High, it is possible to write to the Status Register
provided that the Write Enable Latch (WEL) bit has previously been set by a Write
Enable (WREN) instruction.
●
If Write Protect (W/VPP) is driven Low, it is not possible to write to the Status Register
even if the Write Enable Latch (WEL) bit has previously been set by a Write Enable
(WREN) instruction. (Attempts to write to the Status Register are rejected, and are not
accepted for execution). As a consequence, all the data bytes in the memory area that
are software protected (SPM) by the Block Protect (BP2, BP1, BP0) bits of the Status
Register, are also hardware protected against data modification.
Regardless of the order of the two events, the Hardware Protected mode (HPM) can be
entered:
●
by setting the Status Register Write Disable (SRWD) bit after driving Write Protect
(W/VPP) Low
●
or by driving Write Protect (W/VPP) Low after setting the Status Register Write Disable
(SRWD) bit.
The only way to exit the Hardware Protected mode (HPM) once entered is to pull Write
Protect (W/VPP) High.
If Write Protect (W/VPP) is permanently tied High, the Hardware Protected mode (HPM) can
never be activated, and only the Software Protected mode (SPM), using the Block Protect
(BP2, BP1, BP0) bits of the Status Register, can be used.
31/63
Instructions
6.6
M25PX32
Read Data Bytes (READ)
The device is first selected by driving Chip Select (S) Low. The instruction code for the Read
Data Bytes (READ) instruction is followed by a 3-byte address (A23-A0), each bit being
latched-in during the rising edge of Serial Clock (C). Then the memory contents, at that
address, is shifted out on Serial Data output (DQ1), each bit being shifted out, at a
maximum frequency fR, during the falling edge of Serial Clock (C).
The instruction sequence is shown in Figure 13.
The first byte addressed can be at any location. The address is automatically incremented
to the next higher address after each byte of data is shifted out. The whole memory can,
therefore, be read with a single Read Data Bytes (READ) instruction. When the highest
address is reached, the address counter rolls over to 000000h, allowing the read sequence
to be continued indefinitely.
The Read Data Bytes (READ) instruction is terminated by driving Chip Select (S) High. Chip
Select (S) can be driven High at any time during data output. Any Read Data Bytes (READ)
instruction, while an Erase, Program or Write cycle is in progress, is rejected without having
any effects on the cycle that is in progress.
Figure 13. Read Data Bytes (READ) instruction sequence and data-out sequence
S
0
1
2
3
4
5
6
7
8
9 10
28 29 30 31 32 33 34 35 36 37 38 39
C
Instruction
24-bit address
23 22 21
DQ0
3
2
1
0
MSB
Data Out 1
High Impedance
DQ1
7
6
5
4
3
2
Data Out 2
1
0
7
MSB
AI13736
1. Address bits A23 to A22 are Don’t care.
32/63
M25PX32
6.7
Instructions
Read Data Bytes at higher speed (FAST_READ)
The device is first selected by driving Chip Select (S) Low. The instruction code for the Read
Data Bytes at higher speed (FAST_READ) instruction is followed by a 3-byte address (A23A0) and a dummy byte, each bit being latched-in during the rising edge of Serial Clock (C).
Then the memory contents, at that address, are shifted out on Serial Data output (DQ1) at a
maximum frequency fC, during the falling edge of Serial Clock (C).
The instruction sequence is shown in Figure 14.
The first byte addressed can be at any location. The address is automatically incremented
to the next higher address after each byte of data is shifted out. The whole memory can,
therefore, be read with a single Read Data Bytes at higher speed (FAST_READ) instruction.
When the highest address is reached, the address counter rolls over to 000000h, allowing
the read sequence to be continued indefinitely.
The Read Data Bytes at higher speed (FAST_READ) instruction is terminated by driving
Chip Select (S) High. Chip Select (S) can be driven High at any time during data output. Any
Read Data Bytes at higher speed (FAST_READ) instruction, while an Erase, Program or
Write cycle is in progress, is rejected without having any effects on the cycle that is in
progress.
Figure 14. Read Data Bytes at higher speed (FAST_READ) instruction sequence
and data-out sequence
S
0
1
2
3
4
5
6
7
8
9 10
28 29 30 31
C
Instruction
24-bit address
23 22 21
DQ0
3
2
1
0
High Impedance
DQ1
S
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
C
Dummy byte
DQ0
7
6
5
4
3
2
1
0
DATA OUT 2
DATA OUT 1
DQ1
7
MSB
6
5
4
3
2
1
0
7
MSB
6
5
4
3
2
1
0
7
MSB
AI13737
1. Address bits A23 to A22 are Don’t care.
33/63
Instructions
6.8
M25PX32
Dual Output Fast Read (DOFR)
The Dual Output Fast Read (DOFR) instruction is very similar to the Read Data Bytes at
higher speed (FAST_READ) instruction, except that the data are shifted out on two pins (pin
DQ0 and pin DQ1) instead of only one. Outputting the data on two pins instead of one
doubles the data transfer bandwidth compared to the Read Data Bytes at higher speed
(FAST_READ) instruction.
The device is first selected by driving Chip Select (S) Low. The instruction code for the Dual
Output Fast Read instruction is followed by a 3-byte address (A23-A0) and a dummy byte,
each bit being latched-in during the rising edge of Serial Clock (C). Then the memory
contents, at that address, are shifted out on DQ0 and DQ1 at a maximum frequency fC,
during the falling edge of Serial Clock (C).
The instruction sequence is shown in Figure 15.
The first byte addressed can be at any location. The address is automatically incremented
to the next higher address after each byte of data is shifted out on DQ0 and DQ1. The whole
memory can, therefore, be read with a single Dual Output Fast Read (DOFR) instruction.
When the highest address is reached, the address counter rolls over to 00 0000h, so that
the read sequence can be continued indefinitely.
Figure 15. Dual Output Fast Read instruction sequence
S
Mode 3
C
0
1
2
3
4
5
6
7
8
9 10
28 29 30 31
Mode 2
Instruction
24-bit address
23 22 21
DQ0
3
2
1
0
High Impedance
DQ1
S
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
C
Dummy byte
DQ0
6
4
2
0
6
4
2
0
DATA OUT 1 DATA OUT 2
DQ1
7
MSB
5
3
1
7
MSB
5
3
1
6
4
2
0
DATA OUT 3
7
MSB
5
3
1
6
4
2
0
DATA OUT n
7
MSB
5
3
1
MSB
ai13574
1. A23 to A22 are Don't care.
34/63
M25PX32
6.9
Instructions
Read Lock Register (RDLR)
The device is first selected by driving Chip Select (S) Low. The instruction code for the Read
Lock Register (RDLR) instruction is followed by a 3-byte address (A23-A0) pointing to any
location inside the concerned sector. Each address bit is latched-in during the rising edge of
Serial Clock (C). Then the value of the Lock Register is shifted out on Serial Data output
(DQ1), each bit being shifted out, at a maximum frequency fC, during the falling edge of
Serial Clock (C).
The instruction sequence is shown in Figure 16.
The Read Lock Register (RDLR) instruction is terminated by driving Chip Select (S) High at
any time during data output.
Any Read Lock Register (RDLR) instruction, while an Erase, Program or Write cycle is in
progress, is rejected without having any effects on the cycle that is in progress.
Table 9.
Bit
Lock Register out(1)
Bit name
Value
Function
b7-b2
b1
b0
Reserved
‘1’
The Write Lock and Lock Down bits cannot be changed.
Once a ‘1’ is written to the Lock Down bit it cannot be cleared
to ‘0’, except by a power-up.
‘0’
The Write Lock and Lock Down bits can be changed by
writing new values to them.
‘1’
Write, Program and Erase operations in this sector will not be
executed. The memory contents will not be changed.
‘0’
Write, Program and Erase operations in this sector are
executed and will modify the sector contents.
Sector Lock Down
Sector Write Lock
1. Values of (b1, b0) after Power-up are defined in Section 7: Power-up and Power-down.
Figure 16. Read Lock Register (RDLR) instruction sequence and data-out sequence
S
0
1
2
3
4
5
6
7
8
9 10
28 29 30 31 32 33 34 35 36 37 38 39
C
Instruction
24-bit address
23 22 21
DQ0
3
2
1
0
MSB
Lock Register Out
High Impedance
DQ1
7
6
5
4
3
2
1
0
MSB
AI13738
35/63
Instructions
6.10
M25PX32
Read OTP (ROTP)
The device is first selected by driving Chip Select (S) Low. The instruction code for the Read
OTP (ROTP) instruction is followed by a 3-byte address (A23- A0) and a dummy byte. Each
bit is latched in on the rising edge of Serial Clock (C).
Then the memory contents at that address are shifted out on Serial Data output (DQ1).
Each bit is shifted out at the maximum frequency, fCmax, on the falling edge of Serial Clock
(C). The instruction sequence is shown in Figure 17.
The address is automatically incremented to the next higher address after each byte of data
is shifted out.
There is no rollover mechanism with the Read OTP (ROTP) instruction. This means that the
Read OTP (ROTP) instruction must be sent with a maximum of 65 bytes to read, since once
the 65th byte has been read, the same (65th) byte keeps being read on the DQ1 pin.
The Read OTP (ROTP) instruction is terminated by driving Chip Select (S) High. Chip Select
(S) can be driven High at any time during data output. Any Read OTP (ROTP) instruction
issued while an Erase, Program or Write cycle is in progress, is rejected without having any
effect on the cycle that is in progress.
Figure 17. Read OTP (ROTP) instruction and data-out sequence
S
0
1
2
3
4
5
6
7
8
9 10
28 29 30 31
C
Instruction
24-bit address
23 22 21
DQ0
3
2
1
0
High Impedance
DQ1
S
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
C
Dummy byte
DQ0
7
6
5
4
3
2
1
0
DATA OUT n
DATA OUT 1
DQ1
7
MSB
6
5
4
3
2
1
0
7
MSB
6
5
4
3
2
1
0
7
MSB
AI13573
1. A23 to A7 are Don't care.
2. 1 ≤ n ≤ 65.
36/63
M25PX32
6.11
Instructions
Page Program (PP)
The Page Program (PP) instruction allows bytes to be programmed in the memory
(changing bits from 1 to 0). Before it can be accepted, a Write Enable (WREN) instruction
must previously have been executed. After the Write Enable (WREN) instruction has been
decoded, the device sets the Write Enable Latch (WEL).
The Page Program (PP) instruction is entered by driving Chip Select (S) Low, followed by
the instruction code, three address bytes and at least one data byte on Serial Data input
(DQ0). If the 8 least significant address bits (A7-A0) are not all zero, all transmitted data that
goes beyond the end of the current page are programmed from the start address of the
same page (from the address whose 8 least significant bits (A7-A0) are all zero). Chip
Select (S) must be driven Low for the entire duration of the sequence.
The instruction sequence is shown in Figure 18.
If more than 256 bytes are sent to the device, previously latched data are discarded and the
last 256 data bytes are guaranteed to be programmed correctly within the same page. If less
than 256 data bytes are sent to device, they are correctly programmed at the requested
addresses without having any effects on the other bytes of the same page.
For optimized timings, it is recommended to use the Page Program (PP) instruction to
program all consecutive targeted bytes in a single sequence versus using several Page
Program (PP) sequences with each containing only a few bytes (see Table 17: AC
characteristics).
Chip Select (S) must be driven High after the eighth bit of the last data byte has been
latched in, otherwise the Page Program (PP) instruction is not executed.
As soon as Chip Select (S) is driven High, the self-timed Page Program cycle (whose
duration is tPP) is initiated. While the Page Program cycle is in progress, the Status Register
may be read to check the value of the Write In Progress (WIP) bit. The Write In Progress
(WIP) bit is 1 during the self-timed Page Program cycle, and is 0 when it is completed. At
some unspecified time before the cycle is completed, the Write Enable Latch (WEL) bit is
reset.
A Page Program (PP) instruction applied to a page which is protected by the Block Protect
(BP2, BP1, BP0) bits (see Table 3 and Table 4) is not executed.
37/63
Instructions
M25PX32
Figure 18. Page Program (PP) instruction sequence
S
0
1
2
3
4
5
6
7
8
28 29 30 31 32 33 34 35 36 37 38 39
9 10
C
Instruction
24-bit address
23 22 21
DQ0
3
2
Data byte 1
1
0
7
6
5
4
3
2
1
0
MSB
MSB
2078
2079
2077
2076
2075
2074
2073
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
2072
S
1
0
C
Data byte 2
DQ0
7
6
MSB
5
4
3
2
Data byte 3
1
0
7
MSB
6
5
4
3
2
Data byte 256
1
0
7
6
5
4
3
2
MSB
AI13739
1. Address bits A23 to A22 are Don’t care.
38/63
M25PX32
6.12
Instructions
Dual Input Fast Program (DIFP)
The Dual Input Fast Program (DIFP) instruction is very similar to the Page Program (PP)
instruction, except that the data are entered on two pins (pin DQ0 and pin DQ1) instead of
only one. Inputting the data on two pins instead of one doubles the data transfer bandwidth
compared to the Page Program (PP) instruction.
The Dual Input Fast Program (DIFP) instruction is entered by driving Chip Select (S) Low,
followed by the instruction code, three address bytes and at least one data byte on Serial
Data input (DQ0).
If the 8 least significant address bits (A7-A0) are not all zero, all transmitted data that goes
beyond the end of the current page are programmed from the start address of the same
page (from the address whose 8 least significant bits (A7-A0) are all zero). Chip Select (S)
must be driven Low for the entire duration of the sequence.
The instruction sequence is shown in Figure 19.
If more than 256 bytes are sent to the device, previously latched data are discarded and the
last 256 data bytes are guaranteed to be programmed correctly within the same page. If less
than 256 data bytes are sent to device, they are correctly programmed at the requested
addresses without having any effects on the other bytes in the same page.
For optimized timings, it is recommended to use the Dual Input Fast Program (DIFP)
instruction to program all consecutive targeted bytes in a single sequence rather to using
several Dual Input Fast Program (DIFP) sequences each containing only a few bytes (see
Table 17: AC characteristics).
Chip Select (S) must be driven High after the eighth bit of the last data byte has been
latched in, otherwise the Dual Input Fast Program (DIFP) instruction is not executed.
As soon as Chip Select (S) is driven High, the self-timed Page Program cycle (whose
duration is tPP) is initiated. While the Dual Input Fast Program (DIFP) cycle is in progress,
the Status Register may be read to check the value of the Write In Progress (WIP) bit. The
Write In Progress (WIP) bit is 1 during the self-timed Page Program cycle, and 0 when it is
completed. At some unspecified time before the cycle is completed, the Write Enable Latch
(WEL) bit is reset.
A Dual Input Fast Program (DIFP) instruction applied to a page that is protected by the
Block Protect (BP2, BP1, BP0) bits (see Table 2 and Table 3) is not executed.
39/63
Instructions
M25PX32
Figure 19. Dual Input Fast Program (DIFP) instruction sequence
S
0
1
2
3
4
5
6
7
8
9 10
28 29 30 31
C
Instruction
24-bit address
23 22 21
DQ0
3
2
1
0
High Impedance
DQ1
S
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
C
DQ0
6
4
2
0
6
DATA IN 1
DQ1
7
5
MSB
3
4
2
0
DATA IN 2
7
1
MSB
5
3
1
6
4
2
0
6
DATA IN 3
7
5
MSB
3
1
4
2
0
6
DATA IN 4
7
5
MSB
3
1
4
2
0
DATA IN 5
7
5
MSB
3
1
6
4
2
0
DATA IN 256
7
5
3
1
MSB
AI14229
1. A23 to A22 are Don't care.
40/63
M25PX32
6.13
Instructions
Program OTP instruction (POTP)
The Program OTP instruction (POTP) is used to program at most 64 bytes to the OTP
memory area (by changing bits from 1 to 0, only). Before it can be accepted, a Write Enable
(WREN) instruction must previously have been executed. After the Write Enable (WREN)
instruction has been decoded, the device sets the Write Enable Latch (WEL) bit.
The Program OTP instruction is entered by driving Chip Select (S) Low, followed by the
instruction opcode, three address bytes and at least one data byte on Serial Data input
(DQ0).
Chip Select (S) must be driven High after the eighth bit of the last data byte has been
latched in, otherwise the Program OTP instruction is not executed.
There is no rollover mechanism with the Program OTP (POTP) instruction. This means that
the Program OTP (POTP) instruction must be sent with a maximum of 65 bytes to program,
once all 65 bytes have been latched in, any following byte will be discarded.
The instruction sequence is shown in Figure 20.
As soon as Chip Select (S) is driven High, the self-timed Page Program cycle (whose
duration is tPP) is initiated. While the Program OTP cycle is in progress, the Status Register
may be read to check the value of the Write In Progress (WIP) bit. The Write In Progress
(WIP) bit is 1 during the self-timed Program OTP cycle, and it is 0 when it is completed. At
some unspecified time before the cycle is complete, the Write Enable Latch (WEL) bit is
reset.
To lock the OTP memory:
Bit 0 of the OTP control byte, that is byte 64, (see Figure 21) is used to permanently lock the
OTP memory array.
●
When bit 0 of byte 64 = ’1’, the 64 bytes of the OTP memory array can be programmed.
●
When bit 0 of byte 64 = ‘0’, the 64 bytes of the OTP memory array are read-only and
cannot be programmed anymore.
Once a bit of the OTP memory has been programmed to ‘0’, it can no longer be set to ‘1’.
Therefore, as soon as bit 0 of byte 64 (control byte) is set to ‘0’, the 64 bytes of the OTP
memory array become read-only in a permanent way.
Any Program OTP (POTP) instruction issued while an Erase, Program or Write cycle is in
progress is rejected without having any effect on the cycle that is in progress.
41/63
Instructions
M25PX32
Figure 20. Program OTP (POTP) instruction sequence
S
0
1
2
3
4
5
6
7
8
28 29 30 31 32 33 34 35 36 37 38 39
9 10
C
Instruction
24-bit address
23 22 21
DQ0
3
Data byte 1
2
1
0
7
6
5
4
3
2
0
1
MSB
MSB
S
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
C
Data byte 2
DQ0
7
6
5
4
3
MSB
2
Data byte 3
1
0
7
6
5
4
3
2
Data byte n
1
7
0
MSB
6
5
4
3
2
1
0
MSB
AI13575
1. A23 to A7 are Don't care.
2. 1 ≤ n ≤ 65
Figure 21. How to permanently lock the 64 OTP bytes
64 data bytes
OTP Control byte
Byte Byte Byte
0
1
2
Byte Byte
63 64
X
X
X
X
X
X
X
bit 0 When bit 0 = 0
the 64 OTP bytes
become READ only
Bit 1 to bit 7 are NOT
programmable
ai13587
42/63
M25PX32
6.14
Instructions
Write to Lock Register (WRLR)
The Write to Lock Register (WRLR) instruction allows bits to be changed in the Lock
Registers. Before it can be accepted, a Write Enable (WREN) instruction must previously
have been executed. After the Write Enable (WREN) instruction has been decoded, the
device sets the Write Enable Latch (WEL).
The Write to Lock Register (WRLR) instruction is entered by driving Chip Select (S) Low,
followed by the instruction code, three address bytes (pointing to any address in the targeted
sector and one data byte on Serial Data input (DQ0). The instruction sequence is shown in
Figure 22. Chip Select (S) must be driven High after the eighth bit of the data byte has been
latched in, otherwise the Write to Lock Register (WRLR) instruction is not executed.
Lock Register bits are volatile, and therefore do not require time to be written. When the
Write to Lock Register (WRLR) instruction has been successfully executed, the Write
Enable Latch (WEL) bit is reset after a delay time less than tSHSL minimum value.
Any Write to Lock Register (WRLR) instruction, while an Erase, Program or Write cycle is in
progress, is rejected without having any effects on the cycle that is in progress.
Figure 22. Write to Lock Register (WRLR) instruction sequence
S
0
1
2
3
4
5
6
7
8
9 10
28 29 30 31 32 33 34 35 36 37 38 39
C
Instruction
Lock Register
In
24-Bit Address
23 22 21
DQ0
MSB
3
2
1
0
7
6
5
4
3
2
1
0
MSB
AI13740
Table 10.
Lock Register in(1)
Sector
All sectors
Bit
Value
b7-b2
‘0’
b1
Sector Lock Down bit value (refer to Table 9)
b0
Sector Write Lock bit value (refer to Table 9)
1. Values of (b1, b0) after Power-up are defined in Section 7: Power-up and Power-down.
43/63
Instructions
6.15
M25PX32
Subsector Erase (SSE)
The Subsector Erase (SSE) instruction sets to 1 (FFh) all bits inside the chosen subsector.
Before it can be accepted, a Write Enable (WREN) instruction must previously have been
executed. After the Write Enable (WREN) instruction has been decoded, the device sets the
Write Enable Latch (WEL).
The Subsector Erase (SSE) instruction is entered by driving Chip Select (S) Low, followed
by the instruction code, and three address bytes on Serial Data input (DQ0). Any address
inside the Subsector (see Table 4) is a valid address for the Subsector Erase (SSE)
instruction. Chip Select (S) must be driven Low for the entire duration of the sequence.
The instruction sequence is shown in Figure 23.
Chip Select (S) must be driven High after the eighth bit of the last address byte has been
latched in, otherwise the Subsector Erase (SSE) instruction is not executed. As soon as
Chip Select (S) is driven High, the self-timed Subsector Erase cycle (whose duration is tSSE)
is initiated. While the Subsector Erase cycle is in progress, the Status Register may be read
to check the value of the Write In Progress (WIP) bit. The Write In Progress (WIP) bit is 1
during the self-timed Subsector Erase cycle, and is 0 when it is completed. At some
unspecified time before the cycle is complete, the Write Enable Latch (WEL) bit is reset.
A Subsector Erase (SSE) instruction issued to a sector that is hardware or software
protected, is not executed.
Any Subsector Erase (SSE) instruction, while an Erase, Program or Write cycle is in
progress, is rejected without having any effects on the cycle that is in progress.
Figure 23. Subsector Erase (SSE) instruction sequence
S
0
1
2
3
4
5
6
7
8
9
29 30 31
C
Instruction
DQ0
24 Bit Address
23 22
2
1
0
MSB
AI13741
1. Address bits A23 to A22 are Don’t care.
44/63
M25PX32
6.16
Instructions
Sector Erase (SE)
The Sector Erase (SE) instruction sets to 1 (FFh) all bits inside the chosen sector. Before it
can be accepted, a Write Enable (WREN) instruction must previously have been executed.
After the Write Enable (WREN) instruction has been decoded, the device sets the Write
Enable Latch (WEL).
The Sector Erase (SE) instruction is entered by driving Chip Select (S) Low, followed by the
instruction code, and three address bytes on Serial Data input (DQ0). Any address inside
the Sector (see Table 4) is a valid address for the Sector Erase (SE) instruction. Chip Select
(S) must be driven Low for the entire duration of the sequence.
The instruction sequence is shown in Figure 24.
Chip Select (S) must be driven High after the eighth bit of the last address byte has been
latched in, otherwise the Sector Erase (SE) instruction is not executed. As soon as Chip
Select (S) is driven High, the self-timed Sector Erase cycle (whose duration is tSE) is
initiated. While the Sector Erase cycle is in progress, the Status Register may be read to
check the value of the Write In Progress (WIP) bit. The Write In Progress (WIP) bit is 1
during the self-timed Sector Erase cycle, and is 0 when it is completed. At some unspecified
time before the cycle is completed, the Write Enable Latch (WEL) bit is reset.
A Sector Erase (SE) instruction applied to a page which is protected by the Block Protect
(BP2, BP1, BP0) bits (see Table 3 and Table 4) is not executed.
Figure 24. Sector Erase (SE) instruction sequence
S
0
1
2
3
4
5
6
7
8
9
29 30 31
C
Instruction
DQ1
24 Bit Address
23 22
2
1
0
MSB
AI13742
1. Address bits A23 to A22 are Don’t care.
45/63
Instructions
6.17
M25PX32
Bulk Erase (BE)
The Bulk Erase (BE) instruction sets all bits to 1 (FFh). Before it can be accepted, a Write
Enable (WREN) instruction must previously have been executed. After the Write Enable
(WREN) instruction has been decoded, the device sets the Write Enable Latch (WEL).
The Bulk Erase (BE) instruction is entered by driving Chip Select (S) Low, followed by the
instruction code on Serial Data input (DQ0). Chip Select (S) must be driven Low for the
entire duration of the sequence.
The instruction sequence is shown in Figure 25.
Chip Select (S) must be driven High after the eighth bit of the instruction code has been
latched in, otherwise the Bulk Erase instruction is not executed. As soon as Chip Select (S)
is driven High, the self-timed Bulk Erase cycle (whose duration is tBE) is initiated. While the
Bulk Erase cycle is in progress, the Status Register may be read to check the value of the
Write In Progress (WIP) bit. The Write In Progress (WIP) bit is 1 during the self-timed Bulk
Erase cycle, and is 0 when it is completed. At some unspecified time before the cycle is
completed, the Write Enable Latch (WEL) bit is reset.
The Bulk Erase (BE) instruction is executed only if all Block Protect (BP2, BP1, BP0) bits are
0. The Bulk Erase (BE) instruction is ignored if one, or more, sectors are protected.
Figure 25. Bulk Erase (BE) instruction sequence
S
0
1
2
3
4
5
6
7
C
Instruction
DQ0
AI13743
46/63
M25PX32
6.18
Instructions
Deep Power-down (DP)
Executing the Deep Power-down (DP) instruction is the only way to put the device in the
lowest consumption mode (the Deep Power-down mode). It can also be used as a software
protection mechanism, while the device is not in active use, as in this mode, the device
ignores all Write, Program and Erase instructions.
Driving Chip Select (S) High deselects the device, and puts the device in the Standby Power
mode (if there is no internal cycle currently in progress). But this mode is not the Deep
Power-down mode. The Deep Power-down mode can only be entered by executing the
Deep Power-down (DP) instruction, subsequently reducing the standby current (from ICC1 to
ICC2, as specified in Table 16).
To take the device out of Deep Power-down mode, the Release from Deep Power-down
(RDP) instruction must be issued. No other instruction must be issued while the device is in
Deep Power-down mode.
The Deep Power-down mode automatically stops at Power-down, and the device always
Powers-up in the Standby Power mode.
The Deep Power-down (DP) instruction is entered by driving Chip Select (S) Low, followed
by the instruction code on Serial Data input (DQ0). Chip Select (S) must be driven Low for
the entire duration of the sequence.
The instruction sequence is shown in Figure 26.
Chip Select (S) must be driven High after the eighth bit of the instruction code has been
latched in, otherwise the Deep Power-down (DP) instruction is not executed. As soon as
Chip Select (S) is driven High, it requires a delay of tDP before the supply current is reduced
to ICC2 and the Deep Power-down mode is entered.
Any Deep Power-down (DP) instruction, while an Erase, Program or Write cycle is in
progress, is rejected without having any effects on the cycle that is in progress.
Figure 26. Deep Power-down (DP) instruction sequence
S
0
1
2
3
4
5
6
7
tDP
C
Instruction
DQ0
Standby mode
Deep Power-down mode
AI13744
47/63
Instructions
6.19
M25PX32
Release from Deep Power-down (RDP)
Once the device has entered the Deep Power-down mode, all instructions are ignored
except the Release from Deep Power-down (RDP) instruction. Executing this instruction
takes the device out of the Deep Power-down mode.
The Release from Deep Power-down (RDP) instruction is entered by driving Chip Select (S)
Low, followed by the instruction code on Serial Data input (DQ0). Chip Select (S) must be
driven Low for the entire duration of the sequence.
The instruction sequence is shown in Figure 27.
The Release from Deep Power-down (RDP) instruction is terminated by driving Chip Select
(S) High. Sending additional clock cycles on Serial Clock (C), while Chip Select (S) is driven
Low, cause the instruction to be rejected, and not executed.
After Chip Select (S) has been driven High, followed by a delay, tRDP, the device is put in the
Standby mode. Chip Select (S) must remain High at least until this period is over. The
device waits to be selected, so that it can receive, decode and execute instructions.
Any Release from Deep Power-down (RDP) instruction, while an Erase, Program or Write
cycle is in progress, is rejected without having any effects on the cycle that is in progress.
Figure 27. Release from Deep Power-down (RDP) instruction sequence
S
0
1
2
3
4
5
6
7
tRDP
C
Instruction
DQ0
High Impedance
DQ1
Deep Power-down mode
Standby mode
AI13745
48/63
M25PX32
7
Power-up and Power-down
Power-up and Power-down
At Power-up and Power-down, the device must not be selected (that is Chip Select (S) must
follow the voltage applied on VCC) until VCC reaches the correct value:
●
VCC(min) at Power-up, and then for a further delay of tVSL
●
VSS at Power-down
A safe configuration is provided in Section 3: SPI modes.
To avoid data corruption and inadvertent write operations during Power-up, a Power On
Reset (POR) circuit is included. The logic inside the device is held reset while VCC is less
than the Power On Reset (POR) threshold voltage, VWI – all operations are disabled, and
the device does not respond to any instruction.
Moreover, the device ignores all Write Enable (WREN), Page Program (PP), Dual Input Fast
Program (DIFP), Program OTP (POTP), Subsector Erase (SSE), Sector Erase (SE), Bulk
Erase (BE), Write Status Register (WRSR) and Write to Lock Register (WRLR) instructions
until a time delay of tPUW has elapsed after the moment that VCC rises above the VWI
threshold. However, the correct operation of the device is not guaranteed if, by this time, VCC
is still below VCC(min). No Write Status Register, Program or Erase instructions should be
sent until the later of:
●
tPUW after VCC has passed the VWI threshold
●
tVSL after VCC has passed the VCC(min) level
These values are specified in Table 11.
If the time, tVSL, has elapsed, after VCC rises above VCC(min), the device can be selected for
READ instructions even if the tPUW delay has not yet fully elapsed.
After Power-up, the device is in the following state:
●
The device is in the Standby Power mode (not the Deep Power-down mode).
●
The Write Enable Latch (WEL) bit is reset.
●
The Write In Progress (WIP) bit is reset.
●
The Lock Registers are configured as: (Write Lock bit, Lock Down bit) = (0,0)
Normal precautions must be taken for supply line decoupling, to stabilize the VCC supply.
Each device in a system should have the VCC line decoupled by a suitable capacitor close to
the package pins (generally, this capacitor is of the order of 100 nF).
At Power-down, when VCC drops from the operating voltage, to below the Power On Reset
(POR) threshold voltage, VWI, all operations are disabled and the device does not respond
to any instruction. (The designer needs to be aware that if Power-down occurs while a Write,
Program or Erase cycle is in progress, some data corruption may result.)
●
VPPH must be applied only when VCC is stable and in the VCCmin to VCCmax voltage
range.
49/63
Power-up and Power-down
M25PX32
Figure 28. Power-up timing
VCC
VCC(max)
Program, Erase and Write commands are rejected by the device
Chip Selection not allowed
VCC(min)
tVSL
Reset state
of the
device
Read Access allowed
Device fully
accessible
VWI
tPUW
time
AI04009C
Table 11.
Power-up timing and VWI threshold
Symbol
Parameter
Max.
Unit
tVSL(1)
VCC(min) to S low
30
tPUW(1)
Time delay to write instruction
1
10
ms
VWI(1)
Write Inhibit voltage
1.5
2.5
V
1. These parameters are characterized only.
50/63
Min.
µs
M25PX32
8
Initial delivery state
Initial delivery state
The device is delivered with the memory array erased: all bits are set to 1 (each byte
contains FFh). The Status Register contains 00h (all Status Register bits are 0).
9
Maximum rating
Stressing the device outside the ratings listed in Table 12: Absolute maximum ratings may
cause permanent damage to the device. These are stress ratings only, and operation of the
device at these, or any other conditions outside those indicated in the operating sections of
this specification, is not implied. Exposure to absolute maximum rating conditions for
extended periods may affect device reliability. Refer also to the STMicroelectronics SURE
Program and other relevant quality documents.
Table 12.
Absolute maximum ratings
Symbol
Parameter
TSTG
Storage temperature
TLEAD
Lead temperature during soldering
Min.
Max.
Unit
–65
150
°C
see(1)
°C
VIO
Input and output voltage (with respect to ground)
–0.6
VCC+0.6
V
VCC
Supply voltage
–0.6
4.0
V
VPP
Fast Program/Erase voltage
–0.2
10.0
V
VESD
Electrostatic discharge voltage (Human Body model)(2)
–2000
2000
V
1. Compliant with JEDEC Std J-STD-020C (for small body, Sn-Pb or Pb assembly), the ST ECOPACK®
7191395 specification, and the European directive on Restrictions on Hazardous Substances (RoHS)
2002/95/EU.
2. JEDEC Std JESD22-A114A (C1 = 100 pF, R1 = 1500 Ω, R2 = 500 Ω).
51/63
DC and AC parameters
10
M25PX32
DC and AC parameters
This section summarizes the operating and measurement conditions, and the DC and AC
characteristics of the device. The parameters in the DC and AC Characteristic tables that
follow are derived from tests performed under the measurement conditions summarized in
the relevant tables. Designers should check that the operating conditions in their circuit
match the measurement conditions when relying on the quoted parameters.
Table 13.
Operating conditions
Symbol
Parameter
Min.
Typ.
Max.
Unit
VCC
Supply voltage
2.7
3.6
V
VPPH
Supply voltage on VPP pin for Fast Bulk Erase mode
8.5
9.5
V
Ambient operating temperature
–40
85
°C
Ambient operating temperature for Fast Bulk Erase
mode
15
35
°C
TA
TAVPP
Table 14.
AC measurement conditions
Symbol
CL
25
Parameter
Min.
Load capacitance
Max.
Unit
30
pF
Input rise and fall times
5
ns
Input pulse voltages
0.2VCC to 0.8VCC
V
Input timing reference voltages
0.3VCC to 0.7VCC
V
VCC / 2
V
Output timing reference voltages
1. Output Hi-Z is defined as the point where data out is no longer driven.
Figure 29. AC measurement I/O waveform
Input levels
Input and output
timing reference levels
0.8VCC
0.7VCC
0.5VCC
0.3VCC
0.2VCC
AI07455
Table 15.
Symbol
CIN/OUT
CIN
Capacitance(1)
Parameter
Input/output capacitance (DQ0/DQ1)
Input capacitance (other pins)
Test condition
Max.
Unit
VOUT = 0 V
8
pF
VIN = 0 V
6
pF
1. Sampled only, not 100% tested, at TA=25 °C and a frequency of 20 MHz.
52/63
Min.
M25PX32
DC and AC parameters
Table 16.
DC characteristics
Symbol
Parameter
Test condition (in addition
to those in Table 13)
Min.
Max.
Unit
ILI
Input leakage current
±2
µA
ILO
Output leakage current
±2
µA
ICC1
Standby current
S = VCC, VIN = VSS or VCC
50
µA
ICC2
Deep Power-down current
S = VCC, VIN = VSS or VCC
10
µA
C = 0.1VCC / 0.9VCC at
75 MHz, DQ1 = open
12
mA
C = 0.1VCC / 0.9VCC at
33 MHz, DQ1 = open
4
mA
C = 0.1VCC / 0.9VCC at
75 MHz, DQ1 = open
15
mA
Operating current (PP)
S = VCC
15
mA
Operating current (DIFP)
S = VCC
15
mA
ICC5
Operating current (WRSR)
S = VCC
15
mA
ICC6
Operating current (SE)
S = VCC
15
mA
ICC7
Operating current (BE)
S = VCC
15
mA
Operating current for Fast
Bulk Erase mode
S = VCC, VPP = VPPH
20
mA
IPP
VPP operating current in Fast
Bulk Erase mode
S = VCC, VPP = VPPH
20
mA
VIL
Input low voltage
– 0.5
0.3VCC
V
VIH
Input high voltage
0.7VCC
VCC+0.4
V
VOL
Output low voltage
IOL = 1.6 mA
0.4
V
VOH
Output high voltage
IOH = –100 µA
Operating current (READ)
ICC3
Operating current (DOFR)
ICC4
ICCPP
VCC–0.2
V
53/63
DC and AC parameters
Table 17.
M25PX32
AC characteristics(1)
Test conditions specified in Table 13 and Table 14
Symbol
fC
D.C.
75
MHz
D.C.
33
MHz
Min.
fC
Clock frequency for the following
instructions: DOFR, DIFP, FAST_READ,
SSE, SE, BE, DP, WREN, WRDI, RDID,
RDSR, WRSR, ROTP, PP, POTP, WRLR,
RDLR, RDP
Clock frequency for READ instructions
tCH(3)
tCLH Clock High time
6
ns
tCL(2)
tCLL Clock Low time
6
ns
0.1
V/ns
0.1
V/ns
5
ns
5
ns
tCLCH(4)
tCHCL
Clock rise time(5) (peak to peak)
(4)
tSLCH
Clock fall
time(5)
(peak to peak)
tCSS S active setup time (relative to C)
tCHSL
S not active hold time (relative to C)
tDVCH
tDSU Data In setup time
2
ns
tCHDX
tDH
Data In hold time
5
ns
tCHSH
S active hold time (relative to C)
5
ns
tSHCH
S not active setup time (relative to C)
5
ns
100
ns
tSHSL
tSHQZ
(4)
tCSH S deselect time
tDIS
tCLQV
tV
tCLQX
tHO
Output Disable time
8
ns
Clock Low to Output valid under 30 pF
8
ns
Clock Low to Output valid under 10 pF
6
ns
Output hold time
0
ns
tHLCH
HOLD setup time (relative to C)
5
ns
tCHHH
HOLD hold time (relative to C)
5
ns
tHHCH
HOLD setup time (relative to C)
5
ns
tCHHL
HOLD hold time (relative to C)
5
ns
tHHQX(4)
tLZ
HOLD to Output Low-Z
8
ns
tHLQZ(4)
tHZ
HOLD to Output High-Z
8
ns
tWHSL
(6)
tSHWL(6)
tVPPHSL(7)
54/63
Unit
Parameter
fR
Typ.(2)
Max.
Alt.
Write Protect setup time
20
ns
Write Protect hold time
100
ns
Enhanced Program supply voltage High
(VPPH) to Chip Select Low
200
ns
tDP(4)
S High to Deep Power-down mode
3
µs
tRDP(4)
S High to Standby mode
30
µs
M25PX32
DC and AC parameters
Table 17.
AC characteristics(1) (continued)
Test conditions specified in Table 13 and Table 14
Symbol
Typ.(2)
Max.
Unit
Write Status Register cycle time
1.3
15
ms
Page Program cycle time (256 bytes)
0.8
Alt.
Parameter
tW
Min.
ms
Page Program cycle time (n bytes)
int(n/8) × 0.025(9)
Program OTP cycle time (64 bytes)
0.2
tSSE
Subsector Erase cycle time
70
150
ms
tSE
Sector Erase cycle time
1
3
s
Bulk Erase cycle time
34
80
s
Bulk Erase cycle time (VPP = VPPH)
17
tPP(8)
tBE
5
ms
1. Preliminary data.
2. Typical values given for TA = 25° C.
3. tCH + tCL must be greater than or equal to 1/ fC
4. Value guaranteed by characterization, not 100% tested in production.
5. Expressed as a slew-rate.
6. Only applicable as a constraint for a WRSR instruction when SRWD is set at 1.
7. VPPH should be kept at a valid level until the program or erase operation has completed and its result
(success or failure) is known.
8. When using the Page Program (PP) instruction to program consecutive bytes, optimized timings are
obtained with one sequence including all the bytes versus several sequences of only a few bytes. (1 ≤ n ≤
256)
9. int(A) corresponds to the upper integer part of A. E.g. int(12/8) = 2, int(32/8) = 4 int(15.3) =16.
Figure 30. Serial input timing
tSHSL
S
tCHSL
tSLCH
tCHSH
tSHCH
C
tDVCH
tCHCL
tCHDX
DQ0
DQ1
MSB IN
tCLCH
LSB IN
High Impedance
AI13728
55/63
DC and AC parameters
M25PX32
Figure 31. Write Protect Setup and Hold timing during WRSR when SRWD=1
W/VPP
tSHWL
tWHSL
S
C
DQ0
High Impedance
DQ1
AI07439c
Figure 32. Hold timing
S
tHLCH
tCHHL
tHHCH
C
tCHHH
tHLQZ
tHHQX
DQ1
DQ0
HOLD
AI13746
56/63
M25PX32
DC and AC parameters
Figure 33. Output timing
S
tCH
C
tCLQV
tCLQX
tCLQV
tCL
tSHQZ
tCLQX
LSB OUT
DQ1
tQLQH
tQHQL
ADDR.
DQ0 LSB IN
AI13729
Figure 34. VPPH timing
End of BE
(identified by WIP polling)
S
C
DQ0
BE
VPPH
VPP
tVPPHSL
ai13726
57/63
Package mechanical
11
M25PX32
Package mechanical
Figure 35. VFQFPN8 (MLP8) 8-lead very thin fine pitch quad flat package no lead,
6 × 5 mm, package outline
A
D
aaa C A
R1
D1
E1
E2
e
bbb
E
M C A B
B
2x
b
aaa C B
0.10 C B
0.10 C A
D2
θ
L
A2
ddd
A
C
A1 A3
70-ME
1. Drawing is not to scale.
Table 18.
VFQFPN8 (MLP8) 8-lead very thin fine pitch quad flat package no lead,
6 × 5 mm, package mechanical data
millimeters
inches
Symbol
A
Typ
Min
Max
Typ
Min
Max
0.85
0.80
1.00
0.0335
0.0315
0.0394
0.00
0.05
0.0000
0.0020
0.0138
0.0189
0.1260
0.1417
A1
58/63
A2
0.65
0.0256
A3
0.20
0.0079
b
0.40
D
6.00
0.2362
D1
5.75
0.2264
D2
3.40
E
5.00
0.1969
E1
4.75
0.1870
E2
4.00
3.80
4.30
0.1575
0.1496
0.1693
e
1.27
–
–
0.0500
–
–
R1
0.10
0.00
0.0039
0.0000
L
0.60
0.50
0.0236
0.0197
0.35
3.20
0.48
3.60
0.75
0.0157
0.1339
0.0295
Θ
12°
12°
aaa
0.15
0.0059
bbb
0.10
0.0039
ddd
0.05
0.0020
M25PX32
Package mechanical
Figure 36. SO8W 8 lead plastic small outline, 208 mils body width, package outline
A2
A
c
b
CP
e
D
N
E E1
1
A1
k
L
6L_ME
1. Drawing is not to scale.
Table 19.
SO8W 8 lead plastic small outline, 208 mils body width, package
mechanical data
millimeters
inches
Symbol
Typ
Min
A
Max
Typ
Min
2.50
Max
0.098
A1
0.00
0.25
0.000
0.010
A2
1.51
2.00
0.059
0.079
b
0.40
0.35
0.51
0.016
0.014
0.020
c
0.20
0.10
0.35
0.008
0.004
0.014
CP
0.10
0.004
D
6.05
0.238
E
5.02
6.22
0.198
0.245
E1
7.62
8.89
0.300
0.350
–
–
–
–
k
0°
10°
0°
10°
L
0.50
0.80
0.020
0.031
N
8
e
1.27
0.050
8
59/63
Package mechanical
M25PX32
Figure 37. SO16 wide - 16-lead plastic small outline, 300 mils body width, package
outline
D
h x 45˚
16
9
C
E
1
θ
8
A2
B
H
A1
A
L
ddd
e
SO-H
1. Drawing is not to scale.
Table 20.
SO16 wide - 16-lead plastic small outline, 300 mils body width,
mechanical data
millimeters
inches
Symbol
Typ
Min
Max
A
2.35
A1
Min
Max
2.65
0.093
0.104
0.10
0.30
0.004
0.012
B
0.33
0.51
0.013
0.020
C
0.23
0.32
0.009
0.013
D
10.10
10.50
0.398
0.413
E
7.40
7.60
0.291
0.299
–
–
–
–
H
10.00
10.65
0.394
0.419
h
0.25
0.75
0.010
0.030
L
0.40
1.27
0.016
0.050
θ
0°
8°
0°
8°
e
ddd
60/63
1.27
0.10
Typ
0.050
0.004
M25PX32
12
Part numbering
Part numbering
Table 21.
Ordering information scheme
Example:
M25PX32 –
V MW 6 E
Device type
M25PX = serial Flash memory, 4-Kbyte and 64-Kbyte
erasable sectors, dual input/output
Device function
32 = 32 Mbit (4 Mb × 8)
Operating voltage
V = VCC = 2.7 V to 3.6 V
Package
MW = SO8W (208 mils width)
MF = SO16 (300 mils width)
MP = VFQFPN 6 × 5 mm (MLP8)
Device grade
6 = Industrial temperature range, –40 to 85 °C.
Device tested with standard test flow
Option
E = Standard Packing ECOPACK® (RoHS compliant)
F = Tape & Reel Packing ECOPACK® (RoHS compliant)
Note:
Note:
For a list of available options (speed, package, etc.) or for further information on any aspect
of this device, please contact your nearest ST Sales Office.
1
Secure options are available on customer requests. For example, main sectors can be
configured as OTP protected areas and the memory can be protected during power-up.
The category of second Level Interconnect is marked on the package and on the inner box
label, in compliance with JEDEC Standard JESD97. The maximum ratings related to
soldering conditions are also marked on the inner box label.
61/63
Revision history
13
M25PX32
Revision history
Table 22.
62/63
Document revision history
Date
Revision
19-Dec-2006
0.1
Changes
Initial release.
31-Jul-2007
1
Document status promoted from Target Specification to Preliminary Data.
Added the SO16 (MF) package.
Added specific hardware protection (see Section 4.8.2: Specific hardware
and software protection).
Modified the RDID instruction (see Section 6.3: Read Identification
(RDID)).
20-Aug-2007
2
Updated the typical value for the Deep Power-down current (ICC2).
Modified Lock Registers’ configuration in Section 7: Power-up and Powerdown.
M25PX32
Please Read Carefully:
Information in this document is provided solely in connection with ST products. STMicroelectronics NV and its subsidiaries (“ST”) reserve the
right to make changes, corrections, modifications or improvements, to this document, and the products and services described herein at any
time, without notice.
All ST products are sold pursuant to ST’s terms and conditions of sale.
Purchasers are solely responsible for the choice, selection and use of the ST products and services described herein, and ST assumes no
liability whatsoever relating to the choice, selection or use of the ST products and services described herein.
No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted under this document. If any part of this
document refers to any third party products or services it shall not be deemed a license grant by ST for the use of such third party products
or services, or any intellectual property contained therein or considered as a warranty covering the use in any manner whatsoever of such
third party products or services or any intellectual property contained therein.
UNLESS OTHERWISE SET FORTH IN ST’S TERMS AND CONDITIONS OF SALE ST DISCLAIMS ANY EXPRESS OR IMPLIED
WARRANTY WITH RESPECT TO THE USE AND/OR SALE OF ST PRODUCTS INCLUDING WITHOUT LIMITATION IMPLIED
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE (AND THEIR EQUIVALENTS UNDER THE LAWS
OF ANY JURISDICTION), OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
UNLESS EXPRESSLY APPROVED IN WRITING BY AN AUTHORIZED ST REPRESENTATIVE, ST PRODUCTS ARE NOT
RECOMMENDED, AUTHORIZED OR WARRANTED FOR USE IN MILITARY, AIR CRAFT, SPACE, LIFE SAVING, OR LIFE SUSTAINING
APPLICATIONS, NOR IN PRODUCTS OR SYSTEMS WHERE FAILURE OR MALFUNCTION MAY RESULT IN PERSONAL INJURY,
DEATH, OR SEVERE PROPERTY OR ENVIRONMENTAL DAMAGE. ST PRODUCTS WHICH ARE NOT SPECIFIED AS "AUTOMOTIVE
GRADE" MAY ONLY BE USED IN AUTOMOTIVE APPLICATIONS AT USER’S OWN RISK.
Resale of ST products with provisions different from the statements and/or technical features set forth in this document shall immediately void
any warranty granted by ST for the ST product or service described herein and shall not create or extend in any manner whatsoever, any
liability of ST.
ST and the ST logo are trademarks or registered trademarks of ST in various countries.
Information in this document supersedes and replaces all information previously supplied.
The ST logo is a registered trademark of STMicroelectronics. All other names are the property of their respective owners.
© 2007 STMicroelectronics - All rights reserved
STMicroelectronics group of companies
Australia - Belgium - Brazil - Canada - China - Czech Republic - Finland - France - Germany - Hong Kong - India - Israel - Italy - Japan Malaysia - Malta - Morocco - Singapore - Spain - Sweden - Switzerland - United Kingdom - United States of America
www.st.com
63/63