M25PE16 16 Mbit, low-voltage, Page-Erasable Serial Flash memory with byte-alterability, 50 MHz SPI bus, standard pinout Features ■ SPI bus compatible Serial interface ■ 16-Mbit Page-Erasable Flash memory ■ Page size: 256 bytes – Page Write in 11 ms (typical) – Page Program in 0.8 ms (typical) – Page Erase in 10 ms (typical) ■ SubSector Erase (4 Kbytes) ■ Sector Erase (64 Kbytes) ■ Bulk Erase (16 Mbits) ■ 2.7 V to 3.6 V single supply voltage ■ 50 MHz clock rate (maximum) ■ Deep Power-down mode 1 µA (typical) ■ Electronic Signature – JEDEC standard two-byte signature (8015h) ■ Software Write Protection on a 64 KByte Sector basis ■ Hardware Write Protection of the memory area selected using the BP0, BP1 and BP2 bits ■ More than 100 000 Write cycles ■ More than 20 year data retention ■ Packages – ECOPACK® (RoHS compliant) April 2007 VFQFPN8 (MP) 6 x 5mm (MLP8) SO8W (MW) 208 mils width Rev 4 1/56 www.st.com 1 Contents M25PE16 Contents 1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 Signal description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.1 Serial Data Output (Q) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2 Serial Data Input (D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 Serial Clock (C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.4 Chip Select (S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.5 Reset (RESET) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.6 Write Protect (W) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.7 VCC supply voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.8 VSS ground . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3 SPI modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4 Operating features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.1 Sharing the overhead of modifying data . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.2 An easy way to modify data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.3 A fast way to modify data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.4 Polling during a Write, Program or Erase cycle . . . . . . . . . . . . . . . . . . . . 13 4.5 Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.6 Active Power, Standby Power and Deep Power-Down modes . . . . . . . . . 13 4.7 Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.8 Protection modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.8.1 Protocol-related protections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.8.2 Specific Hardware and Software protections . . . . . . . . . . . . . . . . . . . . . 15 5 Memory organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 6 Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2/56 6.1 Write Enable (WREN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 6.2 Write Disable (WRDI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6.3 Read Identification (RDID) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 M25PE16 Contents 6.4 Read Status Register (RDSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 6.4.1 WIP bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 6.4.2 WEL bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 6.4.3 BP2, BP1, BP0 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 6.4.4 SRWD bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 6.5 Write Status Register (WRSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 6.6 Read Data Bytes (READ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 6.7 Read Data Bytes at Higher Speed (FAST_READ) . . . . . . . . . . . . . . . . . . 30 6.8 Read Lock Register (RDLR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 6.9 Page Write (PW) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 6.10 Page Program (PP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 6.11 Write to Lock Register (WRLR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 6.12 Page Erase (PE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 6.13 Sector Erase (SE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 6.14 SubSector Erase (SSE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 6.15 Bulk Erase (BE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 6.16 Deep Power-down (DP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 6.17 Release from Deep Power-down (RDP) . . . . . . . . . . . . . . . . . . . . . . . . . . 42 7 Power-up and Power-down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 8 Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 9 Initial delivery state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 10 Maximum rating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 11 DC and AC parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 12 Package mechanical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 13 Part numbering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 14 Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3/56 List of tables M25PE16 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. Table 23. Table 24. 4/56 Signal names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Software protection truth table (Sectors 0 to 31, 64 Kbyte granularity) . . . . . . . . . . . . . . . 15 Protected area sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Memory organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Instruction set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Read Identification (RDID) data-out sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Status Register format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Protection modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Lock Register out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Lock Register in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Power-Up timing and VWI threshold. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Device status after a RESET Low pulse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Operating conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 AC measurement conditions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Capacitance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 DC characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 AC characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Reset conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Timings after a RESET Low pulse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 VFQFPN8 (MLP8) 8-lead Very thin Fine Pitch Quad Flat Package No lead, 6 × 5 mm, package mechanical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 SO8 wide – 8 lead Plastic Small Outline, 208 mils body width, mechanical data. . . . . . . . 53 Ordering Information Scheme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 M25PE16 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. Logic diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 VFQFPN and SO connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Bus Master and memory devices on the SPI Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 SPI modes supported . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Write Enable (WREN) instruction sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Write Disable (WRDI) instruction sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Read Identification (RDID) instruction sequence and data-out sequence . . . . . . . . . . . . . 24 Read Status Register (RDSR) instruction sequence and data-out sequence . . . . . . . . . . 26 Write Status Register (WRSR) instruction sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Read Data Bytes (READ) instruction sequence and data-out sequence . . . . . . . . . . . . . . 29 Read Data Bytes at Higher Speed (FAST_READ) instruction sequence and data-out sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Read Lock Register (RDLR) instruction sequence and data-out sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Page Write (PW) instruction sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Page Program (PP) instruction sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Write to Lock Register (WRLR) instruction sequence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Page Erase (PE) instruction sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Sector Erase (SE) instruction sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 SubSector Erase (SSE) instruction sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Bulk Erase (BE) instruction sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Deep Power-down (DP) instruction sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Release from Deep Power-down (RDP) instruction sequence . . . . . . . . . . . . . . . . . . . . . . 42 Power-up timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 AC measurement I/O waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Serial input timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Write Protect setup and hold timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Output timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Reset AC waveforms while a program or erase cycle is in progress . . . . . . . . . . . . . . . . . 51 VFQFPN8 (MLP8) 8-lead Very thin Dual Flat Package No lead, 6 × 5mm, package outline. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 SO8 wide – 8 lead Plastic Small Outline, 208 mils body width, package outline . . . . . . . . 53 5/56 Description 1 M25PE16 Description The M25PE16 is a 16 Mbit (2 Mb × 8) Serial Paged Flash memory accessed by a high speed SPI-compatible bus. The memory can be written or programmed 1 to 256 Bytes at a time, using the Page Write or Page Program instruction. The Page Write instruction consists of an integrated Page Erase cycle followed by a Page Program cycle. The memory is organized as 32 sectors that are further divided up into 16 subsectors each (512 subsectors in total). Each sector contains 256 pages and each subsector contains 16 pages. Each page is 256 Bytes wide. Thus, the whole memory can be viewed as consisting of 8192 pages, or 2,097,152 Bytes. The memory can be erased a page at a time, using the Page Erase instruction, a subsector at a time, using the SubSector Erase instruction, a sector at a time, using the Sector Erase instruction, or as a whole, using the Bulk Erase instruction. The memory can be Write Protected by either Hardware or Software using mixed volatile and non-volatile protection features, depending on the application needs. The protection granularity is of 64 Kbytes (sector granularity). In order to meet environmental requirements, ST offers these devices in ECOPACK® packages. ECOPACK® packages are Lead-free and RoHS compliant. ECOPACK is an ST trademark. ECOPACK specifications are available at: www.st.com. 6/56 M25PE16 Description Figure 1. Logic diagram VCC D Q C S M25PE16 W RESET VSS AI12343c Table 1. Signal names C Serial Clock D Serial Data Input Q Serial Data Output S Chip Select W Write Protect RESET Reset VCC Supply Voltage VSS Ground Figure 2. VFQFPN and SO connections M25PE16 S Q W VSS 1 2 3 4 8 7 6 5 VCC RESET C D AI12344c 1. There is an exposed die paddle on the underside of the MLP8 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 Section 12: Package mechanical for package dimensions, and how to identify pin-1. 7/56 Signal description 2 Signal description 2.1 Serial Data Output (Q) M25PE16 This output signal is used to transfer data serially out of the device. Data is shifted out on the falling edge of Serial Clock (C). 2.2 Serial Data Input (D) 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). 2.3 Serial Clock (C) This input signal provides the timing of the serial interface. Instructions, addresses, or data present at Serial Data Input (D) are latched on the rising edge of Serial Clock (C). Data on Serial Data Output (Q) 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 (Q) is at high impedance. Unless an internal Read, Program, Erase or Write cycle is in progress, the device will be in the Standby mode (this is not the Deep Power-down mode). Driving Chip Select (S) Low selects 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 Reset (RESET) The Reset (RESET) input provides a hardware reset for the memory. When Reset (RESET) is driven High, the memory is in the normal operating mode. When Reset (RESET) is driven Low, the memory will enter the Reset mode. In this mode, the output is high impedance. Driving Reset (RESET) Low while an internal operation is in progress will affect this operation (write, program or erase cycle) and data may be lost. See Table 12 for the status of the device after a RESET Low pulse. 2.6 Write Protect (W) The Write Protect (W) input is used to freeze the size of the area of memory that is protected against write, program and erase instructions (as specified by the values in the BP2, BP1 and BP0 bits of the Status Register). See Section 6.4: Read Status Register (RDSR). 8/56 M25PE16 2.7 Signal description VCC supply voltage VCC is the supply voltage. 2.8 VSS ground VSS is the reference for the VCC supply voltage. 9/56 SPI modes 3 M25PE16 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 4, is the clock polarity when the bus master is in Stand-by mode and not transferring data: ● C remains at 0 for (CPOL=0, CPHA=0) ● C remains at 1 for (CPOL=1, CPHA=1) Figure 3. 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 Q D VSS SPI Bus Master SPI Memory Device R CS3 VCC C Q D VCC C Q D VSS SPI Memory Device R VSS SPI Memory Device R CS2 CS1 S W RESET S W RESET S W RESET AI12836c 1. The Write Protect (W) and Reset (RESET) 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 (Q) line at a time, the other devices are high impedance. The pull-up resistor R (represented in Figure 4) ensures that no device is selected if the Bus Master leaves the S line in the high impedance state. In applications where the Bus Master might enter a state where all inputs/outputs SPI lines are in high impedance at the same time (for example, if the Bus Master is reset during the transmission of an instruction), the clock line (C) must be connected to an external pulldown resistor so that, if all inputs/outputs become high impedance, the C line is pulled Low (while the S line is pulled High). This ensures that S and C do not become High at the same time, and so, that the tSHCH requirement is met. 10/56 M25PE16 SPI modes The typical value of R is 100 kΩ, assuming that the time constant R*Cp (Cp = parasitic capacitance of the bus line) is short enough, as the S and C lines must reach the correct state (S = High and C = Low) while the SPI bus is in high impedance. 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 4. SPI modes supported CPOL CPHA 0 0 C 1 1 C D Q MSB MSB AI01438B 11/56 Operating features 4 Operating features 4.1 Sharing the overhead of modifying data M25PE16 To write or program one (or more) data Bytes, two instructions are required: Write Enable (WREN), which is one Byte, and a Page Write (PW) or Page Program (PP) sequence, which consists of four Bytes plus data. This is followed by the internal cycle (of duration tPW or tPP). To share this overhead, the Page Write (PW) or Page Program (PP) instruction allows up to 256 Bytes to be programmed (changing bits from 1 to 0) or written (changing bits to 0 or 1) at a time, provided that they lie in consecutive addresses on the same page of memory. 4.2 An easy way to modify data The Page Write (PW) instruction provides a convenient way of modifying data (up to 256 contiguous Bytes at a time), and simply requires the start address, and the new data in the instruction sequence. The Page Write (PW) instruction is entered by driving Chip Select (S) Low, and then transmitting the instruction Byte, three address Bytes (A23-A0) and at least one data Byte, and then driving Chip Select (S) High. While Chip Select (S) is being held Low, the data Bytes are written to the data buffer, starting at the address given in the third address Byte (A7-A0). When Chip Select (S) is driven High, the Write cycle starts. The remaining, unchanged, Bytes of the data buffer are automatically loaded with the values of the corresponding Bytes of the addressed memory page. The addressed memory page then automatically put into an Erase cycle. Finally, the addressed memory page is programmed with the contents of the data buffer. All of this buffer management is handled internally, and is transparent to the user. The user is given the facility of being able to alter the contents of the memory on a Byte-by-Byte basis. For optimized timings, it is recommended to use the Page Write (PW) instruction to write all consecutive targeted Bytes in a single sequence versus using several Page Write (PW) sequences with each containing only a few Bytes (see Section 6.9: Page Write (PW) and Table 18: AC characteristics). 12/56 M25PE16 4.3 Operating features A fast way to modify data The Page Program (PP) instruction provides a fast way of modifying data (up to 256 contiguous Bytes at a time), provided that it only involves resetting bits to 0 that had previously been set to 1. This might be: ● when the designer is programming the device for the first time ● when the designer knows that the page has already been erased by an earlier Page Erase (PE), SubSector Erase (SSE), Sector Erase (SE) or Bulk Erase (BE) instruction. This is useful, for example, when storing a fast stream of data, having first performed the erase cycle when time was available ● when the designer knows that the only changes involve resetting bits to 0 that are still set to 1. When this method is possible, it has the additional advantage of minimizing the number of unnecessary erase operations, and the extra stress incurred by each 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 Section 6.10: Page Program (PP) and Table 18: AC characteristics). 4.4 Polling during a Write, Program or Erase cycle A further improvement in the time to write (PW, WRSR), program (PP) or erase (SE, SSE or BE) can be achieved by not waiting for the worst case delay (tW, tPW, tPP, tPE, tSE, tSSE 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 cycle is complete. 4.5 Reset An internal Power-On Reset circuit helps protect against inadvertent data writes. Addition protection is provided by driving Reset (RESET) Low during the Power-on process, and only driving it High when VCC has reached the correct voltage level, VCC(min). 4.6 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). 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. When in this mode, only the Release from Deep Power-down instruction is accepted. All other instructions are ignored. The device remains in the Deep Power-down mode until the Release from Deep Power-down instruction is executed. 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. 13/56 Operating features 4.7 M25PE16 Status Register The Status Register contains a number of status and control bits that can be read or set (as appropriate) by using specific instructions. See Section 6.4: Read Status Register (RDSR) for a detailed description of the Status Register bits. 4.8 Protection modes 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 and to meet the needs of modularized applications, the M25PE16 features the following flexible data protection mechanisms: 4.8.1 Protocol-related protections ● 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 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: – 14/56 Power-up – Reset (RESET) driven Low – Write Disable (WRDI) instruction completion – Page Write (PW) instruction completion – Write Status Register (WRSR) instruction completion – Page Program (PP) instruction completion – Write to Lock Register (WRLR) instruction completion – Page Erase (PE) instruction completion – SubSector Erase (SSE) instruction completion – Sector Erase (SE) instruction completion – Bulk Erase (BE) instruction completion ● The Reset (RESET) signal can be driven Low to freeze and reset the internal logic. For the specific cases of Program and Write cycles, the designer should refer to Section 6.5: Write Status Register (WRSR), Section 6.9: Page Write (PW), Section 6.10: Page Program (PP), Section 6.12: Page Erase (PE), Section 6.13: Sector Erase (SE) and Section 6.14: SubSector Erase (SSE), and to Table 12: Device status after a RESET Low pulse. ● In addition to the low power consumption feature, the Deep Power-down mode offers extra software protection from inadvertent Write, Program and Erase instructions while the device is not in active use. M25PE16 4.8.2 Operating features Specific Hardware and Software protections There are two Software Protected modes, SPM1 and SPM2, that can be combined to protect the memory array as required. The SPM2 can be Hardware protected 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, ‘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 reset, or power-up, 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 Write Lock Bit and the Lock Down Bit are volatile and their value is reset to ‘0’ after a Power-Down or a Reset (see Table 12: Device status after a RESET Low pulse). The definition of the Lock Register bits is given in Table 9: Lock Register out. Table 2. Software protection truth table (Sectors 0 to 31, 64 Kbyte granularity) Sector Lock Register Protection Status 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 Reset or Power-up. 1 1 Sector Protected from Program/Erase/Write operations, Sector Protection Status cannot be changed except by a Reset or Power-up. 15/56 Operating features M25PE16 The second Software Protected mode (SPM2) uses the Block Protect (BP2, BP1, BP0, see Section 6.4.3)) bits to allow part of the memory to be configured as read-only. ● Table 3. Protected area sizes Status Register Content Memory content BP2 BP1 BP0 Bit Bit Bit Protected Area Unprotected Area 0 0 0 none All sectors(1) (32 sectors: 0 to 31) 0 0 1 Upper 32nd (Sector 31) Lower 31st/32nd (31 sectors: 0 to 30) 0 1 0 Upper sixteenth (two sectors: 30 and 31) Lower 15/16ths (30 sectors: 0 to 29) 0 1 1 Upper eighth (four sectors: 28 to 31) Lower seven-eighths (28 sectors: 0 to 27) 1 0 0 Upper quarter (eight sectors: 24 to 31) Lower three-quarters (24 sectors: 0 to 23) 1 0 1 Upper half (sixteen sectors: 16 to 31) Lower half (16 sectors: 0 to 15) 1 1 0 All sectors (32 sectors: 0 to 31) none 1 1 1 All sectors (32 sectors: 0 to 31) none 1. The device is ready to accept a Bulk Erase instruction if, and only if, all Block Protect (BP2, BP1, BP0) are 0. 16/56 M25PE16 Memory organization The memory is organized as: ● 8192 pages (256 Bytes each). ● 2,097,152 Bytes (8 bits each) ● 32 sectors (512 Kbits, 65536 Bytes each) ● 512 subsectors (32 Kbits, 4096 Bytes each) Each page can be individually: ● programmed (bits are programmed from 1 to 0) ● erased (bits are erased from 0 to 1) ● written (bits are changed to either 0 or 1) The device is Page, Sector or Bulk Erasable (bits are erased from 0 to 1). Memory organization ... ... ... ... 368 170000h 170FFFh 1EFFFFh 367 16F000h 16FFFFh ... 160000h 160FFFh 479 1DF000h 1DFFFFh 351 15F000h 15FFFFh 21 ... ... 352 ... ... 1E0FFFh ... ... 1E0000h ... ... 480 ... ... 22 464 1D0000h 1D0FFFh 336 150000h 150FFFh 463 1CF000h 1CFFFFh 335 14F000h 14FFFFh ... ... ... ... ... 20 448 1C0000h 1C0FFFh 320 140000h 140FFFh 447 1BF000h 1BFFFFh 319 13F000h 13FFFFh ... ... ... ... ... 19 432 1B0000h 1B0FFFh 304 130000h 130FFFh 431 1AF000h 1AFFFFh 303 12F000h 12FFFFh ... ... ... ... ... 18 416 1A0000h 1A0FFFh 288 120000h 120FFFh 415 19F000h 19FFFFh 287 11F000h 11FFFFh ... ... 190FFFh 272 110000h 110FFFh 399 18F000h 18FFFFh 271 10F000h 10FFFFh 384 180000h 180FFFh 16 ... ... 190000h ... ... 17 400 ... 24 1F0FFFh 1EF000h ... 25 1F0000h 495 ... 26 17FFFFh 496 ... 27 23 17F000h ... 28 383 ... 29 1FFFFFh Address Range ... 30 1FF000h Sector Subsector ... 31 ... 511 Address Range ... Sector Subsector ... Table 4. ... 5 Memory organization 256 100000h 100FFFh 17/56 Memory organization Memory organization (continued) Sector Subsector ... EF000h EFFFFh 95 5F000h 5FFFFh DFFFFh 18/56 4FFFFh 207 CF000h CFFFFh 63 3F000h 3FFFFh 191 BF000h BFFFFh 2 48 30000h 30FFFh 47 2F000h 2FFFFh ... C0FFFh ... C0000h ... 192 3 ... 40FFFh ... 40000h ... 64 ... D0FFFh 176 B0000h B0FFFh 32 20000h 20FFFh 175 AF000h AFFFFh 31 1F000h 1FFFFh ... 10FFFh 159 9F000h 9FFFFh 15 0F000h 0FFFFh 90FFFh 4 04000h 04FFFh 143 8F000h 8FFFFh 3 03000h 03FFFh 2 02000h 02FFFh ... 90000h ... 144 ... ... ... 10000h ... 16 ... A0FFFh ... A0000h ... 160 ... ... 1 0 80000h 80FFFh 1 01000h 01FFFh 127 7F000h 7FFFFh 0 00000h 00FFFh ... 128 ... 7 4F000h D0000h ... 8 79 208 10 9 4 50FFFh ... DF000h 50000h ... 223 80 ... E0FFFh ... E0000h ... 224 5 ... ... 239 ... ... 60FFFh ... ... 60000h ... ... 96 ... F0FFFh ... F0000h ... 11 6FFFFh ... 12 6 6F000h ... 13 111 240 ... 14 FFFFFh Address Range ... 15 FF000h Sector Subsector ... 255 Address Range ... Table 4. M25PE16 112 70000h 70FFFh M25PE16 Memory organization Figure 5. Block diagram RESET W High Voltage Generator Control Logic S C D I/O Shift Register Q Address Register and Counter Status Register 256 Byte Data Buffer 1FFFFFh Y Decoder Size of the read-only memory area Whole Memory Array can be made read-only on a 64 KB basis through the Lock Registers 00000h 000FFh 256 Bytes (Page Size) X Decoder AI12346c 19/56 Instructions 6 M25PE16 Instructions All instructions, addresses and data are shifted in and out of the device, most significant bit first. Serial Data Input (D) is 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 (D), 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), Read Identification (RDID), Read Status Register (RDSR), or Read Lock Register (RDLR) 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 Write (PW), Page Program (PP), Write to Lock Register (WRLR), Page Erase (PE), Sector Erase (SE), SubSector Erase (SSE), Bulk Erase (BE), Write Status Register (WRSR), Write Enable (WREN), Write Disable (WRDI), Deep Power-down (DP) or Release from Deep Power-down (RDP) 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 cycle, Program cycle or Erase cycle are ignored, and the internal Write cycle, Program cycle or Erase cycle continues unaffected. 20/56 M25PE16 Instructions Table 5. Instruction Instruction set Description One-Byte Instruction Code Address Bytes Dummy Bytes Data Bytes WREN Write Enable 0000 0110 06h 0 0 0 WRDI Write Disable 0000 0100 04h 0 0 0 RDID Read Identification 1001 1111 9Fh 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 ∞ PW Page Write 0000 1010 0Ah 3 0 1 to 256 PP Page Program 0000 0010 02h 3 0 1 to 256 PE Page Erase 1101 1011 DBh 3 0 0 SE Sector Erase 1101 1000 D8h 3 0 0 SubSector Erase 0010 0000 20h 3 0 0 BE Bulk Erase 1100 0111 C7h 0 0 0 DP Deep Power-down 1011 1001 B9h 0 0 0 RDP Release from Deep Power-down 1010 1011 ABh 0 0 0 FAST_READ SSE 21/56 Instructions 6.1 M25PE16 Write Enable (WREN) The Write Enable (WREN) instruction (Figure 6) sets the Write Enable Latch (WEL) bit. The Write Enable Latch (WEL) bit must be set prior to every Page Write (PW), Page Program (PP), Page Erase (PE), Sector Erase (SE), SubSector Erase (SSE), Bulk Erase (BE), Write Status Register (WRSR) and Write to Lock Register (WRLR) instructions. 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 6. Write Enable (WREN) instruction sequence S 0 1 2 3 4 5 6 7 C Instruction D High Impedance Q AI02281E 22/56 M25PE16 6.2 Instructions Write Disable (WRDI) The Write Disable (WRDI) instruction (Figure 7) 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 ● Page Write (PW) instruction completion ● Page Program (PP) instruction completion ● Write to Lock Register (WRLR) instruction completion ● Page Erase (PE) instruction completion ● Sector Erase (SE) instruction completion ● SubSector Erase (SSE) instruction completion ● Bulk Erase (BE) instruction completion Figure 7. Write Disable (WRDI) instruction sequence S 0 1 2 3 4 5 6 7 C Instruction D High Impedance Q AI03750D 23/56 Instructions 6.3 M25PE16 Read Identification (RDID) The Read Identification (RDID) instruction allows the 8-bit manufacturer identification to be read, followed by two Bytes of device identification. 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 (80h), and the memory capacity of the device in the second Byte (15h). 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 device is first selected by driving Chip Select (S) Low. Then, the 8-bit instruction code for the instruction is shifted in. This is followed by the 24-bit device identification, stored in the memory, being shifted out on Serial Data Output (Q), each bit being shifted out during the falling edge of Serial Clock (C). The instruction sequence is shown in Figure 8. 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 Stand-by Power mode. Once in the Stand-by 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 Figure 8. Memory Type Memory Capacity 80h 15h 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 D Manufacturer Identification Device Identification High Impedance Q 15 14 13 MSB 3 2 1 0 MSB AI06809b 24/56 M25PE16 6.4 Instructions 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 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 9. The status 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, 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, 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), Sector Erase (SE) and SubSector Erase (SSE) 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: 6.4.4 ● all Block Protect (BP2, BP1, BP0) bits are 0 ● the Lock Register protection bits are not all set (‘1’) SRWD bit The Status Register Write Disable (SRWD) bit is operated in conjunction with the Write Protect (W) signal. When the Status Register Write Disable (SRWD) bit is set to 1, and Write Protect (W) is driven Low, the non-volatile bits of the Status Register (SRWD, BP2, BP1, BP0) become read-only bits. In such a state, as the Write Status Register (WRSR) instruction is no longer accepted for execution, the definition of the size of the Write Protected area cannot be further modified. Table 7. Status Register format(1) (2) b7 SRWD b0 0 0 BP2 BP1 BP0 WEL WIP 1. WEL (Write Enable Latch) and WIP ((Write In Program) are volatile read-only bits (WEL is set and reset by specific instructions; WIP is automatically set and reset by the internal logic of the device). 2. SRWD = Status Register Write Protect bit; BP0, BP1, BP2 = Block Protect Bits. 25/56 Instructions M25PE16 Figure 9. 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 D Status Register Out Status Register Out High Impedance Q 7 MSB 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 MSB AI02031E 26/56 M25PE16 6.5 Instructions 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 (D). The instruction sequence is shown in Figure 10. The Write Status Register (WRSR) instruction has no effect on b6, b5, b1 and b0 of the Status Register. b6 and b5 are 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 or reset the Status Register Write Disable (SRWD) bit in accordance with the Write Protect (W) signal (see Section 6.4.4). If a Write Status Register (WRSR) instruction is interrupted by a RESET Low pulse, the internal cycle of the Write Status Register operation (whose duration is tW) is first completed (provided that the supply voltage VCC remains within the operating range). After that the device enters the Reset mode (see also Table 12: Device status after a RESET Low pulse and Table 20: Timings after a RESET Low pulse). Figure 10. 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 D High Impedance 6 5 4 3 2 1 0 MSB Q AI02282D 27/56 Instructions M25PE16 Table 8. Protection modes W SRWD Signal Bit 1 Write Protection of the Status Register Second Software Protected (SPM2) 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 0 0 0 1 1 0 Mode 1 Status Register is Hardware Hardware write protected Protected The values in the SRWD, (HPM) 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) 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): ● If Write Protect (W) 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) 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 (SPM2) 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) Low ● or by driving Write Protect (W) 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) High. If Write Protect (W) is permanently tied High, the Hardware Protected Mode (HPM) can never be activated, and only the Software Protected Mode (SPM2), using the Block Protect (BP2, BP1, BP0) bits of the Status Register, can be used. 28/56 M25PE16 6.6 Instructions 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 (Q), 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 11. 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 11. 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 D 3 2 1 0 MSB Data Out 1 High Impedance Q 7 6 5 4 3 2 Data Out 2 1 0 7 MSB AI03748D 1. Address bits A23 to A21 are Don’t Care. 29/56 Instructions 6.7 M25PE16 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, is shifted out on Serial Data Output (Q), 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 12. 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 12. 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 D 3 2 1 0 High Impedance Q S 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 C Dummy Byte D 7 6 5 4 3 2 1 0 DATA OUT 2 DATA OUT 1 7 Q MSB 6 5 4 3 2 1 0 7 MSB 6 5 4 3 2 1 0 7 MSB AI04006 1. Address bits A23 to A21 are Don’t Care. 30/56 M25PE16 6.8 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 (Q), 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 13. 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 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 Reset or power-up. ‘0’ The Write Lock and Lock Down Bits can be changed by writing new values to them. (Default value). ‘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. (Default value). Sector Lock Down Sector Write Lock Figure 13. 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 D 3 2 1 0 MSB Lock Register Out High Impedance Q 7 6 5 4 3 2 1 0 MSB AI10783 31/56 Instructions 6.9 M25PE16 Page Write (PW) The Page Write (PW) instruction allows Bytes to be written in the memory. 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 Write (PW) 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 (D). The rest of the page remains unchanged if no power failure occurs during this write cycle. The Page Write (PW) instruction performs a page erase cycle even if only one Byte is updated. If the 8 least significant address bits (A7-A0) are not all zero, all transmitted data exceeding the addressed page boundary roll over, and are written from the start address of the same page (the one whose 8 least significant address 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 14. 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 written correctly within the same page. If less than 256 Data Bytes are sent to device, they are correctly written 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 Write (PW) instruction to write all consecutive targeted Bytes in a single sequence versus using several Page Write (PW) sequences with each containing only a few Bytes Chip Select (S) must be driven High after the eighth bit of the last data Byte has been latched in, otherwise the Page Write (PW) instruction is not executed. As soon as Chip Select (S) is driven High, the self-timed Page Write cycle (whose duration is tPW) is initiated. While the Page Write 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 Write 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 Page Write (PW) instruction applied to a page that is Hardware or Software Protected is not executed. Any Page Write (PW) instruction, while an Erase, Program or Write cycle is in progress, is rejected without having any effects on the cycle that is in progress. If Reset (RESET) is driven Low while a Page Write (PW) cycle is in progress, the Page Write cycle is interrupted and the programmed data may be corrupted (see Table 12: Device status after a RESET Low pulse). On RESET going Low, the device enters the Reset mode and a time of tRHSL is then required before the device can be re-selected by driving Chip Select (S) Low. For the value of tRHSL see Table 20: Timings after a RESET Low pulse in Section 11: DC and AC parameters. 32/56 M25PE16 Instructions Figure 14. Page Write (PW) 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 D 3 2 Data Byte 1 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 D 7 6 MSB 5 4 3 2 Data Byte 3 1 0 7 MSB 6 5 4 3 2 Data Byte n 1 0 7 6 5 4 3 2 1 0 MSB AI04045 1. Address bits A23 to A21 are Don’t Care 2. 1 ≤n ≤256 33/56 Instructions 6.10 M25PE16 Page Program (PP) The Page Program (PP) instruction allows Bytes to be programmed in the memory (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). 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 (D). If the 8 least significant address bits (A7-A0) are not all zero, all transmitted data exceeding the addressed page boundary roll over, and are programmed from the start address of the same page (the one whose 8 least significant address 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 15. 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 18: 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 complete, the Write Enable Latch (WEL) bit is reset. A Page Program (PP) instruction applied to a page that is Hardware or software Protected is not executed. Any Page Program (PP) instruction, while an Erase, Program or Write cycle is in progress, is rejected without having any effects on the cycle that is in progress. If Reset (RESET) is driven Low while a Page Program (PP) cycle is in progress, the Page Program cycle is interrupted and the programmed data may be corrupted (see Table 12: Device status after a RESET Low pulse). On RESET going Low, the device enters the Reset mode and a time of tRHSL is then required before the device can be re-selected by driving Chip Select (S) Low. For the value of tRHSL see Table 20: Timings after a RESET Low pulse in Section 11: DC and AC parameters. 34/56 M25PE16 Instructions Figure 15. 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 D 3 2 Data Byte 1 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 D 7 6 MSB 5 4 3 2 Data Byte 3 1 0 7 MSB 6 5 4 3 2 Data Byte n 1 0 7 6 5 4 3 2 1 0 MSB AI04044 1. Address bits A23 to A21 are Don’t Care 2. 1 ≤n ≤256 35/56 Instructions 6.11 M25PE16 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 (D). The instruction sequence is shown in Figure 16. 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 16. 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 23 22 21 D Lock Register In 24-Bit Address MSB 3 2 1 0 7 6 5 4 3 2 1 0 MSB AI10784 Table 10. Lock Register in Sector All Sectors 36/56 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) M25PE16 6.12 Instructions Page Erase (PE) The Page Erase (PE) instruction sets to 1 (FFh) all bits inside the chosen page. 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 Erase (PE) instruction is entered by driving Chip Select (S) Low, followed by the instruction code, and three address Bytes on Serial Data Input (D). Any address inside the Page is a valid address for the Page Erase (PE) instruction. Chip Select (S) must be driven Low for the entire duration of the sequence. The instruction sequence is shown in Figure 17. Chip Select (S) must be driven High after the eighth bit of the last address Byte has been latched in, otherwise the Page Erase (PE) instruction is not executed. As soon as Chip Select (S) is driven High, the self-timed Page Erase cycle (whose duration is tPE) is initiated. While the Page 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 selftimed Page 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 Page Erase (PE) instruction applied to a page that is Hardware or software Protected is not executed. Any Page Erase (PE) instruction, while an Erase, Program or Write cycle is in progress, is rejected without having any effects on the cycle that is in progress. If Reset (RESET) is driven Low while a Page Erase (PE) cycle is in progress, the Page Erase cycle is interrupted and the programmed data may be corrupted (see Table 12: Device status after a RESET Low pulse). On RESET going Low, the device enters the Reset mode and a time of tRHSL is then required before the device can be re-selected by driving Chip Select (S) Low. For the value of tRHSL see Table 20: Timings after a RESET Low pulse in Section 11: DC and AC parameters. Figure 17. Page Erase (PE) instruction sequence S 0 1 2 3 4 5 6 7 8 9 29 30 31 C Instruction D 24 Bit Address 23 22 2 1 0 MSB AI04046 1. Address bits A23 to A21 are Don’t Care. 37/56 Instructions 6.13 M25PE16 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 (D). 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 18. 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 complete, the Write Enable Latch (WEL) bit is reset. A Sector Erase (SE) instruction applied to a sector that contains a page that is Hardware or software Protected is not executed. Any Sector Erase (SE) instruction, while an Erase, Program or Write cycle is in progress, is rejected without having any effects on the cycle that is in progress. If Reset (RESET) is driven Low while a Sector Erase (SE) cycle is in progress, the Sector Erase cycle is interrupted and data may not be erased (see Table 12: Device status after a RESET Low pulse). On RESET going Low, the device enters the Reset mode and a time of tRHSL is then required before the device can be re-selected by driving Chip Select (S) Low. For the value of tRHSL see Table 20: Timings after a RESET Low pulse in Section 11: DC and AC parameters. Figure 18. Sector Erase (SE) instruction sequence S 0 1 2 3 4 5 6 7 8 9 29 30 31 C Instruction D 24 Bit Address 23 22 2 1 0 MSB AI03751D 1. Address bits A23 to A21 are Don’t Care. 38/56 M25PE16 6.14 Instructions 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 (SE) instruction is entered by driving Chip Select (S) Low, followed by the instruction code, and three address Bytes on Serial Data Input (D). Any address inside the SubSector (see Table 4) is a valid address for the SubSector Erase (SE) instruction. Chip Select (S) must be driven Low for the entire duration of the sequence. The instruction sequence is shown in Figure 18. Chip Select (S) must be driven High after the eighth bit of the last address Byte has been latched in, otherwise the SubSector Erase (SE) 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 applied to a subsector that contains a page 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. If Reset (RESET) is driven Low while a SubSector Erase (SSE) cycle is in progress, the SubSector Erase cycle is interrupted and data may not be erased correctly (see Table 12: Device status after a RESET Low pulse). On RESET going Low, the device enters the Reset mode and a time of tRHSL is then required before the device can be re-selected by driving Chip Select (S) Low. For the value of tRHSL see Table 20: Timings after a RESET Low pulse in Section 11: DC and AC parameters. Figure 19. SubSector Erase (SSE) instruction sequence S 0 1 2 3 4 5 6 7 8 9 29 30 31 C Instruction D 24 Bit Address 23 22 2 1 0 MSB AI12356 1. Address bits A23 to A21 are Don’t Care. 39/56 Instructions 6.15 M25PE16 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 (D). Chip Select (S) must be driven Low for the entire duration of the sequence. The instruction sequence is shown in Figure 20. 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. Any Bulk Erase (BE) instruction, while an Erase, Program or Write cycle is in progress, is rejected without having any effects on the cycle that is in progress. A Bulk Erase (BE) instruction is ignored if at least one sector or subsector is write-protected (Hardware or Software protection). If Reset (RESET) is driven Low while a Bulk Erase (BE) cycle is in progress, the Bulk Erase cycle is interrupted and data may not be erased correctly (see Table 12: Device status after a RESET Low pulse). On RESET going Low, the device enters the Reset mode and a time of tRHSL is then required before the device can be re-selected by driving Chip Select (S) Low. For the value of tRHSL see Table 20: Timings after a RESET Low pulse in Section 11: DC and AC parameters. Figure 20. Bulk Erase (BE) instruction sequence S 0 1 2 3 4 5 6 7 C Instruction D AI03752D 40/56 M25PE16 6.16 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 an extra software protection mechanism, while the device is not in active use, since 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 mode (if there is no internal cycle currently in progress). But this mode is not the Deep Powerdown 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 17). Once the device has entered the Deep Power-down mode, all instructions are ignored except the Release from Deep Power-down (RDP) instruction. Issuing the Release from Deep Power-down (RDP) instruction will cause the device to exit the Deep Power-down mode. The Deep Power-down mode automatically stops at Power-down, and the device always Powers-up in the Standby mode. The Deep Power-down (DP) instruction is entered by driving Chip Select (S) Low, followed by the instruction code on Serial Data Input (D). Chip Select (S) must be driven Low for the entire duration of the sequence. The instruction sequence is shown in Figure 21. 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 21. Deep Power-down (DP) instruction sequence S 0 1 2 3 4 5 6 7 tDP C Instruction D Stand-by Mode Deep Power-down Mode AI03753D 41/56 Instructions 6.17 M25PE16 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 (D). Chip Select (S) must be driven Low for the entire duration of the sequence. The instruction sequence is shown in Figure 22. 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 22. Release from Deep Power-down (RDP) instruction sequence S 0 1 2 3 4 5 6 7 tRDP C Instruction D High Impedance Q Deep Power-down Mode Stand-by Mode AI06807 42/56 M25PE16 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 Write (PW), Page Program (PP), Page Erase (PE), Sector Erase (SE), SubSector Erase (SSE), 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, Program or Erase instructions should be sent until the later of: ● tPUW after VCC passed the VWI threshold ● tVSL after VCC passed the VCC(min) level These values are specified in Table 11. If the delay, tVSL, has elapsed, after VCC has risen above VCC(min), the device can be selected for READ instructions even if the tPUW delay is not yet fully elapsed. As an extra protection, the Reset (RESET) signal could be driven Low for the whole duration of the Power-up and Power-down phases. At Power-up, the device is in the following state: ● The device is in the Standby 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 reset (Write Lock bit, Lock Down bit) = (0, 0) Normal precautions must be taken for supply rail 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 a Power-down occurs while a Write, Program or Erase cycle is in progress, some data corruption can result.) 43/56 Power-up and Power-down M25PE16 Figure 23. 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 Min. Unit tVSL(1) VCC(min) to S low 30 tPUW(1) Time delay before the first Write, Program or Erase instruction 1 10 ms VWI(1) Write Inhibit Voltage 1.5 2.5 V 1. These parameters are characterized only, over the temperature range –40°C to +85°C. 44/56 Max. µs M25PE16 8 Reset Reset Driving Reset (RESET) Low while an internal operation is in progress will affect this operation (write, program or erase cycle) and data may be lost. All the Lock bits are reset to 0 after a RESET Low pulse. Table 12 shows the status of the device after a RESET Low pulse. Table 12. Device status after a RESET Low pulse Conditions: Reset pulse occurred Lock bits status Internal logic status Addressed data While decoding an instruction(1): WREN, WRDI, RDID, RDSR, READ, RDLR, Fast_Read, WRLR, PW, PP, PE, SE, BE, SSE, DP, RDP Reset to 0 Same as POR Not significant Under completion of an Erase or Program cycle of a PW, PP, PE, SSE, SE, BE operation Reset to 0 Equivalent to POR Addressed data could be modified Under completion of a WRSR operation Reset to 0 Equivalent to POR (after tW) Write is correctly completed Device deselected (S High) and in Standby mode Reset to 0 Same as POR Not significant 1. 9 S remains Low while RESET is Low. Initial delivery state The device is delivered with the memory array erased: all bits are set to 1 (each Byte contains FFh). All usable Status Register bits are 0. 45/56 Maximum rating 10 M25PE16 Maximum rating Stressing the device above the rating listed in the Absolute Maximum Ratings table may cause permanent damage to the device. These are stress ratings only and operation of the device at these or any other conditions above 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 13. Absolute maximum ratings Symbol Parameter TSTG Storage Temperature TLEAD Lead temperature during soldering VIO Input and Output Voltage (with respect to Ground) VCC Supply Voltage VESD Electrostatic Discharge Voltage (Human Body model) Min. Max. Unit –65 150 °C See (1) (2) –0.6 VCC + 0.6 V –0.6 4.0 V –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 Ω). 46/56 M25PE16 11 DC and AC parameters 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 14. Operating conditions Symbol VCC TA Table 15. Parameter Min. Max. Unit Supply Voltage 2.7 3.6 V Ambient Operating Temperature –40 85 °C Max. Unit AC measurement conditions Symbol CL Parameter Min. Load Capacitance 30 pF Input Rise and Fall Times 5 ns Input Pulse Voltages 0.2VCC to 0.8VCC V Input and Output Timing Reference Voltages 0.3VCC to 0.7VCC V 1. Output Hi-Z is defined as the point where data out is no longer driven. Figure 24. AC measurement I/O waveform Input Levels Input and Output Timing Reference Levels 0.8VCC 0.7VCC 0.3VCC 0.2VCC AI00825B Table 16. Symbol Capacitance(1) Parameter COUT Output Capacitance (Q) CIN Input Capacitance (other pins) Test Condition Min. Max. Unit VOUT = 0V 8 pF VIN = 0V 6 pF 1. Sampled only, not 100% tested, at TA=25°C and a frequency of 20 MHz. 47/56 DC and AC parameters 48/56 M25PE16 Table 17. DC characteristics Symbol Parameter Test Condition (in addition to those in Table 14) Min. Max. Unit ILI Input Leakage Current ±2 µA ILO Output Leakage Current ±2 µA ICC1 Standby Current (Standby and Reset modes) S = VCC, VIN = VSS or VCC 50 µA ICC2 Deep Power-down Current S = VCC, VIN = VSS or VCC 10 µA ICC3 Operating Current (FAST_READ) C = 0.1VCC / 0.9.VCC at 50MHz, Q = open 8 mA ICC4 Operating Current (PW) S = VCC 15 mA ICC5 Operating Current (SE) S = VCC 15 mA ICC6 Operating Current (WRSR) S = VCC 15 mA VIL Input Low Voltage 0.3VCC V VIH Input High Voltage 0.7VCC VCC+0.4 V VOL Output Low Voltage IOL = 1.6 mA VOH Output High Voltage IOH = –100 µA – 0.5 0.4 VCC–0.2 V V M25PE16 Table 18. DC and AC parameters AC characteristics Test conditions specified in Table 14 and Table 15 Symbol Alt. Parameter Min. fC fC Clock Frequency for the following instructions: FAST_READ, RDLR, PW, PP, WRLR, PE, SE, SSE, DP, RDP, WREN, WRDI, RDSR, WRSR Clock Frequency for READ instructions fR tCH(1) tCL(1) Max. Unit D.C. 50 MHz D.C. 33 MHz tCLH Clock High Time 9 ns tCLL Clock Low Time 9 ns 0.1 V/ns S Active Setup Time (relative to C) 5 ns S Not Active Hold Time (relative to C) 5 ns Clock Slew Rate 2 (peak to peak) tSLCH Typ. tCSS tCHSL 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 tCSH S Deselect Time tSHQZ(2) tDIS Output Disable Time 8 ns tCLQV tV Clock Low to Output Valid 8 ns tCLQX tHO Output Hold Time 0 ns tWHSL (3) Write Protect Setup Time 50 ns tSHWL (3) Write Protect Hold Time 100 ns tDP(2) tRDP(2) tW tPW(4) tPP(4) S to Deep Power-down 3 µs S High to Standby Mode 30 µs Write Status Register Cycle Time 3 15 ms Page Write Cycle Time (256 Bytes) 11 23 ms Page Program Cycle Time (256 Bytes) 0.8 3 ms Page Program Cycle Time (n Bytes) int(n/8) × 0.025(5) tPE Page Erase Cycle Time 10 20 ms tSE Sector Erase Cycle Time 1 5 s tSSE SubSector Erase Cycle Time 40 150 ms tBE Bulk Erase Cycle Time 17 60 s 1. tCH + tCL must be greater than or equal to 1/ fC 2. Value guaranteed by characterization, not 100% tested in production. 3. Only applicable as a constraint for a WRSR instruction when SRWD is set at 1. 4. When using PP and PW instructions to update consecutive Bytes, optimized timings are obtained with one sequence including all the Bytes versus several sequences of only a few Bytes (1 ≤n ≤256). 5. int(A) corresponds to the upper integer part of A. E.g. int(12/8) = 2, int(32/8) = 4 int(15.3) =16. 49/56 DC and AC parameters M25PE16 Figure 25. Serial input timing tSHSL S tCHSL tSLCH tCHSH tSHCH C tDVCH tCHCL tCHDX tCLCH LSB IN MSB IN D High Impedance Q AI01447C Figure 26. Write Protect setup and hold timing W tWHSL tSHWL S C D High Impedance Q AI12357c Figure 27. Output timing S tCH C tCLQV tCLQX tCLQV tCL tSHQZ tCLQX LSB OUT Q tQLQH tQHQL D ADDR.LSB IN AI01449e 50/56 M25PE16 DC and AC parameters Table 19. Reset conditions Test conditions specified in Table 14 and Table 15 Symbol Alt. Parameter tRLRH(1) tRST Reset Pulse Width 10 µs Chip should have been Chip Select High to deselected before Reset is Reset High de-asserted 10 ns tSHRH Conditions Min. Typ. Max. Unit 1. Value guaranteed by characterization, not 100% tested in production. Timings after a RESET Low pulse(1)(2) Table 20. Test conditions specified in Table 14 and Table 15 Symbol tRHSL Alt. Parameter Reset tREC Recovery Time Conditions: Reset pulse occurred Min. Typ. Max. Unit While decoding an instruction(3): WREN, WRDI, RDID, RDSR, READ, RDLR, Fast_Read, WRLR, PW, PP, PE, SE, BE, SSE, DP, RDP 30 µs Under completion of an Erase or Program cycle of a PW, PP, PE, SE, BE operation 300 µs Under completion of an Erase cycle of an SSE operation 3 ms Under completion of a WRSR operation tW (see Table 18) ms 0 µs Device deselected (S High) and in Standby mode 1. All the values are guaranteed by characterization, and not 100% tested in production. 2. See Table 12 for a description of the device status after a RESET Low pulse. 3. S remains Low while RESET is Low. Figure 28. Reset AC waveforms while a program or erase cycle is in progress S tSHRH RESET tRHSL tRLRH AI06808b 51/56 Package mechanical 12 M25PE16 Package mechanical Figure 29. VFQFPN8 (MLP8) 8-lead Very thin Dual Flat Package No lead, 6 × 5mm, 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 D2 θ 0.10 C A L A2 ddd A C A1 A3 70-ME 1. Drawing is not to scale. 2. The circle in the top view of the package indicates the position of pin 1. Table 21. 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 52/56 A2 0.65 0.0256 A3 0.20 0.0079 b 0.40 D 6.00 0.2362 D1 5.75 0.2264 0.35 3.20 0.48 3.60 0.0157 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.75 0.1339 0.0295 Θ 12° 12° aaa 0.15 0.0059 bbb 0.10 0.0039 ddd 0.05 0.0020 M25PE16 Package mechanical Figure 30. SO8 wide – 8 lead Plastic Small Outline, 208 mils body width, package outline A A2 c b CP e D N E E1 1 A1 k L 6L_ME 1. Drawing is not to scale. 2. The circle in the top view of the package indicates the position of pin 1. Table 22. SO8 wide – 8 lead Plastic Small Outline, 208 mils body width, 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 53/56 Part numbering 13 M25PE16 Part numbering Table 23. Ordering Information Scheme Example: M25PE16 – V MP 6 T P Device Type M25PE = Page-Erasable Serial Flash Memory Device Function 16 = 16 Mbit (2Mb x 8) Operating Voltage V = VCC = 2.7 V to 3.6 V Package MW = SO8 (208 mils width) MP = VFQFPN8 6x5mm (MLP8) Device Grade 6 = Industrial: device tested with standard test flow over –40 to 85 °C Option blank = Standard Packing T = Tape and Reel Packing Plating Technology P or G = ECOPACK® (RoHs compliant) 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. 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. 54/56 M25PE16 14 Revision history Revision history Table 24. Document revision history Date Revision 16-Feb-2006 0.1 07-Aug-2006 13-Oct-2006 20-Nov-2006 12-Apr-2007 Changes Initial release. 1 Figure 3: Bus Master and memory devices on the SPI Bus updated and Note 2 added. Section 4.8.1: Protocol-related protections clarified. Address range for subsector 15 of sector 0 modified in Table 4: Memory organization. RESET signal behavior clarified in Section 6.5: Write Status Register (WRSR), Section 6.9: Page Write (PW), Section 6.10: Page Program (PP), Section 6.12: Page Erase (PE), Section 6.14: SubSector Erase (SSE), Section 6.15: Bulk Erase (BE). Section 8: Reset added to describe the device status after a RESET Low pulse. Table Reset while a Read, Program or Erase cycle is in progres replaced by Table 20: Timings after a RESET Low pulse Table 19 split into two tables (see also Table 19). tBE typical value updated. Small text changes. 2 HPM2 specified in HPM1 and HPM2 paragraph. Small text changes. Table 12: Device status after a RESET Low pulse modified. VIO max. modified in Table 13: Absolute maximum ratings. fR, tW, tPW, tPP and tSSE modified in Table 18: AC characteristics. 3 TSL/W signal renamed as W, Top Sector Lock functionality removed, HPM2 removed. Paragraph added in Section 3: SPI modes. TLEAD added to Table 13: Absolute maximum ratings. tTHSL and tSHTL timings removed from Table 18: AC characteristics and Figure 26: Write Protect setup and hold timing. SO8W package specifications updated (see Table 22 and Figure 30). 4 Document status promoted from Preliminary Data to full Datasheet. VCC supply voltage and VSS ground added. Figure 3: Bus Master and memory devices on the SPI Bus updated, Note 2 removed and replaced by an explanatory paragraph. Behavior of WIP bit and Lock Registers specified at Power-up in Section 7: Power-up and Power-down. VFQFPN8 package specifications updated (see Figure 29 and Table 21). 55/56 M25PE16 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 56/56