0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
P25Q16SH-SSH-IT

P25Q16SH-SSH-IT

  • 厂商:

    PUYA(普冉)

  • 封装:

    SOP-8

  • 描述:

    超低功耗16M位串行多I/O闪存

  • 数据手册
  • 价格&库存
P25Q16SH-SSH-IT 数据手册
P25Q16SH Datasheet P25Q16SH Ultra Low Power, 16M-bit Serial Multi I/O Flash Memory Datasheet Oct. 20, 2020 Performance Highlight  Wide Supply Range from 2.3V to 3.6V for Read, Erase and Program  Ultra Low Power consumption for Read, Erase and Program  X1, X2 and X4 Multi I/O, QPI, DTR Support  High reliability with 100K cycling and 20 Year-retention Puya Semiconductor (Shanghai) Co., Ltd Puya Semiconductor Page 1 of 108 P25Q16SH Datasheet Contents 1 2 3 Overview ........................................................................................................................................................4 Description .....................................................................................................................................................5 Pin Definition .................................................................................................................................................6 3.1 Pin Configurations .............................................................................................................................6 3.2 Pin Descriptions .................................................................................................................................6 4 Block Diagram ...............................................................................................................................................7 5 Electrical Specifications .................................................................................................................................8 5.1 Absolute Maximum Ratings ...............................................................................................................8 5.2 DC Characteristics .............................................................................................................................9 5.3 AC Characteristics .......................................................................................................................... 10 5.4 AC Characteristics for Program and Erase .................................................................................... 12 5.5 Operation Conditions ...................................................................................................................... 14 6 Data Protection ........................................................................................................................................... 16 7 Memory Address Mapping .......................................................................................................................... 19 8 Device Operation ........................................................................................................................................ 20 9 Hold Feature ............................................................................................................................................... 23 10 Commands ................................................................................................................................................. 24 10.1 Commands listing ........................................................................................................................... 24 10.2 Write Enable (WREN) ..................................................................................................................... 29 10.3 Write Disable (WRDI) ....................................................................................................................... 30 10.4 Write Enable for Volatile Status Register ....................................................................................... 31 10.5 Read Status Register (RDSR) .......................................................................................................... 32 10.6 Read Configure Register (RDCR) .................................................................................................... 34 10.7 Write Status Register (WRSR) ......................................................................................................... 36 10.8 Write Status Register with ordering option "D"(WRSR) ..................................................................... 37 10.9 Write Configure Register (WRCR) .................................................................................................... 39 10.10 Read Data Bytes (READ) ................................................................................................................. 40 10.11 Fast Read (FREAD) ......................................................................................................................... 40 10.12 DTR Fast Read(DTR_FREAD) ........................................................................................................ 41 10.13 Dual Read (DREAD) ........................................................................................................................ 42 10.14 2IO Read (2READ) .......................................................................................................................... 43 10.15 DTR 2IO Read (DTR_2READ) ......................................................................................................... 45 10.16 Quad Read (QREAD) ...................................................................................................................... 47 10.17 4IO Read (4READ) .......................................................................................................................... 48 10.18 Set Burst Read ................................................................................................................................ 51 10.19 DTR 4IO Read (DTR_4READ) ......................................................................................................... 52 10.20 4IO Word Read(E7h) ....................................................................................................................... 54 10.21 Set Read Parameters (C0h) ............................................................................................................. 56 10.22 Burst Read with Wrap (0Ch)............................................................................................................. 57 10.23 DTR Burst Read with Wrap (0Eh) .................................................................................................... 57 10.24 Data Learning Pattern..................................................................................................................... 58 10.25 Enable QPI (38H)............................................................................................................................. 61 10.26 Disable QPI (FFH) ........................................................................................................................... 61 10.27 Page Erase (PE) .............................................................................................................................. 62 10.28 Sector Erase (SE) ............................................................................................................................ 63 10.29 Block Erase (BE32K) ....................................................................................................................... 64 10.30 Block Erase (BE).............................................................................................................................. 65 10.31 Chip Erase (CE)............................................................................................................................... 66 10.32 Page Program (PP).......................................................................................................................... 67 10.33 Quad Page Program (QPP) ............................................................................................................. 68 Puya Semiconductor Page 2 of 108 P25Q16SH Datasheet 11 12 13 14 10.34 Buffer Clear ..................................................................................................................................... 69 10.35 Buffer Load ...................................................................................................................................... 70 10.36 Buffer Read ..................................................................................................................................... 71 10.37 Buffer Write ...................................................................................................................................... 72 10.38 Buffer to Main Memory Page Program ............................................................................................. 73 10.39 Erase Security Registers (ERSCUR) ................................................................................................ 74 10.40 Program Security Registers (PRSCUR) ........................................................................................... 75 10.41 Read Security Registers (RDSCUR) ................................................................................................ 76 10.42 Deep Power-down (DP) ................................................................................................................... 77 10.43 Release form Deep Power-Down (RDP), Read Electronic Signature (RES) ...................................... 78 10.44 Read Electronic Manufacturer ID & Device ID (REMS) ..................................................................... 80 10.45 Dual I/O Read Electronic Manufacturer ID & Device ID (DREMS) .................................................... 81 10.46 Quad I/O Read Electronic Manufacturer ID & Device ID (QREMS)................................................... 82 10.47 Read Identification (RDID)................................................................................................................ 83 10.48 Program/Erase Suspend/Resume .................................................................................................... 84 10.49 Erase Suspend to Program .............................................................................................................. 86 10.50 Program Resume and Erase Resume .............................................................................................. 87 10.51 No Operation (NOP) ........................................................................................................................ 87 10.52 Individual Block Lock (SBLK) ........................................................................................................... 88 10.53 Individual Block Unlock (SBULK)...................................................................................................... 89 10.54 Read Block Lock Status (RDBLK) .................................................................................................... 90 10.55 Global Block Lock (GBLK)................................................................................................................ 91 10.56 Global Block Unlock (GBULK) .......................................................................................................... 92 10.57 Software Reset (RSTEN/RST) ......................................................................................................... 93 10.58 Read Unique ID (RUID) ................................................................................................................... 94 10.59 Read SFDP Mode (RDSFDP) .......................................................................................................... 95 Ordering Information................................................................................................................................. 100 Valid Part Numbers and Top Marking ....................................................................................................... 101 Package Information................................................................................................................................. 102 13.1 8-Lead SOP(150mil) ..................................................................................................................... 102 13.2 8-Lead SOP(208mil) ..................................................................................................................... 103 13.3 8-Lead TSSOP ............................................................................................................................. 104 13.4 8-Land USON(3x2x0.55mm) ........................................................................................................ 105 13.5 8-Land USON(3x4x0.55mm) ........................................................................................................ 106 13.6 8-Land WSON(6x5x0.75mm) ....................................................................................................... 107 Revision History........................................................................................................................................ 108 Puya Semiconductor Page 3 of 108 P25Q16SH Datasheet 1 Overview General  Single 2.3V to 3.60V supply  Industrial Temperature Range -40C to 85C  Serial Peripheral Interface (SPI) Compatible: Mode 0 and Mode 3  Single, Dual, Quad SPI, QPI, DTR  - Standard SPI: SCLK,CS#,SI,SO,WP#,HOLD# - Dual SPI: SCLK,CS#,IO0,IO1,WP#, HOLD# - Quad SPI: SCLK,CS#,IO0,IO1,IO2,IO3 - QPI: SCLK,CS#,IO0,IO1,IO2,IO3 - DTR: Double Transfer Rate Read Flexible Architecture for Code and Data Storage - Uniform 256-byte Page Program - Uniform 256-byte Page Erase - Uniform 4K-byte Sector Erase - Uniform 32K/64K-byte Block Erase - Full Chip Erase  Hardware Controlled Locking of Protected Sectors by WP Pin  One Time Programmable (OTP) Security Register 3*1024-Byte Security Registers With OTP Lock  128 bit unique ID for each device  Fast Program and Erase Speed - 1.5ms Single/Dual/Quad Page(s) program time - 16ms Page erase time - 16ms 4K-byte sector erase time - 16ms 32K/64K-byte block erase time  JEDEC Standard Manufacturer and Device ID Read Methodology  Ultra Low Power Consumption   - 0.5uA Deep Power Down current - 10.0uA Standby current - 2.5mA Active Read current at 33MHz - 3.0mA Active Program or Erase current High Reliability - 100,000 Program / Erase Cycles - 20-year Data Retention Industry Standard Green Package Options - 8-pin SOP (150mil/208mil) - 8-land USON (3x2x0.55mm, 3x4x0.55mm) - 8-land WSON (6x5mm) - 8-pin TSSOP - KGD for SiP Puya Semiconductor Page 4 of 108 P25Q16SH Datasheet 2 Description The P25Q16SH is a serial interface Flash memory device designed for use in a wide variety of high-volume consumer based applications in which program code is shadowed from Flash memory into embedded or external RAM for execution. The flexible erase architecture of the device, with its page erase granularity it is ideal for data storage as well, eliminating the need for additional data storage devices. The erase block sizes of the device have been optimized to meet the needs of today's code and data storage applications. By optimizing the size of the erase blocks, the memory space can be used much more efficiently. Because certain code modules and data storage segments must reside by themselves in their own erase regions, the wasted and unused memory space that occurs with large sectored and large block erase Flash memory devices can be greatly reduced. This increased memory space efficiency allows additional code routines and data storage segments to be added while still maintaining the same overall device density. The device also contains an additional 3*1024-byte security registers with OTP lock (One-Time Programmable), can be used for purposes such as unique device serialization, system-level Electronic Serial Number (ESN) storage, locked key storage, etc. Specifically designed for use in many different systems, the device supports read, program, and erase operations with a wide supply voltage range of 2.3V to 3.6V. No separate voltage is required for programming and erasing. Puya Semiconductor Page 5 of 108 P25Q16SH Datasheet 3 Pin Definition 3.1 Pin Configurations CS# 1 8 SO 2 7 WP# 3 6 SLCK 4 5 SI GND VCC HOLD#/RESET# CS# 1 8 SO 2 7 WP# 3 6 SLCK 4 5 SI GND 8-PIN SOP (150mil/208mil) and TSSOP VCC HOLD#/RESET# 8-Land WSON (3x2/3x4/4x4/6x5mm) 3.2 Pin Descriptions No. Symbol 1 CS# 2 SO SIO1 3 WP# SIO2 4 GND - 5 SI SIO0 6 SCLK - 7 HOLD#/RESET# SIO3 8 VCC - Extension Remarks Chip select Serial data output for 1 x I/O Serial data input and output for 4 x I/O read mode Write protection active low Serial data input and output for 4 x I/O read mode Ground of the device Serial data input for 1x I/O Serial data input and output for 4 x I/O read mode Serial interface clock input Hardware Reset Pin Active low or to pause the device without deselecting the device Serial data input and output for 4 x I/O read mode Power supply of the device Notes: 1. SIO0 and SIO1 are used for Standard and Dual SPI instructions 2. SIO0 – SIO3 are used for Quad SPI/QPI instructions, WP# & HOLD# (or RESET#) functions are only available for Standard/Dual SPI. Puya Semiconductor Page 6 of 108 P25Q16SH Datasheet 4 Block Diagram CS# High Voltage Generator Serial Bus Control Logic SCK Data buffer SI SO Control & Logic Address Latch WP# X -DECODER Interface Flash Memory Array HOLD# /Reset Serial MUX & I/O buffers Control and Protection logic VCC GND Y-DECODER Flash Memory Array Page (256/512/1024 bytes) Buffer (256/512/1024 bytes) I/O Interface SI(IO0) Puya Semiconductor SO(IO1) WP#(IO3) HOLD#(IO4) Page 7 of 108 P25Q16SH Datasheet 5 Electrical Specifications 5.1 Absolute Maximum Ratings NOTICE: Stresses above those listed under “Absolute  Storage Temperature .......................-65°C to +150°C  Operation Temperature ....................-40°C to +85°C  Maximum Operation Voltage............. 4.0V  Voltage on Any Pin with Maximum Ratings” may cause permanent damage to the device. This is a stress rating only and functional operation of the device at those or any other conditions above those indicated in the operational listings of this specification is respect to Ground. ..........................-0.6V to + 4.1V  not implied. Exposure to maximum rating conditions for DC Output Current ............................5.0 mA extended periods may affect device reliability. Table 5-1 Pin Capacitance [1] Symbol Parameter Max. Units Test Condition COUT Output Capacitance 8 pF VOUT=GND CIN Input Capacitance 6 pF VIN=GND Note: 1. Test Conditions: TA = 25°C, F = 1MHz, VCC = 3.0V. Figure 5-1 Maximum Overshoot Waveform Maximum Negative Overshoot Waveform Maximum Positive Overshoot Waveform VCC+0.5V 20ns 0V VCC 20ns - 0.6V Figure 5-2 Input Test Waveforms and Measurement Level Input timing reference level 0.8VCC Output timing reference level 0.7VCC AC MeasurementLevel 0.5VCC 0.3VCC 0.2VCC Note:Input pulse rise and fall time ara < 5ns Figure 5-3 Output Loading DEVICE UNDER TEST 25K ohm VCC CL 25K ohm CL = 15/30pF Including jig capacitance Puya Semiconductor Page 8 of 108 P25Q16SH Datasheet 5.2 DC Characteristics Table 5-2 DC parameters(Ta=-40°C to +85°C) Conditions 2.3V to 3.6V Sym. Parameter IDPD Deep power down current ISB Standby current ICC1 Read current(STR) (1, 2, 4 IO) f=85MHz; IOUT=0mA 5 8 mA f=120MHz; IOUT=0mA 6 10 mA ICC2 Read current (DTR) (1, 2, 4 IO) f=50MHz; IOUT=0mA ICC3 Program current ICC4 Min. CS#=Vcc, all other inputs at 0V or Vcc CS#, HOLD#, WP#=VIH all inputs at CMOS levels Typ. Max. 0.5 5 Units uA 10.0 uA mA 5 8 mA CS#=Vcc 3.0 4.0 mA Erase current CS#=Vcc 3.0 4.0 mA ILI Input load current All inputs at CMOS level 1.0 uA ILO Output leakage All inputs at CMOS level 1.0 uA VIL Input low voltage 0.3Vcc V VIH Input high voltage VOL Output low voltage IOL=100uA VOH Output high voltage IOH=-100uA f=66MHz; IOUT=0mA 0.7Vcc V 0.2 Vcc-0.2 V V Note 1. Typical values measured at 1.8V @ 25°C for the 1.65V to 3.6V range. 2. Typical values measured at 3.0V @ 25°C for the 2.3V to 3.6V range. Puya Semiconductor Page 9 of 108 P25Q16SH Datasheet 5.3 AC Characteristics Table 5-3-1 AC parameters(Ta=-40°C to +85°C) Symbol Alt. fSCLK fC fRSCLK fR fTSCLK Parameter 2.3V~3.6V max Unit 133 MHz Clock Frequency for READ instructions 55 MHz fT Clock Frequency for 2READ,DREAD instructions 133 MHz fQ Clock Frequency for 4READ, QREAD, QPI 0Bh, QPI EBh, QPI 0Ch instructions 133 MHz fD Clock Frequency for DTR instructions 66 MHz 133 MHz fQPP min typ Clock Frequency for the following instructions: FREAD, RDSFDP, PP, SE, BE32K, BE, CE, DP, RES, WREN, WRDI, RDID, RDSR, WRSR(7) Clock Frequency for QPP (Quad page program) tCH(1) tCLH Clock High Time 3.3 ns tCL(1) tCLL Clock Low Time (fSCLK) 45% x (1fSCLK) 3.3 ns tCLCH(7) Clock Rise Time (peak to peak) 0.1 v/ns tCHCL(7) Clock Fall Time (peak to peak) 0.1 v/ns CS# Active Setup Time (relative to SCLK) 5 ns CS# Not Active Hold Time (relative to SCLK) 5 ns tSLCH tCSS tCHSL tDVCH tDSU Data In Setup Time 2 ns tCHDX tDH Data In Hold Time 3 ns tCHSH CS# Active Hold Time (relative to SCLK) 5 ns tSHCH CS# Not Active Setup Time (relative to SCLK) 5 ns CS# Deselect Time From Read to next Read 20 ns CS# Deselect Time From Write,Erase,Program to Read Status Register 30 tSHSL tCSH tSHQZ(7) tDIS tCLQV tV tCLQX tHO ns Output Disable Time 6 ns Clock Low to Output Valid Loading 30pF 7 ns Clock Low to Output Valid Loading 15pF 6 ns Output Hold Time 0 ns tHLCH HOLD# Active Setup Time (relative to SCLK) 5 ns tCHHH HOLD# Active Hold Time (relative to SCLK) 5 ns tHHCH HOLD# Not Active Setup Time (relative to SCLK) 5 ns tCHHL HOLD# Not Active Hold Time (relative to SCLK) 5 ns tHHQX tLZ HOLD# to Output Low-Z 6 ns tHLQZ tHZ HOLD# to Output High-Z 6 ns tWHSL(3) Write Protect Setup Time 20 ns tSHWL(3) Write Protect Hold Time 100 ns tDP CS# High to Deep Power-down Mode 3 us tRES1 CS# High To Standby Mode Without Electronic Signature Read 8 us tRES2 CS# High To Standby Mode With Electronic Signature Read 8 us 12 ms tW tReady tBL tBC Write Status Register Cycle Time 8 Reset recovery time(for erase/program operation except WRSR) 30 Reset recovery time(for WRSR operation) 12 us 8 ms Load memory page data to buffer time(256Byte) 60 us Load memory page data to buffer time(512Byte) 120 us Buffer clear to next instruction latency Puya Semiconductor 200 ns Page 10 of 108 P25Q16SH Datasheet Table 5-3-2 SPI Read Command Performance Comparison(MHz) Dummy Cycles (VCC=2.3V~3.6V) Read command 4 6 8 10 FREAD - - 133 - DTR_FREAD - 66 - - DREAD - - 133 - 2READ 104(default) - 133 - 66 - - - QREAD - - 133 - 4READ - 104(default) - 133 DTR_4READ - - 66 - DTR_2READ Table 5-3-3 QPI Read Command Performance Comparison(MHz) Dummy Cycles (VCC=2.3V~3.6V) 4 6 8 10 80 104 120 133(default) - - 66 - 80 104 120 133(default) DTR_4READ - - 66 - BURST READ 80 104 120 133(default) - - 66 - Read command FREAD DTR_FREAD 4READ DTR_BURST READ Puya Semiconductor Page 11 of 108 P25Q16SH Datasheet 5.4 AC Characteristics for Program and Erase Table 5-4 AC parameters for program and erase(Ta=-40°C to +85°C) Sym. 2.3V to 3.6V Parameter Min. Typ. Max. Units TESL(6) Erase Suspend Latency 30 us TPSL(6) Program Suspend Latency 30 us TPRS(4) Latency between Program Resume and next Suspend 20 us TERS(5) Latency between Erase Resume and next Suspend 20 us tPP Page program time (up to 256 bytes) 1.5 3 ms tPE Page erase time 16 30 ms tSE Sector erase time 16 30 ms tBE1 Block erase time for 32K bytes 16 30 ms tBE2 Block erase time for 64K bytes 16 30 ms tCE Chip erase time 130 180 ms Note 1. tCH + tCL must be greater than or equal to 1/ Frequency. 2. Typical values given for TA=25°C. Not 100% tested. 3. Only applicable as a constraint for a WRSR instruction. 4. Program operation may be interrupted as often as system request. The minimum timing of tPRS must be observed before issuing the next program suspend command. However, in order for an Program operation to make progress, tPRS ≥ 100us must be included in resume-to-suspend loop(s). Not 100% tested. 5. Erase operation may be interrupted as often as system request. The minimum timing of tERS must be observed before issuing the next erase suspend command. However, in order for an Erase operation to make progress, tERS ≥ 100us must be included in resume-to-suspend loop(s). Notes. Not 100% tested. 6. Latency time is required to complete Erase/Program Suspend operation. 7. The value guaranteed by characterization, not 100% tested in production. Figure 5-4 Serial Input Timing tSHSL CS# tCHSL tSLCH tCLH tCLL tCHSH tSHCH SCLK tDVCH tCHDX SI MSB SO High-Z tCHCL tCLCH LSB Figure 5-5 Output Timing CS# tCLH SCLK tCLQV tCLQX tCLQV tCLQX tSHQZ tCLL tQLQH SO LSB tQHQL SI Least significant address bit (LIB) in Puya Semiconductor Page 12 of 108 P25Q16SH Datasheet Figure 5-6 Hold Timing CS# tCHHL SCLK tHLCH tHLQZ SO tCHHH tHHCH tHHQX HOLD# SI do not care during HOLD operation. Figure 5-7 WP Timing CS# tWHSL tSHWL WP# SCLK SI Write status register is allowed Puya Semiconductor Write status register is not allowed Page 13 of 108 P25Q16SH Datasheet 5.5 Operation Conditions At Device Power-Up and Power-Down AC timing illustrated in "Figure AC Timing at Device Power-Up" and "Figure Power-Down Sequence" are for the supply voltages and the control signals at device power-up and power-down. If the timing in the figures is ignored, the device will not operate correctly. During power-up and power-down, CS# needs to follow the voltage applied on VCC to keep the device not to be selected. The CS# can be driven low when VCC reach Vcc(min.) and wait a period of tVSL. Figure 5-8 AC Timing at Device Power-Up VCC VCC(min) GND tVR tSHSL CS# tCHSL tSLCH tCHSH tSHCH SCLK tDVCH tCHCL tCHDX LSB MSB SI tCLCH High-Z SO Figure 5-9 Power-up Timing Vcc(max) Chip Selection is not allowed Vcc(min) tVSL Device is fully accessible VWI Time Puya Semiconductor Page 14 of 108 P25Q16SH Datasheet Power Up/Down and Voltage Drop For Power-down to Power-up operation, the VCC of flash device must below VPWD for at least tPWD timing. Please check the table below for more detail. Figure 5-10 Power down-up Timing Vcc(max) Chip Selection is not allowed Vcc(min) tVSL VPWD(max) Device is fully accessible tPWD Time Symbol Parameter VPWD VCC voltage needed to below VPWD for ensuring initialization will occur tPWD tVSL tVR VWI The minimum duration for ensuring initialization will occur VCC(min.) to device operation VCC Rise Time Write Inhibit Voltage min 300 70 1 1.45 max unit 1 V 500000 1.55 us us us/V V 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). Puya Semiconductor Page 15 of 108 P25Q16SH Datasheet 6 Data Protection During power transition, there may be some false system level signals which result in inadvertent erasure or programming. The device is designed to protect itself from these accidental write cycles. The state machine will be reset as standby mode automatically during power up. In addition, the control register architecture of the device constrains that the memory contents can only be changed after specific command sequences have completed successfully. In the following, there are several features to protect the system from the accidental write cycles during VCC power-up and power-down or from system noise. • Power-on reset: to avoid sudden power switch by system power supply transition, the power-on reset may protect the Flash. • Valid command length checking: The command length will be checked whether it is at byte base and completed on byte boundary. • Write Enable (WREN) command: WREN command is required to set the Write Enable Latch bit (WEL) before issuing other commands to change data. • Software Protection Mode: The Block Protect (BP4, BP3, BP2, BP1, and BP0) bits define the section of the memory array that can be read but not change. • Hardware Protection Mode: WP# going low to protected the BP0~BP4bits and SRP0~1bits • Deep Power-Down Mode: By entering deep power down mode, the flash device is under protected from writing all commands except the Release form Deep Power-Down Mode command. Protected Area Sizes Table 6-1. P25Q16SH Protected Area Sizes (WPS=0,CMP bit = 0) Status bit Memory Content BP4 BP3 BP2 BP1 BP0 Blocks Addresses Density Portion x x 0 0 0 NONE NONE NONE NONE 0 0 0 0 1 31 1F0000H-1FFFFFH 64KB Upper 1/32 0 0 0 1 0 30 and 31 1E0000H-1FFFFFH 128KB Upper 1/16 0 0 0 1 1 28 to 31 1C0000H-1FFFFFH 256KB Upper 1/8 0 0 1 0 0 24 to 31 180000H-1FFFFFH 512KB Upper 1/4 0 0 1 0 1 16 to 31 100000H-1FFFFFH 1MB Upper 1/2 0 1 0 0 1 0 000000H-00FFFFH 64KB Lower 1/32 0 1 0 1 0 0 and 1 000000H-01FFFFH 128KB Lower 1/16 0 1 0 1 1 0 to 3 000000H-03FFFFH 256KB Lower 1/8 0 1 1 0 0 0 to 7 000000H-07FFFFH 512KB Lower 1/4 0 1 1 0 1 0 to 15 000000H-0FFFFFH 1MB Lower 1/2 x x 1 1 x 0 to 31 000000H-1FFFFFH 2MB ALL 1 0 0 0 1 31 1FF000H-1FFFFFH 4KB Upper 1/512 1 0 0 1 0 31 1FE000H-1FFFFFH 8KB Upper 1/256 1 0 0 1 1 31 1FC000H-1FFFFFH 16KB Upper 1/128 1 0 1 0 x 31 1F8000H- 1FFFFFH 32KB Upper 1/64 1 1 0 0 1 0 000000H-000FFFH 4KB Lower 1/512 1 1 0 1 0 0 000000H-001FFFH 8KB Lower 1/256 1 1 0 1 1 0 000000H-003FFFH 16KB Lower 1/128 1 1 1 0 x 0 000000H-007FFFH 32KB Lower 1/64 Puya Semiconductor Page 16 of 108 P25Q16SH Datasheet Table 6-2. P25Q16SH Protected Area Sizes (WPS=0,CMP bit = 1) Status bit Memory Content BP4 BP3 BP2 BP1 BP0 Blocks Addresses Density Portion x x 0 0 0 0 to 31 000000H-1FFFFFH 2MB ALL 0 0 0 0 1 0 to 30 000000H-1EFFFFH 1984KB Lower 31/32 0 0 0 1 0 0 to 29 000000H-1DFFFFH 1920KB Lower 15/16 0 0 0 1 1 0 to 27 000000H-1BFFFFH 1792KB Lower 7/8 0 0 1 0 0 0 to 23 000000H-17FFFFH 1536KB Lower 3/4 0 0 1 0 1 0 to 15 000000H-0FFFFFH 1MB Lower 1/2 0 1 0 0 1 1 to 31 010000H-1FFFFFH 1984KB Upper 31/32 0 1 0 1 0 2 to 31 020000H-1FFFFFH 1920KB Upper 15/16 0 1 0 1 1 4 to 31 040000H-1FFFFFH 1792KB Upper 7/8 0 1 1 0 0 8 to 31 080000H-1FFFFFH 1536KB Upper 3/4 0 1 1 0 1 16 to 31 100000H-1FFFFFH 1MB Upper 1/2 x x 1 1 x NONE NONE NONE NONE 1 0 0 0 1 0 to 31 000000H-1FEFFFH 2044KB Lower 511/512 1 0 0 1 0 0 to 31 000000H-1FDFFFH 2040KB Lower 255/256 1 0 0 1 1 0 to 31 000000H-1FBFFFH 2032KB Lower 127/128 1 0 1 0 x 0 to 31 000000H-1F7FFFH 2016KB Lower 63/64 1 1 0 0 1 0 to 31 001000-1FFFFFH 2044KB Upper 511/512 1 1 0 1 0 0 to 31 002000-1FFFFFH 2040KB Upper 255/256 1 1 0 1 1 0 to 31 004000-1FFFFFH 2032KB Upper 127/128 1 1 1 0 x 0 to 31 008000-1FFFFFH 2016KB Upper 63/64 Note: 1. X=don’t care 2. If any erase or program command specifies a memory that contains protected data portion, this command will be ignored. Puya Semiconductor Page 17 of 108 P25Q16SH Datasheet Table 6-3. P25Q16SH Individual Block Protection (WPS=1) Block Sector/Block Sector 15 (4KB) Sector 14 (4KB) - Block 31 Sector 1 (4KB) Sector 0 (4KB) Block 30 Block 30 (64KB) Individual Block Locks: 32 Sectors(Top/Bottom) 30 Blocks Individual Block Lock: 36h+Address Block2 ~29 ------- Individual Block Unlock: 39h+Address Read Block Lock: 3Dh+Address Block 1 Block 1 (64KB) Global Block Lock: 7Eh Sector 15 (4KB) Global Block Unlock: 98h Sector 14 (4KB) Block 0 Sector 1 (4KB) Sector 0 (4KB) Notes: 1. Individual Block/Sector protection is only valid when WPS=1. 2. All individual block/sector lock bits are set to 1 by default after power up, all memory array is protected. Puya Semiconductor Page 18 of 108 P25Q16SH Datasheet 7 Memory Address Mapping The memory array can be erased in three levels of granularity including a full chip erase. The size of the erase blocks is optimized for both code and data storage applications, allowing both code and data segments to reside in their own erase regions. Each device has Each block has Each sector has Each page has 2M 64/32K 4K 256 bytes 8K 256/128 16 - pages 512 16/8 - - sectors 32/64 - - - blocks P25Q16SH Memory Organization Block32K Sector 63-62 511 1FF000H 1FFFFFH 31 …… …… …… 496 1F0000H 1F0FFFH 495 1EF000H 1EFFFFH …… …… …… 480 1E0000H 1E0FFFH …… …… …… …… …… …… …… …… …… …… …… …… …… …… …… …… …… …… 47 02F000H 02FFFFH …… …… …… 30 …… …… Puya Semiconductor 1-0 0 …… 3-2 1 …… 5-4 2 61-60 Block64K Address Range 32 020000H 020FFFH 31 01F000H 01FFFFH …… …… …… 16 010000H 010FFFH 15 00F000H 00FFFFH …… …… …… 0 000000H 000FFFH Page 19 of 108 P25Q16SH Datasheet 8 Device Operation Before a command is issued, status register should be checked to ensure device is ready for the intended operation. When incorrect command is inputted to this LSI, this LSI becomes standby mode and keeps the standby mode until next CS# falling edge. In standby mode, SO pin of this LSI should be High-Z. When correct command is inputted to this LSI, this LSI becomes active mode and keeps the active mode until next CS# rising edge. Input data is latched on the rising edge of Serial Clock (SCLK) and data shifts out on the falling edge of SCLK. The difference of serial peripheral interface mode 0 and mode 3 is shown as Figure 8-1. For the following instructions: RDID, RDSR, RDSR1, RDSCUR, READ, FREAD, DREAD, 2READ, 4READ, QREAD, RDSFDP, RES, REMS, DREMS, QREMS, the shifted-in instruction sequence is followed by a dataout sequence. After any bit of data being shifted out, the CS# can be high. For the following instructions: WREN, WRDI, WRSR, PE, SE, BE32K, BE, CE, PP, QPP, DP, ERSCUR, PRSCUR, SUSPEND, RESUME, RSTEN, RST, the CS# must go high exactly at the byte boundary; otherwise, the instruction will be rejected and not executed. During the progress of Write Status Register, Program, Erase operation, to access the memory array is neglected and not affect the current operation of Write Status Register, Program, Erase. Figure 8-1 Serial Peripheral Interface Modes Supported CPOL CPHA shift in (Serial mode 0) 0 0 SCLK (Serial mode 3) 1 1 SCLK SI SO shift out MSB MSB Note: CPOL indicates clock polarity of serial master, CPOL=1 for SCLK high while idle, CPOL=0 for SCLK low while not transmitting. CPHA indicates clock phase. The combination of CPOL bit and CPHA bit decides which serial mode is supported. Puya Semiconductor Page 20 of 108 P25Q16SH Datasheet Power Up Device Initialization & Status Register Refresh Hardware Standard SPI Dual SPI Quad SPI Reset Enable QPI (38h) Hardware Reset SPI Reset (66h + 99h) Disable QPI (FFh) QPI QPI Reset (66h + 99h) Standard SPI The P25Q16SH features a serial peripheral interface on 4 signals bus: Serial Clock (SCLK), Chip Select (CS#), Serial Data Input (SI) and Serial Data Output (SO). Both SPI bus mode 0 and 3 are supported. Input data is latched on the rising edge of SCLK and data shifts out on the falling edge of SCLK. Dual SPI The P25Q16SH supports Dual SPI operation when using the “Dual Output Fast Read” and “Dual I/O Fast Read”(3BHand BBH) commands. These commands allow data to be transferred to or from the device at two times the rate of the standard SPI. When using the Dual SPI command the SI and SO pins become bidirectional I/O pins: IO0 and IO1. Quad SPI The P25Q16SH supports Quad SPI operation when using the “Quad Output Fast Read”,” Quad I/O Fast Read”(6BH,EBH,E7H) commands. These commands allow data to be transferred to or from the device at four times the rate of the standard SPI. When using the Quad SPI command the SI and SO pins become bidirectional I/O pins: IO0 and IO1, and WP# and HOLD# pins become IO2 andIO3. Quad SPI commands require the non-volatile Quad Enable bit(QE) in Status Register to be set. QPI The P25Q16SH supports Quad Peripheral Interface (QPI) operations only when the device is switched from Standard/Dual/Quad SPI mode to QPI mode using the “Enable the QPI (38H)” command. The QPI mode utilizes all four IO pins to input the command code. Standard/Dual/Quad SPI mode and QPI mode are exclusive. Only one mode can be active at any given times. “Enable the QPI(38H)”and “Disable the QPI(FFH)”commands are used to switch between these two modes. Upon power-up and after software reset using “”Reset (99H)”command, the default state of the device is Standard/Dual/Quad SPI mode. The QPI mode requires the non-volatile Quad Enable bit (QE) in Status Register to be set. Puya Semiconductor Page 21 of 108 P25Q16SH Datasheet SPI / QPI DTR Read Instructions To effectively improve the read operation throughput without increasing the serial clock frequency, P25Q16SH introduces multiple DTR (Double Transfer Rate) Read instructions that support Standard/Dual/Quad SPI and QPI modes. The byte-long instruction code is still latched into the device on the rising edge of the serial clock similar to all other SPI/QPI instructions. Once a DTR instruction code is accepted by the device, the address input and data output will be latched on both rising and falling edges of the serial clock. Software Reset The P25Q16SH can be reset to the initial power-on state by a software Reset sequence, either in SPI mode or QPI mode. This sequence must include two consecutive commands: Enable Reset (66h) & Reset (99h). If the command sequence is successfully accepted, the device will take approximately 30uS (tReady) to reset. No command will be accepted during the reset period. If QE bit is set to 1, the HOLD or RESET function will be disabled, the pin will become one of the four data I/O pins. Puya Semiconductor Page 22 of 108 P25Q16SH Datasheet 9 Hold Feature HOLD# pin signal goes low to hold any serial communications with the device. The HOLD feature will not stop the operation of write status register, programming, or erasing in progress. The operation of HOLD requires Chip Select(CS#) keeping low and starts on falling edge of HOLD# pin signal while Serial Clock (SCLK) signal is being low (if Serial Clock signal is not being low, HOLD operation will not start until Serial Clock signal being low). The HOLD condition ends on the rising edge of HOLD# pin signal while Serial Clock(SCLK) signal is being low( if Serial Clock signal is not being low, HOLD operation will not end until Serial Clock being low). Figure 9-1 Hold Condition Operation CS# SCLK HOLD# HOLD HOLD During the HOLD operation, the Serial Data Output (SO) is high impedance when Hold# pin goes low and will keep high impedance until Hold# pin goes high. The Serial Data Input (SI) is don't care if both Serial Clock (SCLK) and Hold# pin goes low and will keep the state until SCLK goes low and Hold# pin goes high. If Chip Select (CS#) drives high during HOLD operation, it will reset the internal logic of the device. To re-start communication with chip, the HOLD# must be at high and CS# must be at low. Note: The HOLD feature is disabled during Quad I/O mode. Puya Semiconductor Page 23 of 108 P25Q16SH Datasheet 10 Commands 10.1 Commands listing Figure 10-1 Command set(STR Standard/Dual/Quad SPI instruction) Abbr. Code ADR Bytes DMY Bytes Data Bytes Read Array (fast) FREAD 0Bh 3 1 1+ n bytes read out until CS# goes high Read Array (low power) READ 03h 3 0 1+ n bytes read out until CS# goes high Read Dual Output DREAD 3Bh 3 1 1+ n bytes read out by Dual output Read 2IO 2READ BBh 3 1(2) 1+ n bytes read out by 2IO Read Quad Output QREAD 6Bh 3 1 1+ n bytes read out by Quad output Read 4IO 4READ EBh 3 3(5) 1+ n bytes read out by 4IO Read Word 4IO WREAD E7h 3 1 1+ n bytes word read out by 4IO Page Erase PE 81h 3 0 0 erase selected page Sector Erase (4K bytes) SE 20h 3 0 0 erase selected sector Block Erase (32K bytes) BE32 52h 3 0 0 erase selected 32K block Block Erase (64K bytes) BE D8h 3 0 0 erase selected 64K block Chip Erase CE 60h/C7h 0 0 0 erase whole chip Page Program PP 02h 3 0 1+ program selected page QPP 32h 3 0 1+ quad input to program selected page Commands Function description Read Program and Erase Quad page program Program/Erase Suspend PES 75h 0 0 0 suspend program/erase operation Program/Erase Resume PER 7Ah 0 0 0 continue program/erase operation Write Enable WREN 06h 0 0 0 sets the write enable latch bit Write Disable WRDI 04h 0 0 0 resets the write enable latch bit VWREN 50h 0 0 0 Write enable for volatile SR SBLK 36h 3 0 0 Individual block lock Individual Block Unlock SBULK 39h 3 0 0 Individual block unlock Read Block Lock Status RDBLOCK 3Dh 3 0 0 Read individual block lock register GBLK 7Eh 0 0 0 Whole chip block protect GBULK 98h 0 0 0 Whole chip block unprotect Erase Security Registers ERSCUR 44h 3 0 0 Erase security registers Program Security Registers PRSCUR 42h 3 0 1+ Program security registers Read Security Registers RDSCUR 48h 3 1 1+ Read value of security register Protection Volatile SR Write Enable Individual Block Lock Global Block Lock Global Block Unlock Security Puya Semiconductor Page 24 of 108 P25Q16SH Datasheet Command set(Standard/Dual/Quad SPI) Cont’d Abbr. Code ADR Bytes DMY Bytes Data Bytes Read Status Register RDSR 05h 0 0 1 read out status register Read Status Register-1 RDSR1 35h 0 0 1 Read out status register-1 Read Configure Register RDCR 15h 0 0 1 Read out configure register Write Status Register WRSR 01h 0 0 1 Write data to status registers WRSR 01h 0 0 2 Write data to status registers WRSR1 31h 0 0 1 Write data to status registers-1 WRCR 11h 0 0 1 Write data to configuration register Buffer clear BFCR 9Eh 0 0 0 Clear all buffer data Buffer Load BFLD 9Ah 3 0 0 Load data from main memory to buffer Buffer Read BFRD 9Bh 3 1 1+ Read data out from buffer Buffer Write BFWR 9Ch 3 0 1+ Write data to buffer Buffer to Main Memory Page Program BFPP 9Dh 3 0 0 Program buffer data to main memory RSTEN 66h 0 0 0 Enable reset RST 99h 0 0 0 Reset Enable QPI QPIEN 38h 0 0 0 Enable QPI mode Read Manufacturer/device ID RDID 9Fh 0 0 1 to 3 Read Manufacture ID Dual Read Manufacture ID REMS DREMS 90h 92h 3 3 1 1+ 1+ Quad Read Manufacture ID QREMS 94h 3 1 1+ DP B9h 0 0 0 enters deep power-down mode RDP/RES ABh 3 0 1 Read electronic ID data SBL 77h 0 0 0 Set burst length RDSFDP 5Ah Read SFDP parameter FFh Release from read enhanced Commands Function Status Register Write Status Register note1 Write Status Register-1 note2 Write Configure Register Data Buffer Other Commands Reset Enable Reset Deep Power-down Release Deep Power-down / Read Electronic ID Set burst length Read SFDP Release read enhanced Read unique ID RUID 4Bh 4 1+ output JEDEC ID: 1-byte manufacturer ID & 2-byte device ID Read manufacturer ID/device ID data Dual output read manufacture/device ID Quad output read manufacture/device ID Read unique ID Note1 2byte data for SR0&SR1 with ordering option "D" Note2 Not support with ordering option "D" Puya Semiconductor Page 25 of 108 P25Q16SH Datasheet Command set(STR QPI Instructions) Commands Write Enable Volatile SR Write Enable Write Disable Individual Block Lock Individual Block Unlock Read Block Lock Status Global Block Lock Global Block Unlock Read Status Register Read Status Register-1 Read Configure Register Write Status Register Write Status Register 1 Write Status Register-1 2 Write Configure Register Page Program Page Erase Sector Erase (4K bytes) Block Erase (32K bytes) Block Erase (64K bytes) Chip Erase Program/Erase Suspend Program/Erase Resume Buffer Clear Buffer Load Buffer Read Buffer Write Buffer to Main Memory Page Program Deep Power-down Release Deep Powerdown/Read Electronic ID Set Read Parameters Fast read Burst Read with Wrap Read Word 4x I/O Read Manufacture ID Read Manufacturer/device ID Read SFDP Disable QPI Reset Enable Reset 06h 50h 04h 36h 39h 3Dh 7Eh 98h 05h 35h 15h 01h 01h 31h 11h 02h 81h 20h 52h D8h 60h/C7h 75h 7Ah 9Eh 9Ah 9Bh 9Ch ADR Bytes 0 0 0 3 3 3 0 0 0 0 0 0 0 0 0 3 3 3 3 3 0 0 0 0 3 3 3 DMY Bytes 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 Data Bytes 0 0 0 0 0 0 0 0 1 1 1 1 2 1 1 1+ 0 0 0 0 0 0 0 0 0 1+ 1+ 9Dh 3 0 0 Program buffer data to main memory B9h 0 0 0 enters deep power-down mode ABh 3 0 1 Read electronic ID data C0h 0Bh 0Ch EBh 90h 0 3 3 3 3 0 5/2/3/4 5/2/3/4 5/2/3/4 1 1+ 1+ 1+ 1+ 9Fh 0 0 1 to 3 5Ah FFh 66h 99h 0 0 0 0 0 0 Set read dummy and wrap n bytes read out until CS# goes high n bytes burst read with wrap by 4IO n bytes read out by 4IO Read manufacturer ID/device ID data output JEDEC ID: 1-byte manufacturer ID & 2-byte device ID Read SFDP parameter Release from read enhanced Enable reset Reset Abbr. Code Function description sets the write enable latch bit Write enable for volatile status register resets the write enable latch bit Individual block lock Individual block unlock Read individual block lock register Whole chip block protect Whole chip block unprotect read out status register Read out status register-1 Read out configure register Write data to status registers Write data to status registers Write data to status registers-1 Write data to configuration register program selected page erase selected page erase selected sector erase selected 32K block erase selected 64K block erase whole chip suspend program/erase operation continue program/erase operation Clear all buffer data Load data from memory to buffer Read data out from buffer Write data to buffer Note1 2byte data for SR0&SR1 with ordering option "D" Note2 Not support with ordering option "D" Puya Semiconductor Page 26 of 108 P25Q16SH Datasheet Command set(DTR SPI Instructions) Abbr. Code ADR Bytes DMY Cycles Data Bytes DTR Fast Read DTRFRD 0Dh 3 6 1+ DTR n byte fast read out DTR 2IO Read 2DTRD BDh 3 2+4 1+ DTR n byte read out by 2IO DTR 4IO Read 4DTRD EDh 3 1+7 1+ DTR n byte read out by 4IO Code ADR Bytes DMY Cycles Data Bytes 0Eh 3 8 1+ DTR n bytes burst read with wrap by 4IO Commands Function description Command set(DTR QPI Instructions) Commands Abbr. DTR Burst Read with Wrap Function description DTR Fast Read DTRFRD 0Dh 3 8 1+ DTR n byte fast read out DTR 4IO Read 4DTRD EDh 3 1+7 1+ DTR n byte fast read out NOTE: 1. Dual Output data IO0 = (D6, D4, D2, D0) IO1 = (D7, D5, D3, D1) 2. Dual Input Address IO0 = A22, A20, A18, A16, A14, A12, A10, A8 A6, A4, A2, A0, M6, M4, M2, M0 IO1 = A23, A21, A19, A17, A15, A13, A11, A9 A7, A5, A3, A1, M7, M5, M3, M1 3. Quad Output Data IO0 = (D4, D0, …..) IO1 = (D5, D1, …..) IO2 = (D6, D2, …..) IO3 = (D7, D3,…..) 4. Quad Input Address IO0 = A20, A16, A12, A8, A4, A0, M4, M0 IO1 = A21, A17, A13, A9, A5, A1, M5, M1 IO2 = A22, A18, A14, A10, A6, A2, M6, M2 IO3 = A23, A19, A15, A11, A7, A3, M7, M3 5. Fast Read Quad I/O Data IO0 = (x, x, x, x, D4, D0,…) IO1 = (x, x, x, x, D5, D1,…) IO2 = (x, x, x, x, D6, D2,…) IO3 = (x, x, x, x, D7, D3,…) 6. Fast Word Read Quad I/O Data IO0 = (x, x, D4, D0,…) IO1 = (x, x, D5, D1,…) IO2 = (x, x, D6, D2,…) IO3 = (x, x, D7, D3,…) Puya Semiconductor Page 27 of 108 P25Q16SH Datasheet 7. Fast Word Read Quad I/O Data: the lowest address bit must be 0. 8. QPI Command, Address, Data input/output format: CLK #0 1 2 3 4 5 6 7 8 9 10 11 IO0= C4, C0, A20, A16, A12, A8, A4, A0, D4, D0, D4, D0, IO1= C5, C1, A21, A17, A13, A9, A5, A1, D5, D1, D5, D1 IO2= C6, C2, A22, A18, A14, A10, A6, A2, D6, D2, D6, D2 IO3= C7, C3, A23, A19, A15, A11, A7, A3, D7, D3, D7, D3 9. Security Registers Address: Security Register1: A23-A16=00H, A15-A9=000100, A9-A0= Byte Address; Security Register2: A23-A16=00H, A15-A9=001000, A9-A0= Byte Address; Security Register3: A23-A16=00H, A15-A9=001100, A9-A0= Byte Address; Puya Semiconductor Page 28 of 108 P25Q16SH Datasheet 10.2 Write Enable (WREN) The Write Enable (WREN) instruction is for setting Write Enable Latch (WEL) bit. For those instructions like PP, QPP, PE,SE, BE32K,BE, CE, BFPP and WRSR, WRCR, ERSCUR, PRSCUR which are intended to change the device content, should be set every time after the WREN instruction setting the WEL bit. The sequence of issuing WREN instruction is: CS# goes low→ sending WREN instruction code→ CS# goes high. Figure 10-2 Write Enable (WREN) Sequence (Command 06) CS# SCLK 0 1 SI SO 2 3 4 5 6 7 Command 06H High-Z Figure 10-2a Write Enable (WREN) Sequence (QPI) CS# 0 1 SCLK Command 06H SI(IO0) SO(IO1) WP#(IO2) HOLD#(IO3) Puya Semiconductor Page 29 of 108 P25Q16SH Datasheet 10.3 Write Disable (WRDI) The Write Disable (WRDI) instruction is for resetting Write Enable Latch (WEL) bit. The sequence of issuing WRDI instruction is: CS# goes low→ sending WRDI instruction code→ CS# goes high. The WEL bit is reset by following situations: - Power-up - Write Disable (WRDI) instruction completion - Write Status Register (WRSR/WRCR) instruction completion - Page Program (PP) instruction completion - Quod Page Program (QPP) instruction completion - Page Erase (PE) instruction completion - Sector Erase (SE) instruction completion - Block Erase (BE32K,BE) instruction completion - Chip Erase (CE) instruction completion - Buffer to Main Memory Page Program(BFPP) instruction completion - Erase Security Register (ERSCUR) instruction completion - Program Security Register (PRSCUR) instruction completion - Reset (RST) instruction completion Figure 10-3 Write Disable (WRDI) Sequence (Command 04) CS# SCLK 0 1 SI SO 2 3 4 5 6 7 Command 04H High-Z Figure 10-3a Write Disable (WRDI) Sequence (QPI) CS# 0 1 SCLK Command 04H SI(IO0) SO(IO1) WP#(IO2) HOLD#(IO3) Puya Semiconductor Page 30 of 108 P25Q16SH Datasheet 10.4 Write Enable for Volatile Status Register The non-volatile Status Register bits can also be written to as volatile bits. This gives more flexibility to change the system configuration and memory protection schemes quickly without waiting for the typical non-volatile bit write cycles or affecting the endurance of the Status Register non-volatile bits. The Write Enable for Volatile Status Register command must be issued prior to a Write Status Register command. The Write Enable for Volatile Status Register command will not set the Write Enable Latch bit, it is only valid for the Write Status Register command to change the volatile Status Register bit values. The sequence of issuing Write Enable for Volatile Status Register instruction is: CS# goes low→ sending Write Enable for Volatile Status Register instruction code→ CS# goes high. Figure 10-4 Write Enable for Volatile Status Register Sequence (Command 50) CS# 0 1 2 3 4 5 6 7 SCLK Command(50H ) SI SO High-Z Figure 10-4a Write Enable for Volatile Status Register Sequence (QPI) CS# 0 1 SCLK Command 50H SI(IO0) SO(IO1) WP#(IO2) HOLD#(IO3) Puya Semiconductor Page 31 of 108 P25Q16SH Datasheet 10.5 Read Status Register (RDSR) The RDSR instruction is for reading Status Register Bits. The Read Status Register can be read at any time (even in program/erase/write status register condition). It is recommended to check the Write in Progress (WIP) bit before sending a new instruction when a program, erase, or write status register operation is in progress. For command code “05H”, the SO will output Status Register bits S7~S0. The command code “35H”, the SO will output Status Register bits S15~S8. The sequence of issuing RDSR instruction is: CS# goes low→ sending RDSR instruction code→ Status Register data out on SO. The SIO[3:1] are "don't care". Figure 10-5 Read Status Register (RDSR) Sequence (Command 05 or 35) CS# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 SCLK Command SI 05Hor35H SO High-Z S7~S0 or S15~S8 out 7 6 MSB 5 4 3 2 S7~S0 or S15~S8 out 1 0 4 5 7 6 MSB 5 4 3 2 1 0 7 Figure 10-5a Read Status Register (RDSR) Sequence (QPI) CS# 0 1 2 3 SCLK Command 05H or 35H SI(IO0) 4 0 4 0 4 SO(IO1) 5 1 5 1 5 WP#(IO2) 6 2 6 2 6 HOLD#(IO3) 7 3 7 3 7 S7-S0 or S15-S8 out Status Register S15 SUS S14 CMP S13 LB3 S12 LB2 S11 LB1 S10 EP_FAIL S9 QE S8 SRP1 S7 SRP0 S6 BP4 S5 BP3 S4 BP2 S3 BP1 S2 BP0 S1 WEL S0 WIP The definition of the status register bits is as below: WIP bit. The Write in Progress (WIP) bit indicates whether the memory is busy in program/erase/write status register progress. When WIP bit sets to 1, means the device is busy in program/erase/write status register progress, when WIP bit sets 0, means the device is not in program/erase/write status register progress. Puya Semiconductor Page 32 of 108 P25Q16SH Datasheet 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 command is accepted. BP4, BP3, BP2, BP1, BP0 bits. The Block Protect (BP4, BP3, BP2, BP1, and BP0) bits are non-volatile. They define the size of the area to be software protected against Program and Erase commands. These bits are written with the Write Status Register (WRSR) command. When the Block Protect (BP4, BP3, BP2, BP1, BP0) bits are set to 1, the relevant memory area (as defined in Table “Protected Area Sizes”).becomes protected against Page Program (PP), Page Erase (PE), Sector Erase (SE) and Block Erase (BE) commands. The Block Protect (BP4, BP3, BP2, BP1, and BP0) bits can be written provided that the Hardware Protected mode has not been set. The Chip Erase (CE) command is executed, only if the Block Protect (BP4, BP3, BP2, BP1and BP0) are set to “None protected”. SRP1, SRP0 bits. The Status Register Protect (SRP1 and SRP0) bits are non-volatile Read/Write bits in the status register. The SRP bits control the method of write protection: software protection, hardware protection, power supply lockdown or one time programmable protection SRP1 SRP0 WP# Status Register 0 0 x Software Protected 0 1 0 Hardware Protected 0 1 1 Hardware Unprotected 1 0 x 1 1 x Power Supply LockDown(1) One Time Program(2) Description The Status Register and Configure Register can be written to after a Write Enable command, WP#=0, the Status Register and Configure Register WEL=1.(Default) locked and cannot be written to. WP#=1, the Status Register and Configure Register is unlocked and can be written to after a Write Enable command, WEL=1. Status Register and Configure Register are protected and cannot be written to again until the next PowerDown, Register Power-Upand cycle. Status Configure Register are permanently protected and cannot be written to. NOTE: 1. When SRP1, SRP0=(1, 0), a Power-Down, Power-Up cycle will change SRP1, SRP0 to (0, 0) state. 2. This feature is available on special order. Please contact PUYA for details. QE bit. The Quad Enable (QE) bit is a non-volatile Read/Write bit in the Status Register that allows Quad operation. When the QE bit is set to 0 (Default) the WP# pin and HOLD# pin are enable. When the QE pin is set to 1, the Quad IO2 and IO3 pins are enabled. (The QE bit should never be set to 1 during standard SPI or Dual SPI operation if the WP# or HOLD# pins are tied directly to the power supply or ground) EP_FAIL bit. The Erase/Program Fail bit is a read only bit which shows the status of the last Program/Erase operation. The bit will be set to "1" if the program/erase operation failed or interrupted by reset or the program/erase region was protected. It will be automatically cleared to "0" if the next program/erase operation succeeds. Please note that it will not interrupt or stop any operation in the flash memory. Puya Semiconductor Page 33 of 108 P25Q16SH Datasheet LB3, LB2, LB1, bits. The LB3, LB2, LB1, bits are non-volatile One Time Program (OTP) bits in Status Register (S13-S11) that provide the write protect control and status to the Security Registers. The default state of LB3-LB1are0, the security registers are unlocked. The LB3-LB1bitscan be set to 1 individually using the Write Register instruction. The LB3-LB1bits are One Time Programmable, once its set to 1, the Security Registers will become read-only permanently. CMP bit The CMP bit is a non-volatile Read/Write bit in the Status Register(S14). It is used in conjunction the BP4-BP0 bits to provide more flexibility for the array protection. Please see the table “Protected Area Size” for details. The default setting is CMP=0. SUS bit The SUS bit is read only bit in the status register (S15) that is set to 1 after executing an Program/Erase Suspend (75H) command. The SUS bit is cleared to 0 by Program/Erase Resume (7AH) command as well as a power-down, power-up cycle. 10.6 Read Configure Register (RDCR) The RDCR instruction is for reading Configure Register Bits. The Read Configure Register can be read at any time (even in program/erase/write status register condition). It is recommended to check the Write in Progress (WIP) bit before sending a new instruction when a program, erase, or write status register operation is in progress. The sequence of issuing RDCR instruction is: CS# goes low→ sending RDCR instruction code→ Configure Register data out on SO. The SIO[3:1] are "don't care". Figure 10-6 Read Status Register (RDCR) Sequence (Command 15) CS# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 SCLK Command SI 15H High-Z SO Configure Register Out 7 6 MSB 5 4 3 2 Configure Register Out 1 0 4 5 7 6 MSB 5 4 3 2 1 0 7 Figure 10-6a Read Status Register (RDCR) Sequence (QPI) CS# 0 1 2 3 SCLK Command 15H SI(IO0) 4 0 4 0 4 SO(IO1) 5 1 5 1 5 WP#(IO2) 6 2 6 2 6 7 3 7 3 7 HOLD#(IO3) C7-C0 out Puya Semiconductor Page 34 of 108 P25Q16SH Datasheet Configure Register Bit7 HOLD/RST Bit6 DRV1 Bit5 DRV0 Bit4 MPM1 Bit3 MPM0 Bit2 WPS Bit1 DC Bit0 DLP HOLD/RST bit. The HOLD/RST bit is a non-volatile Read/Write bit in the Configure Register which is used to determine whether /HOLD or /RESET function should be implemented on the hardware pin for 8-pin packages. When HOLD/RST=0 (factory default), the pin acts as /HOLD; when HOLD/RST=1, the pin acts as /RESET. However, /HOLD or /RESET functions are only available when QE=0. If QE is set to 1, the /HOLD and /RESET functions are disabled, the pin acts as a dedicated data I/O pin. DRV1 & DRV0 bit. The DRV1 & DRV0 bits are non-volatile Read/Write bits which are used to determine the output driver strength for the Read operations. DRV1,DRV0 Drive Strength 0,0 (default) 60% 0,1 100% 1,0 140% 1,1 40% MPM1 & MPM0 bit. The Multi Page Mode(MPM) bits are volatile Read/Write bits which allows Quad/Dual Page operation. MPM1,MPM0 Page Size 0,0 (default) 256byte 0,1 512byte 1,0 1024byte 1,1 reserved The page size is defined by MPM bits as above table. When the MPM bits are set to (0,0) (Default) the page size is 256bytes. When the MPM bits are set to (0,1), the page size is 512bytes. When the MPM bits are set to (1,0), the page size is 1024bytes. This bit controls the page programming buffer address wrap point. Legacy SPI devices generally have used a 256 Byte page programming buffer and defined that if data is loaded into the buffer beyond the 255 Byte locations, the address at which additional bytes are loaded would be wrapped to address zero of the buffer. The P25Q16SH provides a 512/1024 Byte page programming buffer that can increase programming performance. For legacy software compatibility, this configuration bit provides the option to continue the wrapping behavior at the 256 Byte boundary or to enable full use of the available 512/1024 Byte buffer by not wrapping the load address at the 256 Byte boundary. When the MPM bits are set to (0,1), the page erase instruction (81h) will erase the data of the chosen Dual Page to be "1". When the MPM bits are set to (1,0), the page erase instruction (81h) will erase the data of the chosen Quad Page to be "1". WPS bit. The WPS bit is a non-volatile Read/Write bit in the Configure Register which is used to select which Write Protect scheme should be used. When WPS=0(default), the device will use the combination of CMP, BP[4:0] bits to protect a specific area of the memory array. When WPS=1, the device will utilize the Individual Block Locks to protect any individual sector or blocks. The default value for all Individual Block Lock bits is 1 upon device power on or after reset. Puya Semiconductor Page 35 of 108 P25Q16SH Datasheet DC bit The Dummy Cycle (DC) bit is a volatile bit. The Dummy Cycle (DC) bit can be used to configure the number of dummy clocks for “SPI 2 X IO Read (BBH)” command, “SPI 4X I/O Read (EBH)” command. Table Dummy Cycle Table DC1 SPI command BB SPI EB SPI 0(default) 1 0(default) 1 Number of dummy cycles 4 8 6 10 Max Read Freq. 104MHz 133MHz 104MHz 133MHz DLP bit. The DLP bit is Data Learning Pattern Enable bit, which is volatile writable by 11H command. For DTR Read commands, a pre-defined “Data Learning Pattern” can be used by the flash memory controller to determine the flash data output timing on I/O pins. When DLP=1, in dummy cycles, the flash will output “00110100” Data Learning Pattern sequence on each of the I/O pins . During this period, controller can fine tune the data latching timing for each I/O pins to achieve optimum system performance. DLP=0(default) will disable the Data Learning Pattern output. 10.7 Write Status Register (WRSR) The Write Status Register (WRSR) command allows new values to be written to the Status Register. Before it can be accepted, a Write Enable (WREN) command must previously have been executed. After the Write Enable (WREN) command has been decoded and executed, the device sets the Write Enable Latch (WEL). The Write Status Register (WRSR) command has no effect on S15, S10, S1 and S0 of the Status Register. CS# must be driven high after the eighth or sixteen bit of the data byte has been latched in. If not, the Write Status Register (WRSR) command is not executed. If CS# is driven high after eighth bit of the data byte, the CMP and QE and SRP1 bits will be cleared to 0. As soon as CS# 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) command allows the user to change the values of the Block Protect (BP4, BP3, BP2, BP1, and BP0) bits, to define the size of the area that is to be treated as read-only, as defined in Table1. The Write Status Register (WRSR) command also allows the user to set or reset the Status Register Protect (SRP1 and SRP0) bits in accordance with the Write Protect (WP#) signal. The Status Register Protect (SRP1 and SRP0) bits and Write Protect (WP#) signal allow the device to be put in the Hardware Protected Mode. The Write Status Register (WRSR) command is not executed once the Hardware Protected Mode is entered. The sequence of issuing WRSR instruction is: CS# goes low→ sending WRSR instruction code→ Status Register data on SI→CS# goes high. The CS# must go high exactly at the 8 bits data boundary; otherwise, the instruction will be rejected and not executed. The self-timed Write Status Register cycle time (tW) is initiated as soon as Chip Select (CS#) goes high. The Write in Progress (WIP) bit still can be checked during the Write Status Register cycle is in progress. The WIP sets 1 during the tW timing, and sets 0 when Write Status Register Cycle is completed, and the Write Enable Latch (WEL) bit is reset. Puya Semiconductor Page 36 of 108 P25Q16SH Datasheet Figure 10-7 Write Status Register (WRSR) Sequence (Command 01 or 31) CS# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SCLK Command Status Register0/1 in 01 H or 31H SI 7 6 5 MSB 4 3 2 1 0 High-Z SO Figure 10-7a Write Status Register (WRSR) Sequence (QPI) CS# 0 1 2 3 SCLK Command 01H or 31H SI(IO0) 4 0 SO(IO1) 5 1 WP#(IO2) 6 2 HOLD#(IO3) 7 3 Status Register0/1 10.8 Write Status Register with ordering option "D"(WRSR) The Write Status Register (WRSR) command with ordering option "D" allows new values to be written to the Status Register. Before it can be accepted, a Write Enable (WREN) command must previously have been executed. After the Write Enable (WREN) command has been decoded and executed, the device sets the Write Enable Latch (WEL). The Write Status Register (WRSR) command has no effect on S15, S10, S1 and S0 of the Status Register. CS# must be driven high after the eighth or sixteen bit of the data byte has been latched in. If not, the Write Status Register (WRSR) command is not executed. If CS# is driven high after eighth bit of the data byte, the CMP and QE and SRP1 bits will be cleared to 0. As soon as CS# 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) command allows the user to change the values of the Block Protect (BP4, BP3, BP2, BP1, and BP0) bits, to define the size of the area that is to be treated as read-only, as defined in Table1. The Write Status Register (WRSR) command also allows the user to set or reset the Status Register Protect (SRP1 and SRP0) bits in accordance with the Write Protect (WP#) signal. The Status Register Protect (SRP1 and SRP0) bits and Write Protect (WP#) signal allow the device to be put in the Hardware Protected Puya Semiconductor Page 37 of 108 P25Q16SH Datasheet Mode. The Write Status Register (WRSR) command is not executed once the Hardware Protected Mode is entered. The sequence of issuing WRSR instruction is: CS# goes low→ sending WRSR instruction code→ Status Register data on SI→CS# goes high. The CS# must go high exactly at the 8 bits data boundary; otherwise, the instruction will be rejected and not executed. The self-timed Write Status Register cycle time (tW) is initiated as soon as Chip Select (CS#) goes high. The Write in Progress (WIP) bit still can be checked during the Write Status Register cycle is in progress. The WIP sets 1 during the tW timing, and sets 0 when Write Status Register Cycle is completed, and the Write Enable Latch (WEL) bit is reset. Command code "31H" is invalid with ordering option "D" Figure 10-8 Write Status Register (WRSR) Sequence (Command 01) CS# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 7 6 SCLK Command SI 01H Status Register in 5 MSB 4 3 2 0 15 14 13 12 11 10 9 1 8 High-Z SO Figure 10-8a Write Status Register (WRSR) Sequence (QPI) CS# 0 1 2 3 4 5 SCLK Command 01H SI(IO0) 4 0 12 8 SO(IO1) 5 1 13 9 WP#(IO2) 6 2 14 10 HOLD#(IO3) 7 3 15 11 Status Register in Puya Semiconductor Page 38 of 108 P25Q16SH Datasheet 10.9 Write Configure Register (WRCR) The Write Configure Register (WRCR) command allows new values to be written to the Configure Register. Before it can be accepted, a Write Enable (WREN) command must previously have been executed. After the Write Enable (WREN) command has been decoded and executed, the device sets the Write Enable Latch (WEL). The sequence of issuing WRCR instruction is: CS# goes low→ sending WRCR instruction code→ Configure Register data on SI→CS# goes high. The CS# must go high exactly at the 8 bits data boundary; otherwise, the instruction will be rejected and not executed. The self-timed Write Status Register cycle time (tW) is initiated as soon as Chip Select (CS#) goes high. The Write in Progress (WIP) bit still can be checked during the Write Status Register cycle is in progress. The WIP sets 1 during the tW timing, and sets 0 when Write Configure Register Cycle is completed, and the Write Enable Latch (WEL) bit is reset. Figure 10-9 Write Configure Register (WRCR) Sequence (Command 11) CS# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SCLK Command SI Configure Register in 11H 7 6 5 MSB 4 3 2 1 0 High - Z SO Figure 10-9a Write Configure Register (WRCR) Sequence (QPI) CS# 0 1 2 3 SCLK Command 11H SI(IO0) 4 0 SO(IO1) 5 1 WP#(IO2) 6 2 HOLD#(IO3) 7 3 Configure Register in Puya Semiconductor Page 39 of 108 P25Q16SH Datasheet 10.10 Read Data Bytes (READ) The read instruction is for reading data out. The address is latched on rising edge of SCLK, and data shifts out on the falling edge of SCLK at a maximum frequency fR. The first address byte can be at any location. The address is automatically increased to the next higher address after each byte data is shifted out, so the whole memory can be read out at a single READ instruction. The address counter rolls over to 0 when the highest address has been reached. The sequence of issuing READ instruction is: CS# goes low→ sending READ instruction code→ 3-byte address on SI→ data out on SO→ to end READ operation can use CS# to high at any time during data out. Figure 10-10 Read Data Bytes (READ) Sequence (Command 03) CS# 0 1 2 3 4 5 6 7 8 9 10 28 29 30 31 32 33 34 35 36 37 38 39 SCLK Command SI 24 - bit address 03H 23 22 21 2 1 0 Data Out1 MSB High - Z SO 3 MSB 7 6 5 4 3 2 Data Out2 1 0 10.11 Fast Read (FREAD) The FAST READ instruction is for quickly reading data out. The address is latched on rising edge of SCLK, and data of each bit shifts out on the falling edge of SCLK at a maximum frequency fC. The first address byte can be at any location. The address is automatically increased to the next higher address after each byte data is shifted out, so the whole memory can be read out at a single FREAD instruction. The address counter rolls over to 0 when the highest address has been reached. The sequence of issuing FREAD instruction is: CS# goes low→ sending FREAD instruction code→3-byte address on SI→ 1-dummy byte address on SI→data out on SO→ to end FREAD operation can use CS# to high at any time during data out. While Program/Erase/Write Status Register cycle is in progress, FREAD instruction is rejected without any impact on the Program/Erase/Write Status Register current cycle. Figure 10-10 Fast Read (FREAD) Sequence (Command 0B) CS# 0 1 2 3 4 5 6 7 8 9 10 28 29 30 31 SCLK Command SI 24-bit address 0BH 23 22 21 3 2 1 0 High - Z SO CS# 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 SCLK DummyByte SI 7 6 5 4 3 2 1 0 Data Out1 SO Puya Semiconductor 7 6 MSB 5 4 3 Data Out2 2 1 0 7 6 MSB 5 Page 40 of 108 P25Q16SH Datasheet Fast Read in QPI mode The Fast Read command is also supported in QPI mode. In QPI mode, the number of dummy clocks is configured by the “Set Read Parameters (C0H)” command to accommodate a wide range application with different needs for either maximum Fast Read frequency or minimum data access latency. Depending on the Read Parameter Bits P[5:4] setting, the number of dummy clocks can be configured as either 4/6/8. Figure 10-10a Fast Read Sequence (QPI) CS# 0 1 2 3 4 5 6 7 8 9 17 18 19 20 21 SCLK Command 0BH A23-16 A15-8 A7-0 IO switch from input to output Dummy* SI(IO0) 20 16 12 8 4 0 4 0 4 0 4 SO(IO1) 21 17 13 9 5 1 5 1 5 1 5 WP#(IO2) 22 18 14 10 6 2 6 2 6 2 6 HOLD#(IO3) 23 19 15 11 7 3 7 3 7 3 7 Byte1 *“Set Read Parameters” command (C0H) can set the number of dummy clocks Byte2 10.12 DTR Fast Read(DTR_FREAD) The DTR Fast Read instruction is similar to the Fast Read instruction except that the 24-bit address input and the data output require DTR (Double Transfer Rate) operation. This is accomplished by adding six “dummy” clocks after the 24-bit address. The dummy clocks allow the devices internal circuits additional time for setting up the initial address. During the dummy clocks the data value on the DO pin is a “don’t care”. Figure 10-11 DTR Fast Read Sequence (Command 0D) CS# 0 1 2 3 4 5 6 7 8 9 10 17 18 19 SCLK 24- Bit Address Command 0DH SI 23 22 21 20 19 18 5 4 3 2 1 0 High Impedance SO CS# 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 SCLK SI 0 6 Dummy Clocks Data Out 1 SO Puya Semiconductor Data Out 2 Data Out 3 High Impedance D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 Page 41 of 108 P25Q16SH Datasheet DTR Fast Read in QPI Mode The DTR Fast Read instruction is also supported in QPI mode. Figure 10-11a DTR Fast Read Sequence (QPI) CS# 0 1 2 3 4 5 A23-16 A15 - 8 A7 - 0 12 13 14 SCLK Command 0Dh Ios switch from input to output 8 Dummy Clocks SI(IO0) 20 16 12 8 4 0 4 0 4 0 4 SO(IO1) 21 17 13 9 5 1 5 1 5 1 5 WP #(IO2) 22 18 14 10 6 2 6 2 6 2 6 HOLD#(IO 3) 23 19 15 11 7 3 7 3 7 3 7 Byte1 Byte2 Byte3 10.13 Dual Read (DREAD) The DREAD instruction enable double throughput of Serial NOR Flash in read mode. The address is latched on rising edge of SCLK, and data of every two bits (interleave on 2 I/O pins) shift out on the falling edge of SCLK at a maximum frequency fT. The first address byte can be at any location. The address is automatically increased to the next higher address after each byte data is shifted out, so the whole memory can be read out at a single DREAD instruction. The address counter rolls over to 0 when the highest address has been reached. Once writing DREAD instruction, the following data out will perform as 2-bit instead of previous 1-bit. The sequence of issuing DREAD instruction is: CS# goes low → sending DREAD instruction → 3-byte address on SI → 8-bit dummy cycle → data out interleave on SIO1 & SIO0 → to end DREAD operation can use CS# to high at any time during data out. While Program/Erase/Write Status Register cycle is in progress, DREAD instruction is rejected without any impact on the Program/Erase/Write Status Register current cycle. Figure 10-12 Dual Read Mode Sequence (Command 3B) CS# 0 1 2 3 4 5 6 7 8 9 10 28 29 30 31 SCLK Command SI SO 24- bit address 3BH 23 22 21 3 2 1 0 High - Z CS# 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 SCLK Dummy Clocks SI SO Puya Semiconductor 6 4 2 0 6 4 2 0 6 Data Out1 Data Out2 7 5 3 1 7 5 3 1 MSB MSB 7 Page 42 of 108 P25Q16SH Datasheet 10.14 2IO Read (2READ) The 2READ instruction enables Double Transfer Rate of Serial NOR Flash in read mode. The address is latched on rising edge of SCLK, and data of every two bits (interleave on 2 I/O pins) shift out on the falling edge of SCLK at a maximum frequency fT. The first address byte can be at any location. The address is automatically increased to the next higher address after each byte data is shifted out, so the whole memory can be read out at a single 2READ instruction. The address counter rolls over to 0 when the highest address has been reached. Once writing 2READ instruction, the following address/dummy/data out will perform as 2bit instead of previous 1-bit. The sequence of issuing 2READ instruction is: CS# goes low→ sending 2READ instruction→ 24-bit address interleave on SIO1 & SIO0→ 8-bit dummy cycle on SIO1 & SIO0→ data out interleave on SIO1 & SIO0→ to end 2READ operation can use CS# to high at any time during data out. While Program/Erase/Write Status Register cycle is in progress, 2READ instruction is rejected without any impact on the Program/Erase/Write Status Register current cycle. Figure 10-13 2IO Read Sequence (Command BB M5-4 ≠ (1,0)) CS# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 SCLK Command SI(IO0) BBH 6 SO(IO1) 7 4 2 0 6 5 3 1 7 A23-16 4 2 0 6 5 3 1 7 A15-8 4 2 0 5 3 1 A7-0 6 4 2 0 7 5 3 1 M7-0/dummy CS# 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 SCLK SI(IO0) 6 4 2 0 6 4 2 0 6 4 2 0 6 4 2 0 6 SO(IO1) 7 5 3 1 7 5 3 1 7 5 3 1 7 5 3 1 7 Byte1 Byte2 Byte3 Byte4 Note: 1. M[5-4] = (1,0) is inhibited. 2. DC bit can set the number of dummy clocks. Puya Semiconductor Page 43 of 108 P25Q16SH Datasheet 2IO Continuous Read “BBh” command supports 2IO Continuous Read which can further reduce command overhead through setting the “Continuous Read Mode” bits (M7-0) after the input 3-byte address (A23-A0). If the “Continuous Read Mode” bits (M5-4) = (1, 0), then the next 2IO Read command (after CS# is raised and then lowered) does not require the BBH command code. If the “Continuous Read Mode” bits (M5-4) do not equal (1, 0), the next command requires the first BBH command code, thus returning to normal operation. A “Continuous Read Mode” Reset command can be used to reset (M5-4) before issuing normal command. Figure 10-13a 2IO Continue Read ( M5-4 = (1,0) ) CS# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 SCLK Command SI(IO0) BBH SO(IO1) 6 4 2 0 6 4 2 0 6 4 2 0 6 4 2 0 7 5 3 1 7 5 3 1 7 5 3 1 7 5 3 1 A23-16 A15-8 A7-0 M7-0/dummy CS# 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 SCLK SI(IO0) 6 4 2 0 6 4 2 0 6 4 2 0 6 4 2 0 6 SO(IO1) 7 5 3 1 7 5 3 1 7 5 3 1 7 5 3 1 7 Byte1 Byte2 Byte3 Byte4 CS# 0 1 2 3 4 5 6 7 8 SI(IO0) 6 4 2 0 6 4 2 0 6 4 2 0 6 4 2 0 6 4 2 0 6 4 2 0 6 SO(IO1) 7 5 3 1 7 5 3 1 7 5 3 1 7 5 3 1 7 5 3 1 7 5 3 1 7 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 SCLK A23-16 A15-8 A7-0 M7-0/dummy Byte1 Byte2 Note: 1. 2IO Continue Read, if M5-4 = 1, 0. If not using Continue Read recommend to set M5-4 ≠ 1, 0. 2. DC bit can set the number of dummy clocks. Puya Semiconductor Page 44 of 108 P25Q16SH Datasheet 10.15 DTR 2IO Read (DTR_2READ) The DTR 2IO Read (BDh) instruction allows for improved random access while maintaining two IO pins, IO0 and IO1. It is similar to the DREAD (3Bh) instruction but with the capability to input the Address bits (A23-0) two bits per clock. This reduced instruction overhead may allow for code execution (XIP) directly from the Dual SPI in some applications. Figure 10-14 DTR 2IO Read Sequence (Command BD M5-4 ≠ (1,0)) CS# 0 1 2 3 4 5 6 7 9 8 10 12 11 13 14 15 SCLK Command A23 - 16 BDH SI SO A15 - 8 A7- 0 M7- 0 22 20 18 16 14 12 10 8 6 4 2 0 6 4 2 0 23 21 19 17 15 13 11 9 7 5 3 1 7 5 1 3 CS# 15 16 17 18 19 20 21 22 23 26 25 24 27 SCLK Ios switch from input to output SI 0 6 4 2 0 6 4 2 0 6 4 2 0 6 4 2 0 6 SO 1 7 1 7 5 3 1 7 5 3 1 7 5 3 1 7 5 3 Byte 1 Byte 2 Byte3 Byte 4 DTR 2IO Continuous Read The BDh instruction supports Continuous Read Mode which can further reduce overhead through setting the "continuous Read Mode" bits(M7-0) after the input 3-byte address (A23-A0). If the “Continuous Read Mode” bits (M5-4) = (1, 0), then the next Read command (after CS# is raised and then lowered) does not require the BDH command code. If the “Continuous Read Mode” bits (M5-4) do not equal (1, 0), the next command requires the first BDH command code, thus returning to normal operation. It is recommended to input FFFFh on IO0 for the next instruction (16 clocks), to ensure M4 = 1 and return the device to normal operation. Puya Semiconductor Page 45 of 108 P25Q16SH Datasheet Figure 10-14a DTR 2IO Continuous Read Sequence (Command BD M5-4 = (1,0)) CS# 0 1 2 3 4 5 6 7 SCLK A23-16 A15-8 A7-0 M7-0 SI 22 20 18 16 14 12 10 8 6 4 2 0 6 4 2 0 SO 23 21 19 17 15 13 11 9 7 5 3 1 7 5 3 1 CS# 7 8 9 10 11 12 13 14 15 16 17 18 19 SCLK Ios switch from input to output SI 0 6 4 2 0 6 4 2 0 6 4 2 0 6 4 2 0 6 SO 1 7 5 3 1 7 5 3 1 7 5 3 1 7 5 3 1 7 Byte 1 Puya Semiconductor Byte 2 Byte 3 Byte 4 Page 46 of 108 P25Q16SH Datasheet 10.16 Quad Read (QREAD) The QREAD instruction enable quad throughput of Serial NOR Flash in read mode. A Quad Enable (QE) bit of status Register must be set to "1" before sending the QREAD instruction. The address is latched on rising edge of SCLK, and data of every four bits (interleave on 4 I/O pins) shift out on the falling edge of SCLK at a maximum frequency fQ. The first address byte can be at any location. The address is automatically increased to the next higher address after each byte data is shifted out, so the whole memory can be read out at a single QREAD instruction. The address counter rolls over to 0 when the highest address has been reached. Once writing QREAD instruction, the following data out will perform as 4-bit instead of previous 1-bit. The sequence of issuing QREAD instruction is: CS# goes low→ sending QREAD instruction → 3-byte address on SI → 8-bit dummy cycle → data out interleave on SIO3, SIO2, SIO1 & SIO0→ to end QREAD operation can use CS# to high at any time during data out. While Program/Erase/Write Status Register cycle is in progress, QREAD instruction is rejected without any impact on the Program/Erase/Write Status Register current cycle. Figure 10-15 Quad Read Sequence (Command 6B) CS# 0 1 2 3 4 5 6 7 8 9 10 28 29 30 31 SCLK Command SI(IO0) 24-Bit address 6BH 23 SO(IO1) High-Z WP#(IO2) High-Z HOLD#(IO3) High-Z 22 21 3 2 1 0 CS# 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 SCLK Dummy Clocks SI(IO0) 4 0 4 0 4 0 4 0 4 SO(IO1) 5 1 5 1 5 1 5 1 5 WP#(IO2) 6 2 6 2 6 2 6 2 6 7 3 7 3 7 3 7 3 7 HOLD#(IO3) Byte1 Puya Semiconductor Byte2 Byte3 Byte4 Page 47 of 108 P25Q16SH Datasheet 10.17 4IO Read (4READ) The 4READ instruction enable quad throughput of Serial NOR Flash in read mode. A Quad Enable (QE) bit of status Register must be set to "1" before sending the 4READ instruction. The address is latched on rising edge of SCLK, and data of every four bits (interleave on 4 I/O pins) shift out on the falling edge of SCLK at a maximum frequency fQ. The first address byte can be at any location. The address is automatically increased to the next higher address after each byte data is shifted out, so the whole memory can be read out at a single 4READ instruction. The address counter rolls over to 0 when the highest address has been reached. Once writing 4READ instruction, the following address/dummy/data out will perform as 4-bit instead of previous 1bit. The sequence of issuing 4READ instruction is: CS# goes low→ sending 4READ instruction→ 24-bit address interleave on SIO3, SIO2, SIO1 & SIO0→2+4 dummy cycles→data out interleave on SIO3, SIO2, SIO1 & SIO0→ to end 4READ operation can use CS# to high at any time during data out. While Program/Erase/Write Status Register cycle is in progress, 4READ instruction is rejected without any impact on the Program/Erase/Write Status Register current cycle. Figure 10-16 4IO Read Sequence (Command EB M5-4 ≠ (1,0)) CS# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 SCLK Command SI(IO0) EBH 4 0 4 0 4 0 4 0 4 0 4 0 4 SO(IO1) 5 1 5 1 5 1 5 1 5 1 5 1 5 WP#(IO2) 6 2 6 2 6 2 6 2 6 2 6 2 6 HOLD#(IO3) 7 3 7 3 7 3 7 3 7 3 7 3 7 A23-16 A15-8 A7-0 M7-0 Dummy Byte1 Byte2 Note: 1. Hi-impedance is inhibited for the two clock cycles. 2. M[5-4] = (1,0) is inhibited. 3. DC bit can set the number of dummy clocks. Puya Semiconductor Page 48 of 108 P25Q16SH Datasheet 4IO Read in QPI mode The 4READ instruction is also supported in QPI mode. When QPI mode is enabled, the number of dummy clocks is configured by the “Set Read Parameters (C0h)” instruction to accommodate a wide range of applications with different needs for either maximum Fast Read frequency or minimum data access latency. Depending on the Read Parameter Bits P[5:4] setting, the number of dummy clocks can be configured as either 10, 4, 6 or 8. The default number of dummy clocks upon power up or after a Reset instruction is 10. In QPI mode, the “Continuous Read Mode” bits M7- 0 are also considered as dummy clocks. In the default setting, the data output will follow the Continuous Read Mode bits immediately. “Continuous Read Mode” feature is also available in QPI mode for 4IO Read instruction. Please refer to the description on next pages. “Wrap Around” feature is not available in QPI mode for 4IO Read instruction. To perform a read operation with fixed data length wrap around in QPI mode, a dedicated “Burst Read with Wrap” (0Ch) instruction must be used. Figure 10-16a 4IO Read in QPI mode Sequence (QPI M5-4 ≠ (1,0)) CS# 0 1 2 3 4 5 6 7 8 9 17 18 19 20 21 SCLK Command EBH A23-16 IO switch from input to output Dummy* A15-8 A7-0 M7-0 SI(IO0) 20 16 12 8 4 0 4 0 4 0 4 0 4 SO(IO1) 21 17 13 9 5 1 5 1 5 1 5 1 5 WP#(IO2) 22 18 14 10 6 2 6 2 6 2 6 2 6 HOLD#(IO3) 23 19 15 11 7 3 7 3 7 3 7 3 7 *“Set Read Parameters” command (C0H) can set the number of dummy clocks Byte1 Byte2 Note: 1. Hi-impedance is inhibited for the two clock cycles. 2. M[5-4] = (1,0) is inhibited. Puya Semiconductor Page 49 of 108 P25Q16SH Datasheet 4IO Continuous Read “EBh” command supports 4IO Continuous Read which can further reduce command overhead through setting the “Continuous Read Mode” bits (M7-0) after the input 3-byte address (A23-A0). If the “Continuous Read Mode” bits (M5-4) = (1, 0), then the next 4IO Read command (after CS# is raised and then lowered) does not require the EBH command code. If the “Continuous Read Mode” bits (M5-4) do not equal (1, 0), the next command requires the first EBH command code, thus returning to normal operation. A “Continuous Read Mode” Reset command can be used to reset (M5-4) before issuing normal command. Figure 10-16b 4IO Continuous Read Sequence ( M5-4 = (1,0) ) CS# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 SCLK Command SI(IO0) EBH 4 0 4 0 4 0 4 0 4 0 4 0 4 SO(IO1) 5 1 5 1 5 1 5 1 5 1 5 1 5 WP#(IO2) 6 2 6 2 6 2 6 2 6 2 6 2 6 HOLD#(IO3) 7 3 7 3 7 3 7 3 7 3 7 3 7 A23-16 A15-8 A7-0 M7-0 Dummy Byte1 Byte2 CS# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SI(IO0) 4 0 4 0 4 0 4 0 4 0 4 0 4 SO(IO1) 5 1 5 1 5 1 5 1 5 1 5 1 5 WP#(IO2) 6 2 6 2 6 2 6 2 6 2 6 2 6 HOLD#(IO3) 7 3 7 3 7 3 7 3 7 3 7 3 7 SCLK A23-16 A15-8 A7-0 M7-0 Dummy Byte1 Byte2 Note: 1. 4IO Continuous Read Mode, if M5-4 = 1, 0. If not using Continuous Read recommend to set M5-4 ≠ 1, 0. 2. DC bit can set the number of dummy clocks. Puya Semiconductor Page 50 of 108 P25Q16SH Datasheet 10.18 Set Burst Read The Set Burst with Wrap command is used in conjunction with “4IO Read” command to access a fixed length of 8/16/32/64-byte section within a 256-byte page, in standard SPI mode. The Set Burst with Wrap command sequence: CS# goes low → Send Set Burst with Wrap command → Send 24 dummy bits→ Send 8 bits “Wrap bits” → CS# goes high. W4=0 W6,W5 W4=1 (default) Wrap Aroud Wrap Length Wrap Aroud Wrap Length 0,0 Yes 8-byte No N/A 0,1 Yes 16-byte No N/A 1,0 Yes 32-byte No N/A 1,1 Yes 64-byte No N/A If the W6-W4 bits are set by the Set Burst with Wrap command, all the following “4IO Read” command will use the W6-W4 setting to access the 8/16/32/64-byte section within any page. To exit the “Wrap Around” function and return to normal read operation, another Set Burst with Wrap command should be issued to set W4=1. Figure 10-17 Set Burst Read (SBL) Sequence (Command 77) CS# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SCLK Command SI(IO0) 77H X X X X X X 4 X SO(IO1) X X X X X X 5 X WP#(IO2) X X X X X X 6 X HOLD#(IO3) X X X X X X X X W6-W4 Puya Semiconductor Page 51 of 108 P25Q16SH Datasheet 10.19 DTR 4IO Read (DTR_4READ) The DTR 4IO Read (EDh) instruction is similar to the DTR 2IO Read (BDh) instruction, except that address and data bits are input and output through four pins IO0, IO1, IO2 and IO3, and 1 byte “Continuous Read Mode” data(M7-0) and 7 Dummy clocks are required in SPI mode prior to the data output. The Quad I/O dramatically reduces instruction overhead allowing faster random access for code execution (XIP) directly from the Quad SPI. The Quad Enable bit (QE) of Status Register-2 must be set to enable the DTR 4IO Read Instruction. Figure 10-18 DTR 4IO Read Mode Sequence (Command ED M5-4 ≠ (1,0)) CS# SCLK 0 1 2 3 4 5 6 7 8 9 10 11 12 18 EDH 20 IO s witch from input to output Command SI(IO0) 19 4 0 4 0 4 0 4 0 4 0 4 0 4 SO(IO1) 5 1 5 1 5 1 5 1 5 1 5 1 5 WP#(IO2) 6 2 6 2 6 2 6 2 6 2 6 2 6 HOLD#(IO3) 7 3 7 3 7 3 7 3 A23-16 A15-8 A7-0 M7-0 7Dummy clocks 7 3 7 3 7 Byte 1 Byte 2 Note: 1. Hi-impedance is inhibited for the mode clock cycles. 2. M[5-4] = (1,0) is inhibited. DTR 4IO Continuous Read The DTR 4IO Read instruction can further reduce instruction overhead through setting the “Continuous Read Mode” bits (M7-0) after the input Address bits (A23/A31-0). The upper nibble of the (M7-4) controls the length of the next DTR 4IO Read instruction through the inclusion or exclusion of the first byte instruction code. The lower nibble bits of the (M3-0) are don’t care (“x”). However, the IO pins should be high-impedance prior to the falling edge of the first data out clock. If the “Continuous Read Mode” bits M5-4 = (1,0), then the next DTR 4IO Read instruction (after /CS is raised and then lowered) does not require the EDh instruction code. This reduces the instruction sequence by eight clocks and allows the Read address to be immediately entered after /CS is asserted low. If the “Continuous Read Mode” bits M5-4 do not equal to (1,0), the next instruction (after /CS is raised and then lowered) requires the first byte instruction code, thus returning to normal operation. It is recommended to input FFh on IO0 for the next instruction (8 clocks), to ensure M4 = 1 and return the device to normal operation. Puya Semiconductor Page 52 of 108 P25Q16SH Datasheet Figure 10-18a DTR 4IO Continuous Read Mode Sequence (Command ED M5-4 = (1,0)) CS# 0 1 2 3 4 10 12 11 SCLK SI(IO0) 4 0 4 0 4 0 4 0 IO switch from input to output 4 0 4 0 SO(IO1) 5 1 5 1 5 1 5 1 5 1 5 1 5 WP#(IO2) 6 2 6 2 6 2 6 2 6 2 6 2 6 HOLD#(IO3) 7 3 7 3 7 3 7 3 7 3 7 3 7 A23-16 A15-8 A7-0 M7-0 7Dummy clocks Byte 1 Byte2 4 Byte3 Note: 1. Hi-impedance is inhibited for the mode clock cycles. 2. DTR 4IO Continuous Read Mode, if M5-4 = 1, 0. If not using Continuous Read recommend to set M5-4 ≠ 1, 0. DTR 4IO Read with “8/16/32/64-Byte Wrap Around” in Standard SPI mode The DTR 4IO Read instruction can also be used to access a specific portion within a page by issuing a “Set Burst Read” (77h) command prior to EDh. The “Set Burst Read” (77h) command can either enable or disable the “Wrap Around” feature for the following EDh commands. When “Wrap Around” is enabled, the data being accessed can be limited to either an 8, 16, 32 or 64-byte section of a 256-byte page. The output data starts at the initial address specified in the instruction, once it reaches the ending boundary of the 8/16/32/64-byte section, the output will wrap around to the beginning boundary automatically until /CS is pulled high to terminate the command. The Burst with Wrap feature allows applications that use cache to quickly fetch a critical address and then fill the cache afterwards within a fixed length (8/16/32/64-byte) of data without issuing multiple read commands. The “Set Burst Read” instruction allows three “Wrap Bits”, W6-4 to be set. The W4 bit is used to enable or disable the “Wrap Around” operation while W6-5 are used to specify the length of the wrap around section within a page. DTR 4IO Read (EDh) in QPI Mode The DTR 4IO Read instruction is also supported in QPI mode. In QPI mode, the “Continuous Read Mode” bits M7-0 are also considered as dummy clocks. In the default setting, the data output will follow the Continuous Read Mode bits immediately. “Continuous Read Mode” feature is also available in QPI mode for Fast Read Quad I/O instruction. “Wrap Around” feature is not available in QPI mode for DTR 4IO Read instruction. To perform a read operation with fixed data length wrap around in QPI mode, a dedicated “Burst Read with Wrap” (0Ch) instruction must be used. Puya Semiconductor Page 53 of 108 P25Q16SH Datasheet Figure 10-18b DTR 4IO Read Mode Sequence (QPI ED M5-4 ≠ (1,0)) CS# 0 1 2 3 5 4 6 12 14 13 SCLK 4 0 4 0 4 0 4 0 IO switch from input to output 4 0 4 0 SO( IO1) 5 1 5 1 5 1 5 1 5 1 5 1 5 WP# (IO2) 6 2 6 2 6 2 6 2 6 2 6 2 6 HOLD# (IO3) 7 3 7 3 7 3 7 3 7 3 7 3 7 Command EDH SI( IO0) A23-16 A15-8 A7-0 7Dummy clocks M7-0 4 Byte3 Byte 1 Byte2 Note: 1. Hi-impedance is inhibited for the two clock cycles. 2. M[5-4] = (1,0) is inhibited. 10.20 4IO Word Read(E7h) The 4IO Word Read command is similar to the 4 IO Read command except that the lowest address bit (A0) must equal 0 and only 2-dummy clock. 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 Quad Enable bit (QE) of Status Register (S9) must be set to enable for the 4IO Word read command. Figure 10-19 4IO Word Read Sequence ( M5-4 ≠ (1,0) ) CS# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 SCLK Command SI(IO0) E7H 4 0 4 0 4 0 4 0 4 0 4 0 4 SO(IO1) 5 1 5 1 5 1 5 1 5 1 5 1 5 WP#(IO2) 6 2 6 2 6 2 6 2 6 2 6 2 6 HOLD#(IO3) 7 3 7 3 7 3 7 3 7 3 7 3 7 A23-16 A15-8 A7-0 M7-0 Dummy Byte1 Byte2 4IO Word Read with “Continuous Read Mode” The 4IO Word Read command can further reduce command overhead through setting the “Continuous Read Mode” bits (M7-0) after the input 3-byte address (A23-A0). If the “Continuous Read Mode” bits (M5-4) = (1, 0), then the next 4IO Word Read command (after CS# is raised and then lowered) does not require the E7H command code. If the “Continuous Read Mode” bits (M5-4) do not equal to (1, 0), the next command requires the first E7H command code, thus returning to normal operation. A “Continuous Read Mode” Reset command can be used to reset (M5-4) before issuing normal command. Puya Semiconductor Page 54 of 108 P25Q16SH Datasheet Figure 10-19a 4IO Word Read Sequence ( M5-4 = (1,0) ) CS# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 SCLK Command SI(IO0) E7H 4 0 4 0 4 0 4 0 4 0 4 0 4 SO(IO1) 5 1 5 1 5 1 5 1 5 1 5 1 5 WP#(IO2) 6 2 6 2 6 2 6 2 6 2 6 2 6 HOLD#(IO3) 7 3 7 3 7 3 7 3 7 3 7 3 7 A23-16 A15-8 A7-0 M7-0 Dummy Byte1 Byte2 CS# 0 1 2 3 4 5 6 7 SI(IO0) 4 0 4 0 4 0 4 0 4 0 4 0 4 SO(IO1) 5 1 5 1 5 1 5 1 5 1 5 1 5 WP#(IO2) 6 2 6 2 6 2 6 2 6 2 6 2 6 HOLD#(IO3) 7 3 7 3 7 3 7 3 7 3 7 3 7 8 9 10 11 12 13 SCLK A23-16 A15-8 A7-0 M7-0 Dummy Byte1 Byte2 4IO Word Read with “8/16/32/64-Byte Wrap Around” in Standard SPI mode The 4IO Word Read command can be used to access a specific portion within a page by issuing “Set Burst with Wrap”(77H) commands prior to E7H. The “Set Burst with Wrap”(77H) command can either enable or disable the “Wrap Around” feature for the following E7H commands. When “Wrap Around” is enabled, the data being accessed can be limited to either an8/16/32/64-byte section of a 256-byte page. The output data starts at the initial address specified in the command, once it reaches the ending boundary of the 8/16/32/64-byte section, the output will wrap around the beginning boundary automatically until CS# is pulled high to terminate the command. The Burst with Wrap feature allows applications that use cache to quickly fetch a critical address and then fill the cache afterwards within a fixed length (8/16/32/64-byte) of data without issuing multiple read commands. The “Set Burst with Wrap” command allows three “Wrap Bits”W6-W4 to be set. The W4 bit is used to enable or disable the “Wrap Around” operation while W6-W5 is used to specify the length of the wrap around section within a page. Puya Semiconductor Page 55 of 108 P25Q16SH Datasheet 10.21 Set Read Parameters (C0h) In QPI mode, to accommodate a wide range of applications with different needs for either maximum read frequency or minimum data access latency, “Set Read Parameters (C0h)” instruction can be used to configure the number of dummy clocks for “Fast Read (0Bh)”, “4IO Read (EBh)” , “Burst Read with Wrap (0Ch)” , “Buffer Read (9Bh)” & “Read SFDP Mode (5Ah)” instructions, and to configure the number of bytes of “Wrap Length” for the “Burst Read with Wrap (0Ch)” instruction. In Standard SPI mode, the “Set Read Parameters (C0h)” instruction is not accepted. The dummy clocks for various Fast Read instructions in Dual/Quad SPI mode are configured by DC bit. The “Wrap Length” is set by W5-4 bit in the “Set Burst with Wrap (77h)” instruction. This setting will remain unchanged when the device is switched from Standard SPI mode to QPI mode. The default “Wrap Length” after a power up or a Reset instruction is 8 bytes, the default number of dummy clocks is 10 which includes “Continuous Read Mode” byte M7-0. The number of dummy clocks is only programmable for “Fast Read (0Bh)”, “4IO Read (EBh)” & “Burst Read with Wrap (0Ch)” instructions in the QPI mode. Whenever the device is switched from SPI mode to QPI mode, the number of dummy clocks should be set again, prior to any 0Bh, EBh or 0Ch instructions. P5-P4 Dummy Clocks 0,0 0,1 1,0 1,1 10 4 6 8 Maximum Read Freq. 133MHz 80MHz 104MHz 120MHz P1-P0 Wrap Length 0,0 0,1 1,0 1,1 8-byte 16-byte 32-byte 64-byte Figure 10-20 Set Read Parameters Sequence ( QPI ) CS# 0 1 2 3 SCLK Command C0H SI(IO0) P4 P0 SO(IO1) P5 P1 P6 P2 P7 P3 WP#(IO2) HOLD#(IO3) Puya Semiconductor Read Parameter Page 56 of 108 P25Q16SH Datasheet 10.22 Burst Read with Wrap (0Ch) The “Burst Read with Wrap (0CH)” command provides an alternative way to perform the read operation with “Wrap Around” in QPI mode. This command is similar to the “Fast Read (0BH)” command in QPI mode, except the addressing of the read operation will “Wrap Around” to the beginning boundary of the “Wrap Around” once the ending boundary is reached. The “Wrap Length” and the number of dummy clocks can be configured by the “Set Read Parameters (C0H)” command. Figure 10-21 Burst Read with Wrap Sequence ( QPI ) CS# 0 1 2 3 4 5 6 7 8 9 17 18 19 20 21 SCLK Command 0CH A23-16 IO switch from input to output A15-8 A7-0 SI(IO0) 20 16 12 8 4 0 4 0 4 0 4 SO(IO1) 21 17 13 9 5 1 5 1 5 1 5 WP#(IO2) 22 18 14 10 6 2 6 2 6 2 6 HOLD#(IO3) 23 19 15 11 7 3 7 3 7 3 7 Dummy* Byte1 *“Set Read Parameters” command (C0H) can set the number of dummy clocks Byte2 10.23 DTR Burst Read with Wrap (0Eh) The “DTR Burst Read with Wrap (0EH)” command provides an alternative way to perform the read operation with “Wrap Around” in QPI mode. This command is similar to the “Fast Read (0BH)” command in QPI mode, except the addressing of the read operation will “Wrap Around” to the beginning boundary of the “Wrap Around” once the ending boundary is reached. The “Wrap Length” can be configured by the “Set Read Parameters (C0H)” command. Figure 10-22 Burst Read with Wrap Sequence ( QPI ) Command CS# 0 2 1 3 5 4 6 12 14 13 SCLK SI(IO0) 4 0 4 0 4 0 IO switch from input to output 4 0 4 0 SO(IO1) 5 1 5 1 5 1 5 1 5 1 5 WP #(IO2) 6 2 6 2 6 2 6 2 6 2 6 HOLD#(IO3) 7 3 7 3 7 3 7 3 7 3 7 0Eh A23-16 A15-8 A7-0 Puya Semiconductor Dummy clocks Byte 1 Byte2 4 Byte3 Page 57 of 108 P25Q16SH Datasheet 10.24 Data Learning Pattern The data learning pattern supports system/memory controller determine valid window of data output more easily and improve data capture reliability while the flash memory is running in high frequency. Data learning pattern can be enabled or disabled by setting the bit0 of Configure Register(data learning pattern enable bit). Once the DLP bit is set, the data learning pattern is inputted into dummy cycles. Enabling data learning pattern bit(DLP bit) will not affect the function of continue read mode bit. In dummy cycles, continuous mode bit still operates with the same function. Data learning pattern will output after continuous mode bit. The data learning pattern is a fixed 8-bit data pattern (00110100). For STR(single transfer rate) instructions, the complete 8 bits will start to output right after the continuous mode bit. While dummy cycle is not sufficient of 8 cycles, the rest of the DLP bits will be cut. For DTR(double transfer rate) instructions, the complete 8 bits will start to output during the last 4 dummy cycle. Figure 10-23 Fast Read with DLP bits output Sequence CS# 0 1 2 3 4 5 6 7 8 9 10 28 29 30 31 SCLK Command SI 24- bit address 23 22 21 0BH 3 2 1 0 High- Z SO CS# 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 SCLK Dummy Cycles SI Data Out1 DLP Bits Output SO 7 6 5 4 3 2 1 0 7 6 MSB 5 4 3 8 9 10 Data Out2 2 1 0 7 6 MSB 5 Figure 10-23a Dual Read with DLP bits output Sequence CS# 0 1 2 3 4 5 6 7 28 29 30 31 SCLK Command SI 24- bit address 3BH 23 22 21 3 2 1 0 High- Z SO CS# 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 SCLK Dummy Cycles SI SO Puya Semiconductor 7 7 6 6 5 4 3 2 1 DLP Bits Output 0 5 4 3 2 1 DLP Bits Output 0 6 4 2 0 Data Out1 7 5 MSB 3 6 4 2 0 6 1 7 Data Out2 1 7 5 MSB 3 Page 58 of 108 P25Q16SH Datasheet Figure 10-23b Quad Read with DLP bits output Sequence CS# 0 1 2 3 4 5 6 7 8 9 10 28 29 30 31 SCLK Command SI(IO0) 24-Bit address 6BH 23 SO(IO1) High-Z WP#(IO2) High-Z HOLD#(IO3) High-Z 22 21 3 2 1 0 CS# 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 SCLK Dummy Clocks SI(IO0) SO(IO1) WP#(IO2) HOLD#(IO3) 7 6 5 4 3 2 1 0 4 0 4 0 4 0 4 0 4 7 6 5 4 3 2 1 0 5 1 5 1 5 1 5 1 5 7 6 5 4 3 2 1 0 6 2 6 2 6 2 6 2 6 7 6 5 4 3 2 1 DLP Bits Output 0 7 3 7 3 7 3 7 3 7 Byte1 Byte2 Byte3 Byte4 Figure 10-23b 4IO Read and Burst Read with DLP bits output Sequence CS# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 SCLK Dummy Cycles Command SI(IO0) 4 0 4 0 4 0 4 0 7 6 5 4 4 0 4 0 4 5 1 5 1 5 1 5 1 7 6 5 4 5 1 5 1 5 WP#(IO2) 6 2 6 2 6 2 6 2 7 6 5 4 6 2 6 2 6 HOLD#(IO3) 7 3 7 3 7 3 7 3 7 6 5 4 7 3 7 3 7 SO(IO1) EBH or 0CH A23-16 A15-8 A7-0 Puya Semiconductor M7-0 DLP Bits Output Byte 1 Byte 2 Page 59 of 108 P25Q16SH Datasheet Figure 10-23c 4IO Read and Burst Read with DLP bits output Sequence in QPI mode CS# 0 1 2 3 4 5 6 7 8 9 17 18 19 20 21 SCLK Command IO switch from input to output A23-16 A15-8 A7-0 Dummy* M7-0 SI(IO0) 20 16 12 8 4 0 4 0 7 4 0 4 0 4 SO(IO1) 21 17 13 9 5 1 5 1 7 5 1 5 1 5 WP#(IO2) 22 18 14 10 6 2 6 2 7 6 2 6 2 6 HOLD#(IO3) 23 19 15 11 7 3 7 3 7 7 3 7 3 7 EBH or 0CH DLP data out from MSB *“Set Read Parameters” command (C0H) can set the number of dummy clocks Byte1 Byte2 Figure 10-23c DTR 4IO Read with DLP bits output Sequence CS# 0 1 3 2 4 5 6 7 8 9 10 11 SCLK Command EDH SI (IO0 ) 4 0 4 0 4 0 4 0 SO( IO1) 5 1 5 1 5 1 5 1 WP# ( IO2) 6 2 6 2 6 2 6 2 HOLD # (IO3) 7 3 7 3 7 3 7 3 A23-16 A15- 8 A 7 -0 M7 - 0 CS # 12 13 14 15 16 17 19 18 20 SCLK Dummy Cycles SI(IO0 7 6 5 4 3 2 1 0 4 0 4 0 4 SO( IO1) 7 6 5 4 3 2 1 0 5 1 5 1 5 WP#( IO2) 7 6 5 4 3 2 1 0 6 2 6 2 6 HOLD#(IO3) 7 6 5 4 3 2 1 0 7 3 7 3 7 DLP Bits Output Puya Semiconductor Byte1 Byte2 Page 60 of 108 P25Q16SH Datasheet 10.25 Enable QPI (38H) The device support both Standard/Dual/Quad SPI and QPI mode. The “Enable QPI (38H)” command can switch the device from SPI mode to QPI mode. See the command Table 2a for all support QPI commands. In order to switch the device to QPI mode, the Quad Enable (QE) bit in Status Register-1 must be set to 1 first, and “Enable QPI (38H)” command must be issued. If the QE bit is 0, the “Enable QPI (38H)” command will be ignored and the device will remain in SPI mode. When the device is switched from SPI mode to QPI mode, the existing Write Enable Latch and Program/Erase Suspend status, and the Wrap Length setting will remain unchanged. Figure 10-24 Enable QPI Sequence (38H ) CS# SCLK SI(IO0) 38H 10.26 Disable QPI (FFH) To exit the QPI mode and return to Standard/Dual/Quad SPI mode, the “Disable QPI (FFH)” command must be issued. When the device is switched from QPI mode to SPI mode, the existing Write Enable Latch and Program/Erase Suspend status, and the Wrap Length setting will remain unchanged. Figure 10-25 Disable QPI Sequence (QPI ) CS# 0 1 SCLK Command FFH SI(IO0) SO(IO1) WP#(IO2) HOLD#(IO3) Puya Semiconductor Page 61 of 108 P25Q16SH Datasheet 10.27 Page Erase (PE) The Page Erase (PE) instruction is for erasing the data of the chosen Page to be "1". A Write Enable (WREN) instruction must execute to set the Write Enable Latch (WEL) bit before sending the Page Erase (PE). To perform a Page Erase with the standard page size (256 bytes), an instruction of 81h must be clocked into the device followed by three address bytes comprised of 2 page address bytes that specify the page in the main memory to be erased, and 1 dummy byte. The sequence of issuing PE instruction is: CS# goes low → sending PE instruction code→ 3-byte address on SI → CS# goes high. Figure 10-26 Page Erase Sequence (Command 81) CS# 0 1 2 3 4 5 6 7 8 9 29 30 31 SCLK Command SI 24-bit address 81H 23 22 MSB 2 1 6 7 0 Figure 10-26a Page Erase Sequence (QPI) CS# 0 1 2 3 4 5 SCLK Command 81H Puya Semiconductor A23-16 A15-8 A7-0 SI(IO0) 20 16 12 8 4 0 SO(IO1) 21 17 13 9 5 1 WP#(IO2) 22 18 14 10 6 2 HOLD#(IO3) 23 19 15 11 7 3 Page 62 of 108 P25Q16SH Datasheet 10.28 Sector Erase (SE) The Sector Erase (SE) instruction is for erasing the data of the chosen sector to be "1". A Write Enable (WREN) instruction must execute to set the Write Enable Latch (WEL) bit before sending the Sector Erase (SE). Any address of the sector is a valid address for Sector Erase (SE) instruction. The CS# must go high exactly at the byte boundary (the latest eighth of address byte been latched-in); otherwise, the instruction will be rejected and not executed. Address bits [Am-A12] (Am is the most significant address) select the sector address. The sequence of issuing SE instruction is: CS# goes low → sending SE instruction code→ 3-byte address on SI → CS# goes high. The SIO[3:1] are don't care. Figure 10-27 Sector Erase (SE) Sequence (Command 20) CS# 0 1 2 3 4 5 6 7 8 9 29 30 31 SCLK Command SI 24-bit address 20H 23 22 MSB 2 1 0 Figure 10-27a Sector Erase (SE) Sequence (QPI) CS# 0 1 2 3 4 5 6 7 SCLK Command 20H A23-16 A15-8 A7-0 SI(IO0) 20 16 12 8 4 0 SO(IO1) 21 17 13 9 5 1 WP#(IO2) 22 18 14 10 6 2 HOLD#(IO3) 23 19 15 11 7 3 The self-timed Sector Erase Cycle time (tSE) is initiated as soon as Chip Select (CS#) goes high. The Write in progress (WIP) bit still can be check out during the Sector Erase cycle is in progress. The WIP sets 1 during the tSE timing, and sets 0 when Sector Erase Cycle is completed, and the Write Enable Latch (WEL) bit is reset. If the sector is protected by BP4, BP3, BP2, BP1, BP0 bits, the Sector Erase (SE) instruction will not be executed on the sector. Puya Semiconductor Page 63 of 108 P25Q16SH Datasheet 10.29 Block Erase (BE32K) The Block Erase (BE32K) instruction is for erasing the data of the chosen block to be "1". The instruction is used for 32K-byte block erase operation. A Write Enable (WREN) instruction must be executed to set the Write Enable Latch (WEL) bit before sending the Block Erase (BE32K). Any address of the block is a valid address for Block Erase (BE32K) instruction. The CS# must go high exactly at the byte boundary (the least significant bit of address byte has been latched-in); otherwise, the instruction will be rejected and not executed. The sequence of issuing BE32K instruction is: CS# goes low → sending BE32K instruction code → 3-byte address on SI → CS# goes high. The SIO[3:1] are don't care. The self-timed Block Erase Cycle time (tBE32K) is initiated as soon as Chip Select (CS#) goes high. The Write in Progress (WIP) bit still can be checked while the Block Erase cycle is in progress. The WIP sets during the tBE32K timing, and clears when Block Erase Cycle is completed, and the Write Enable Latch (WEL) bit is cleared. If the block is protected by BP4, BP3, BP2, BP1,BP0 bits, the array data will be protected (no change) and the WEL bit still be reset. Figure 10-28 Block Erase 32K(BE32K) Sequence (Command 52 ) CS# 0 1 2 3 4 5 6 7 8 9 29 30 31 SCLK Command SI 24-bit address 52H Figure 10-28a Block Erase 32K(BE32K) 23 22 MSB 2 1 0 Sequence (QPI ) CS# 0 1 2 3 4 5 6 7 SCLK Command 52H Puya Semiconductor A23-16 A15-8 A7-0 SI(IO0) 20 16 12 8 4 0 SO(IO1) 21 17 13 9 5 1 WP#(IO2) 22 18 14 10 6 2 HOLD#(IO3) 23 19 15 11 7 3 Page 64 of 108 P25Q16SH Datasheet 10.30 Block Erase (BE) The Block Erase (BE) instruction is for erasing the data of the chosen block to be "1". The instruction is used for 64K-byte block erase operation. A Write Enable (WREN) instruction must execute to set the Write Enable Latch (WEL) bit before sending the Block Erase (BE). Any address of the block is a valid address for Block Erase (BE) instruction. The CS# must go high exactly at the byte boundary (the latest eighth of address byte been latched-in); otherwise, the instruction will be rejected and not executed. The sequence of issuing BE instruction is: CS# goes low→ sending BE instruction code→ 3-byte address on SI→CS# goes high. The SIO[3:1] are "don't care". The self-timed Block Erase Cycle time (tBE) is initiated as soon as Chip Select (CS#) goes high. The Write in Progress (WIP) bit still can be checked during the Block Erase cycle is in progress. The WIP sets 1 during the tBE timing, and sets 0 when Block Erase Cycle is completed, and the Write Enable Latch (WEL) bit is reset. If the block is protected by BP4, BP3, BP2, BP1, BP0 bits, the Block Erase (BE) instruction will not be executed on the block. Figure 10-29 Block Erase (BE) Sequence (Command D8) CS# 0 1 2 3 4 5 6 7 8 9 29 30 31 SCLK Command SI 24-bit address D8H Figure 10-29a Block Erase (BE) 23 22 MSB 2 1 6 7 0 Sequence (QPI) CS# 0 1 2 3 4 5 SCLK Command D8H A23-16 Puya Semiconductor A15-8 A7-0 SI(IO0) 20 16 12 8 4 0 SO(IO1) 21 17 13 9 5 1 WP#(IO2) 22 18 14 10 6 2 HOLD#(IO3) 23 19 15 11 7 3 Page 65 of 108 P25Q16SH Datasheet 10.31 Chip Erase (CE) The Chip Erase (CE) instruction is for erasing the data of the whole chip to be "1". A Write Enable (WREN) instruction must execute to set the Write Enable Latch (WEL) bit before sending the Chip Erase (CE). The CS# must go high exactly at the byte boundary (the latest eighth of address byte been latched-in); otherwise, the instruction will be rejected and not executed. The sequence of issuing CE instruction is: CS# goes low→ sending CE instruction code→ CS# goes high. The self-timed Chip Erase Cycle time (tCE) is initiated as soon as Chip Select (CS#) goes high. The Write in Progress (WIP) bit still can be checked during the Chip Erase cycle is in progress. The WIP sets 1 during the tCE timing, and sets 0 when Chip Erase Cycle is completed, and the Write Enable Latch (WEL) bit is reset. If the chip is protected by BP4,BP3, BP2, BP1, BP0 bits, the Chip Erase (CE) instruction will not be executed. It will be only executed when all Block Protect(BP4, BP3, BP2, BP1, BP0) are set to “None protected”. Figure 10-30 Chip Erase (CE) Sequence (Command 60 or C7) CS# 0 1 2 3 4 5 6 7 SCLK Command SI 60H or C7H Figure 10-30a Chip Erase (CE) Sequence (QPI) CS# 0 1 SCLK Command C7H or 60H SI(IO0) SO(IO1) WP#(IO2) HOLD#(IO3) Puya Semiconductor Page 66 of 108 P25Q16SH Datasheet 10.32 Page Program (PP) The Page Program (PP) instruction is for programming the memory to be "0". A Write Enable (WREN) instruction must execute to set the Write Enable Latch (WEL) bit before sending the Page Program (PP). The device programs only the last 256 data bytes sent to the device. If the entire 256 data bytes are going to be programmed, A7-A0 (The eight least significant address bits) should be set to 0. If the eight least significant address bits (A7-A0) are not all 0, all transmitted data going beyond the end of the current page are programmed from the start address of the same page (from the address A7-A0 are all 0). If more than 256 bytes are sent to the device, the data of the last 256-byte is programmed at the request page and previous data will be disregarded. If less than 256 bytes are sent to the device, the data is programmed at the requested address of the page. Each page programming operation should be done only once after erase operation. It is possible to program from one byte up to a page size in each Page programming operation. For the very best performance, programming should be done in full pages of 256 bytes aligned on 256 byte boundaries with each Page being programmed only once. The sequence of issuing PP instruction is: CS# goes low→ sending PP instruction code→ 3-byte address on SI→ at least 1-byte on data on SI→ CS# goes high. The CS# must be kept low during the whole Page Program cycle; The CS# must go high exactly at the byte boundary (the latest eighth bit of data being latched in), otherwise the instruction will be rejected and will not be executed. The self-timed Page Program Cycle time (tPP) is initiated as soon as Chip Select (CS#) goes high. The Write in Progress (WIP) bit still can be checked during the Page Program cycle is in progress. The WIP sets 1 during the tPP timing, and sets 0 when Page Program Cycle is completed, and the Write Enable Latch (WEL) bit is reset. If the page is protected by BP4, BP3, BP2, BP1, BP0 bits, the Page Program (PP) instruction will not be executed. The SIO[3:1] are "don't care". Figure 10-31 Page Program (PP) Sequence (Command 02) CS# 0 1 2 3 4 5 6 7 8 9 10 28 29 30 31 32 33 34 35 36 37 38 39 SCLK Command SI 24- bit address 02H 23 22 21 3 Data Byte 1 2 1 0 MSB 7 6 5 4 3 2 1 0 MSB 2078 2079 2076 2077 2075 2074 2072 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 2073 CS# 1 0 SCLK Data Byte 2 SI 7 6 MSB Puya Semiconductor 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 Page 67 of 108 P25Q16SH Datasheet Figure 10-31a Page Program (PP) Sequence (QPI) 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 519 2 518 1 517 0 516 CS# SCLK Command 02H A23-16 A15-8 A7-0 Byte1 Byte2 Byte256 SI(IO0) A20 A16 A12 A8 A4 A0 4 0 4 0 4 0 4 0 4 0 4 0 4 0 SO(IO1) A21 A17 A13 A9 A5 A1 5 1 5 1 5 1 5 1 5 0 5 1 5 1 WP#(IO2) A22 A18 A14 A10 A6 A2 6 2 6 2 6 2 6 2 6 2 6 2 6 2 A23 A19 A15 A11 A7 A3 7 3 7 3 7 3 7 3 7 3 7 3 7 3 HOLD#(IO3) MSB 10.33 Quad Page Program (QPP) The Quad Page Program (QPP) instruction is for programming the memory to be "0". A Write Enable (WREN)instruction must execute to set the Write Enable Latch (WEL) bit and Quad Enable (QE) bit must be set to "1" before sending the Quad Page Program (QPP). The Quad Page Programming takes four pins: SIO0, SIO1, SIO2, and SIO3 as data input, which can improve programmer performance and the effectiveness of application. The QPP operation frequency supports as fast as fQPP. The other function descriptions are as same as standard page program. The sequence of issuing QPP instruction is: CS# goes low→ sending QPP instruction code→ 3-byte address on SIO0 → at least 1-byte on data on SIO[3:0]→CS# goes high. Figure 10-32 Quad Page Program (QPP) Sequence (Command 32) CS# 0 1 2 3 4 5 6 7 8 9 10 28 29 30 31 32 33 34 35 36 37 38 39 SCLK Command SI(IO0) 24- bit address 32H 23 22 21 Byte1 3 2 1 0 Byte2 4 0 4 0 4 0 4 0 SO(IO1) 5 1 5 1 5 1 5 1 WP#(IO2) 6 2 6 2 6 2 6 2 HOLD#(IO3) 7 3 7 3 7 3 7 3 MSB 543 542 541 540 539 537 538 536 CS# 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 SI(IO0) 4 0 4 0 4 0 4 0 4 0 4 0 4 0 4 0 4 0 4 0 4 0 4 0 SO(IO1) 5 1 5 1 5 1 5 1 5 1 5 1 5 1 5 1 5 1 5 1 5 1 5 1 WP#(IO2) 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 2 HOLD#(IO3) 7 3 7 3 7 3 7 3 7 3 7 3 7 3 7 3 7 3 7 3 7 3 7 3 SCLK Byte11 Byte12 Puya Semiconductor Byte253 Byte256 Page 68 of 108 P25Q16SH Datasheet 10.34 Buffer Clear The Buffer Clear instruction is for reset all buffer data to "FF". The data buffer will be 256 bytes (normal mode) or 512bytes (dual page mode) or 1024 bytes (quad page mode). The Buffer data reset will begin when the CS# pin goes high. There is a latency of tBC, after which the device is ready to accept the next instruction. The sequence of issuing Buffer Clear instruction is: CS# goes low → → CS# goes high. sending Buffer Clear instruction code Figure 10-35 Buffer Clear Sequence (Command 9E) CS# 0 1 2 3 4 5 6 7 SCLK Command SI 9EH Figure 10-35a Buffer Clear Sequence (QPI) CS# 0 1 SCLK Command 9EH SI(IO0) SO(IO1) WP#(IO2) HOLD#(IO3) Puya Semiconductor Page 69 of 108 P25Q16SH Datasheet 10.35 Buffer Load The Buffer Load instruction is for load main memory data to the data buffer . The data buffer will be 256 bytes (normal mode) or 512bytes (dual page mode) or 1024 bytes (quad page mode). The address A23-A8(normal mode) or A23-A9(dual page mode) or A23-A10(quad page mode) which specify the page in main memory to be load data to buffer. The sequence of issuing Buffer Load instruction is: CS# goes low → 3-byte address on SI → CS# goes high. sending Buffer Load instruction code → The transfer of the page of data from the main memory to the buffer will begin when the CS# pin goes high. During the page transfer time (tXFR), the WIP bit in the Status Register can be read to determine whether or not the transfer has been completed. Figure 10-33 Buffer Load Sequence (Command 9A) CS# 0 1 2 3 4 5 6 7 8 9 29 30 31 SCLK Command SI 24-bit address 9AH 23 22 MSB 2 1 0 Figure 10-33a Buffer Load Sequence (QPI) CS# 0 1 2 3 4 5 6 7 SCLK Command 9AH Puya Semiconductor A23-16 A15- 8 A7-0 SI(IO0) 20 16 12 8 4 0 SO(IO1) 21 17 13 9 5 1 WP#(IO2) 22 18 14 10 6 2 HOLD#(IO3) 23 19 15 11 7 3 Page 70 of 108 P25Q16SH Datasheet 10.36 Buffer Read The Buffer Read instruction is for reading data out from the data buffer. The data buffer will be 256 bytes (normal mode) or 512bytes (dual page mode) or 1024 bytes (quad page mode). The first address byte can be at any location. The address is automatically increased to the next higher address after each byte data is shifted out, so the whole data buffer can be read out at a single Buffer Read instruction. The address counter rolls over to 0 when the highest address (FFh for normal mode /1FF for dual page mode /3FF for quad page mode) has been reached. The sequence of issuing Buffer Read instruction is: CS# goes low→ sending Buffer Read instruction code→3-byte address on SI→ 1-dummy byte address on SI→ data out on SO→ to end Buffer Read operation can use CS# to high at any time during data out. While Program/Erase/Write Status Register cycle is in progress, Buffer Read instruction is rejected without any impact on the Program/Erase/Write Status Register current cycle. Figure 10-34 Buffer Read Sequence (Command 9B) CS# 0 1 2 3 4 5 6 7 8 9 10 28 29 30 31 SCLK Command SI 24- bit address 9BH 23 22 21 3 2 1 0 High- Z SO CS# 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 SCLK DummyByte SI 7 6 5 4 3 2 1 0 Data Out1 SO 7 6 MSB 5 4 3 Data Out2 2 1 0 7 6 MSB 5 Figure 10-34a Buffer Read Sequence (QPI) CS# 0 1 2 3 4 5 6 7 8 9 17 18 19 20 21 SCLK Command 9BH A23-16 A15-8 A7-0 IO switch from input to output Dummy* SI(IO0) 20 16 12 8 4 0 4 0 4 0 4 SO(IO1) 21 17 13 9 5 1 5 1 5 1 5 WP#(IO2) 22 18 14 10 6 2 6 2 6 2 6 HOLD#(IO3) 23 19 15 11 7 3 7 3 7 3 7 *“Set Read Parameters” command (C0H) can set the number of dummy clocks Puya Semiconductor Byte1 Byte2 Page 71 of 108 P25Q16SH Datasheet 10.37 Buffer Write The Buffer Write instruction is for send data to data buffer. The data buffer size will be 256 bytes (normal mode) or 512bytes (dual page mode) or 1024 bytes (quad page mode). The first address byte can be at any location. The address is automatically increased to the next higher address after each byte data is shifted in. If the end of the data buffer is reached, the device will wrap around back to the beginning of the buffer. Data will continue to be loaded into the data buffer until CS Pin goes to high. The sequence of issuing Buffer Write instruction is: CS# goes low → sending Buffer Write instruction code → 3-byte address on SI → at least 1-byte on data on SI → CS# goes high. Figure 10-35 Buffer Write Sequence (Command 9C) CS# 0 1 2 3 4 5 6 7 8 9 10 28 29 30 31 32 33 34 35 36 37 38 39 SCLK Command SI 24- bit address 9CH 23 22 21 3 Data Byte 1 2 1 0 MSB 7 6 5 4 3 2 1 0 MSB 2079 2077 2078 2075 6 2076 2073 7 2074 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 2072 CS# 1 0 SCLK Data Byte 2 SI 7 6 5 4 3 Data Byte 3 2 1 0 7 MSB 6 5 4 3 Data Byte 256 2 1 0 MSB 5 4 3 2 MSB Figure 10-35a Buffer Write Sequence (QPI) 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 519 2 518 1 517 0 516 CS# SCLK Command A23-16 A15-8 A7-0 9CH Byte1 Byte2 Byte256 SI(IO0) A20 A16 A12 A8 A4 A0 4 0 4 0 4 0 4 0 4 0 4 0 4 0 SO(IO1) A21 A17 A13 A9 A5 A1 5 1 5 1 5 1 5 1 5 0 5 1 5 1 WP#(IO2) A22 A18 A14 A10 A6 A2 6 2 6 2 6 2 6 2 6 2 6 2 6 2 HOLD#(IO3) A23 A19 A15 A11 A7 A3 7 3 7 3 7 3 7 3 7 3 7 3 7 3 MSB Puya Semiconductor Page 72 of 108 P25Q16SH Datasheet 10.38 Buffer to Main Memory Page Program The Buffer to Main Memory Page Program instruction allows data that is stored in the data buffers to be written into a pre-erased page in the main memory array. It is necessary that the page in main memory to be written be previously erased in order to avoid programming errors. A Write Enable (WREN) instruction must execute to set the Write Enable Latch (WEL) bit before sending the Buffer to Main Memory Page Program instruction. The data buffer will be 256 bytes (normal mode) or 512bytes (dual page mode) or 1024 bytes (quad page mode). The address A23-A8(normal mode) or A23-A9(dual page mode) or A23-A10(quad page mode) which specify the page in main memory to be programmed. The sequence of issuing Buffer to Main Memory Page Program instruction is: CS# goes low → sending Buffer to Main Memory Page Program instruction code → 3-byte address on SI → CS# goes high. The self-timed Page Program Cycle time (tPP) is initiated as soon as Chip Select (CS#) goes high. The Write in Progress (WIP) bit still can be checked during the Buffer to Main Memory Page Program cycle is in progress. The WIP sets 1 during the tPP timing, and sets 0 when Page Program Cycle is completed, and the Write Enable Latch (WEL) bit is reset. If the page is protected by BP4, BP3, BP2, BP1, BP0 bits, the Buffer to Main Memory Page Program instruction will not be executed. Figure 10-36 Buffer to Main Memory Page Program Sequence (Command 9D) CS# 0 1 2 3 4 5 6 7 8 9 29 30 31 SCLK Command SI 24-bit address 9DH 23 22 MSB 2 1 6 7 0 Figure 10-36a Buffer to Main Memory Page Program Sequence (QPI) CS# 0 1 2 3 4 5 SCLK Command 9DH Puya Semiconductor A23-16 A15- 8 A7-0 SI(IO0) 20 16 12 8 4 0 SO(IO1) 21 17 13 9 5 1 WP#(IO2) 22 18 14 10 6 2 HOLD#(IO3) 23 19 15 11 7 3 Page 73 of 108 P25Q16SH Datasheet 10.39 Erase Security Registers (ERSCUR) The product provides three 1024-byte Security Registers which can be erased and programmed individually. These registers may be used by the system manufacturers to store security and other important information separately from the main memory array. The Erase Security Registers command is similar to Sector/Block Erase command. A Write Enable (WREN) command must previously have been executed to set the Write Enable Latch (WEL) bit. The Erase Security Registers command sequence: CS# goes low → sending ERSCUR instruction CS# must be driven high after the eighth bit of the command code has been latched in; otherwise the Erase Security Registers command is not executed. As soon as CS# is driven high, the self-timed Erase Security Registers cycle (whose duration is tSE) is initiated. While the Erase Security Registers 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 Erase Security Registers cycle, and is 0 when it is completed. The Security Registers Lock Bit (LB3-1) in the Status Register can be used to OTP protect the security registers. Once the LB bit is set to 1, the Security Registers will be permanently locked; the Erase Security Registers command will be ignored. Address A23-16 A15-12 A11-10 A9-0 Security Register #1 00H 0001 00 Byte Address Security Register #2 00H 0010 00 Byte Address Security Register #3 00H 0011 00 Byte Address Figure 10-37 Erase Security Registers (ERSCUR) Sequence (Command 44) CS# 0 1 2 3 4 5 6 7 8 9 29 30 31 SCLK Command SI Puya Semiconductor 44H 24 bit address 23 22 MSB 2 1 0 Page 74 of 108 P25Q16SH Datasheet 10.40 Program Security Registers (PRSCUR) The Program Security Registers command is similar to the Page Program command. It allows from 1 to 1024 bytes Security Registers data to be programmed. A Write Enable (WREN) command must previously have been executed to set the Write Enable Latch (WEL) bit before sending the Program Security Registers command. The Program Security Registers command sequence: CS# goes low → sending PRSCUR instruction As soon as CS# is driven high, the self-timed Program Security Registers cycle (whose duration is tPP) is initiated. While the Program Security Registers 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 Security Registers cycle, and is 0 when it is completed. If the Security Registers Lock Bit (LB3-1) is set to 1, the Security Registers will be permanently locked. Program Security Registers command will be ignored. Address A23-16 A15-12 A11-10 A9-0 Security Register #1 00H 0001 00 Byte Address Security Register #2 00H 0010 00 Byte Address Security Register #3 00H 0011 00 Byte Address Figure 10-38 Program Security Registers (PRSCUR) Sequence (Command 42) CS# 0 1 2 3 4 5 6 7 8 9 10 28 29 30 31 32 33 34 35 36 37 38 39 SCLK Command SI 42H 24- bit address 23 22 21 3 Data Byte 1 2 1 0 7 MSB 6 5 4 3 2 1 0 MSB 4127 4125 4126 4123 4124 4122 4120 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 4121 CS# 1 0 SCLK Data Byte 2 SI 7 6 MSB Puya Semiconductor 5 4 3 2 Data Byte 3 1 0 7 6 MSB 5 4 3 2 Data Byte 1024 1 0 7 6 5 4 3 2 MSB Page 75 of 108 P25Q16SH Datasheet 10.41 Read Security Registers (RDSCUR) The Read Security Registers command is similar to Fast Read command. The command is followed by a 3byte address (A23-A0) and a dummy byte, each bit being latched-in during the rising edge of SCLK. Then the memory content, at that address, is shifted out on SO, each bit being shifted out, at a Max frequency fC, during the falling edge of SCLK. 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. Once the A9-A0 address reaches the last byte of the register (Byte 1FFH), it will reset to 000H, the command is completed by driving CS# high. The sequence of issuing RDSCUR instruction is : CS# goes low → sending RDSCUR instruction → sending 24 bit address → 8 bit dummy byte → Security Register data out on SO → CS# goes high. Address A23-16 A15-12 A11-10 A9-0 Security Register #1 00H 0001 00 Byte Address Security Register #2 00H 0010 00 Byte Address Security Register #3 00H 0011 00 Byte Address Figure 10-39 Read Security Registers (RDSCUR) Sequence (Command 48) CS# 0 1 2 3 4 5 6 7 8 9 10 28 29 30 31 SCLK Command SI 24- bitaddress 23 22 21 48H 3 2 1 0 High-Z SO CS# 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 SCLK DummyByte SI 7 6 5 4 3 2 1 0 Data Out1 SO Puya Semiconductor 7 6 MSB 5 4 3 Data Out2 2 1 0 7 6 MSB 5 Page 76 of 108 P25Q16SH Datasheet 10.42 Deep Power-down (DP) The Deep Power-down (DP) instruction is for setting the device on the minimizing the power consumption (to entering the Deep Power-down mode), the standby current is reduced from ISB1 to ISB2). The Deep Powerdown mode requires the Deep Power-down (DP) instruction to enter, during the Deep Power-down mode, the device is not active and all Write/Program/Erase instruction are ignored. The sequence of issuing DP instruction is: CS# goes low→ sending DP instruction code→ CS# goes high. Once the DP instruction is set, all instruction will be ignored except the Release from Deep Power-down mode (RDP) , Read Electronic Signature (RES) instruction, and soft reset instruction(66H, 99H). (RES instruction to allow the ID been read out). When Power- down, the deep power-down mode automatically stops, and when power-up, the device automatically is in standby mode. For RDP instruction the CS# must go high exactly at the byte boundary (the latest eighth bit of instruction code been latched-in); otherwise, the instruction will not be executed. As soon as Chip Select (CS#) goes high, a delay of tDP is required before entering the Deep Power-down mode and reducing the current to ISB2. Figure 10-40 Deep Power-down (DP) Sequence (Command B9) CS# SCLK SI 0 1 2 3 4 5 6 tDP 7 Command Standby mode Deep power-down mode B9H Figure 10-40a Deep Power-down (DP) Sequence (QPI) tDP CS# 0 1 SCLK Command B9H SI(IO0) SO(IO1) WP#(IO2) HOLD#(IO3) Stand-by mode Puya Semiconductor Deep Power-down mode Page 77 of 108 P25Q16SH Datasheet 10.43 Release form Deep Power-Down (RDP), Read Electronic Signature (RES) The Release from Deep Power-down (RDP) instruction is terminated by driving Chip Select (CS#) High. When Chip Select (CS#) is driven high, the device is put in the Stand-by Power mode. If the device was not previously in the Deep Power-down mode, the transition to the Stand-by Power mode is immediate. If the device was previously in the Deep Power-down mode, though, the transition to the Stand-by Power mode is delayed by tRES2, and Chip Select (CS#) must remain High for at least tRES2(max). Once in the Stand-by Power mode, the device waits to be selected, so that it can receive, decode and execute instructions. RES instruction is for reading out the old style of 8-bit Electronic Signature, whose values are shown as table of ID Definitions. This is not the same as RDID instruction. It is not recommended to use for new design. For new design, please use RDID instruction. Even in Deep power-down mode, the RDP and RES are also allowed to be executed, only except the device is in progress of program/erase/write cycle; there's no effect on the current program/erase/ write cycle in progress. The RES instruction is ended by CS# goes high after the ID been read out at least once. The ID outputs repeatedly if continuously send the additional clock cycles on SCLK while CS# is at low. If the device was not previously in Deep Power-down mode, the device transition to standby mode is immediate. If the device was previously in Deep Power-down mode, there's a delay of tRES2 to transit to standby mode, and CS# must remain to high at least tRES2 (max). Once in the standby mode, the device waits to be selected, so it can be receive, decode, and execute instruction. The RDP instruction is for releasing from Deep Power-Down Mode. Figure 10-41 Read Electronic Signature (RES) Sequence (Command AB) CS# 0 1 2 3 4 5 6 7 8 9 29 30 31 32 33 34 35 36 37 38 SCLK Command SI 23 22 ABH SO tRES2 3 Dummy Bytes 2 1 0 MSB High-Z Electronic Signature Out 7 6 MSB 5 4 3 2 1 0 Deep Power-down mode Standby Mode Figure 10-41a Read Electronic Signature (RES) Sequence (QPI) tRES2 CS# 0 1 2 3 4 5 6 7 8 SCLK Command 3 dummy bytes IO switch from input to output ABH SI(IO0) 4 0 SO(IO1) 5 1 WP#(IO2) 6 2 HOLD#(IO3) 7 3 Device ID Deep Power-down mode Stand-by mode Puya Semiconductor Page 78 of 108 P25Q16SH Datasheet Figure 10-41b Release from Deep Power-down (RDP) Sequence (Command AB) CS# 0 1 2 3 4 5 6 tRES1 7 SCLK Command SI ABH Deep Power- down mode Stand-by mode Figure 10-41c Release from Deep Power-down (RDP) Sequence (QPI) CS# tRES1 0 1 SCLK Command ABH SI(IO0) SO(IO1) WP#(IO2) HOLD#(IO3) Deep Power-down mode Stand-by mode Puya Semiconductor Page 79 of 108 P25Q16SH Datasheet 10.44 Read Electronic Manufacturer ID & Device ID (REMS) The REMS instruction returns both the JEDEC assigned manufacturer ID and the device ID. The Device ID values are listed in "Table ID Definitions". The REMS instruction is initiated by driving the CS# pin low and sending the instruction code "90h" followed by two dummy bytes and one address byte (A7~A0). After which the manufacturer ID for PUYA (85h) and the device ID are shifted out on the falling edge of SCLK with the most significant bit (MSB) first. If the address byte is 00h, the manufacturer ID will be output first, followed by the device ID. If the address byte is 01h, then the device ID will be output first, followed by the manufacturer ID. While CS# is low, the manufacturer and device IDs can be read continuously, alternating from one to the other. The instruction is completed by driving CS# high. Figure 10-42 Read Electronic Manufacturer & Device ID (REMS) Sequence (Command 90) CS# 0 1 2 3 4 5 6 7 8 9 10 28 29 30 31 SCLK 2 dummy byte and 1 address byte 23 22 21 3 2 Command SI 90H 1 0 High-Z SO CS# 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 SCLK SI Device ID Manufacturer ID SO 7 6 5 4 3 2 1 0 MSB 7 6 5 4 3 2 1 0 MSB Figure 10-42a Read Electronic Manufacturer & Device ID (REMS) Sequence (QPI) CS# 0 1 2 3 4 5 6 7 8 9 10 SCLK Command 90H A23-16 A15-8 IO switch from input to output A7-0 SI(IO0) 20 16 12 8 4 0 4 0 4 0 SO(IO1) 21 17 13 9 5 1 5 1 5 1 WP#(IO2) 22 18 14 10 6 2 6 2 6 2 HOLD#(IO3) 23 19 15 11 7 3 7 3 7 3 MID Puya Semiconductor Device ID Page 80 of 108 P25Q16SH Datasheet 10.45 Dual I/O Read Electronic Manufacturer ID & Device ID (DREMS) The DREMS instruction is similar to the REMS command and returns the JEDEC assigned manufacturer ID which takes two pins: SIO0, SIO1 as address input and ID output I/O The instruction is initiated by driving the CS# pin low and shift the instruction code "92h" followed by two dummy bytes and one bytes address (A7~A0). After which, the Manufacturer ID for PUYA (85h) and the Device ID are shifted out on the falling edge of SCLK with most significant bit (MSB) first. If the one-byte address is initially set to 01h, then the device ID will be read first and then followed by the Manufacturer ID. The Manufacturer and Device IDs can be read continuously, alternating from one to the other. The instruction is completed by driving CS# high. Figure 10-43 DUAL I/O Read Electronic Manufacturer & Device ID (DREMS) Sequence (Command 92) CS# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 SCLK Command SI(IO0) 92H SO(IO1) 6 4 2 0 6 4 2 0 6 7 5 3 1 7 5 3 1 7 Dummy byte 4 2 0 6 5 3 1 7 ADD byte Dummy byte 4 2 0 5 3 1 dummy CS# 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 SCLK SI(IO0) 6 SO(IO1) 7 4 2 0 6 5 3 1 7 MFRID Puya Semiconductor 4 2 0 6 5 3 1 7 DeviceID 4 2 0 6 5 3 1 7 MFRID (Repeat) 4 2 0 6 5 3 1 7 DeviceID (Repeat) 4 2 0 6 5 3 1 7 MFRID (Repeat) 4 2 0 5 3 1 DeviceID (Repeat) Page 81 of 108 P25Q16SH Datasheet 10.46 Quad I/O Read Electronic Manufacturer ID & Device ID (QREMS) The QREMS instruction is similar to the REMS command and returns the JEDEC assigned manufacturer ID which takes four pins: SIO0, SIO1,SIO2,SIO3 as address input and ID output I/O The instruction is initiated by driving the CS# pin low and shift the instruction code "94h" followed by two dummy bytes and one bytes address (A7~A0). After which, the Manufacturer ID for PUYA (85h) and the Device ID are shifted out on the falling edge of SCLK with most significant bit (MSB) first. If the one-byte address is initially set to 01h, then the device ID will be read first and then followed by the Manufacturer ID. The Manufacturer and Device IDs can be read continuously, alternating from one to the other. The instruction is completed by driving CS# high. Figure 10-44 QUAD I/O Read Electronic Manufacturer & Device ID (QREMS) Sequence (Command 94) CS# 0 SCLK 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Command SI(IO0) 94H 4 0 4 0 4 0 4 0 4 0 SO(IO1) 5 1 5 1 5 1 5 1 5 1 WP#(IO2) 6 2 6 2 6 2 6 2 6 2 HOLD#(IO3) 7 3 7 3 7 3 7 3 7 3 A23-16 A15-8 A7-0 Dummy MFRID DID CS# 24 25 26 27 28 29 30 31 SCLK SI(IO0) 4 0 4 0 4 0 4 0 SO(IO1) 5 1 5 1 5 1 5 1 WP#(IO2) 6 2 6 2 6 2 6 2 HOLD#(IO3) 7 3 7 3 7 3 7 3 MFRID DID MFRID DID Repeat Repeat Repeat Repeat Puya Semiconductor Page 82 of 108 P25Q16SH Datasheet 10.47 Read Identification (RDID) The RDID instruction is for reading the manufacturer ID of 1-byte and followed by Device ID of 2-byte. The PUYA Manufacturer ID and Device ID are list as "Table . ID Definitions”. The sequence of issuing RDID instruction is: CS# goes low→ sending RDID instruction code → 24-bits ID data out on SO→ to end RDID operation can use CS# to high at any time during data out. While Program /Erase operation is in progress, it will not decode the RDID instruction, so there's no effect on the cycle of program/erase operation which is currently in progress. When CS# goes high, the device is at standby stage. Figure 10-45 Read Identification (RDID) Sequence (Command 9F) CS# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SCLK SI 9FH SO 7 6 Manufacturer ID 5 4 3 2 1 0 MSB CS# 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 SCLK SI SO 7 Memory Type ID 6 5 4 3 2 1 MSB 0 7 Capacity ID 5 4 3 2 6 1 0 MSB Figure 10-45a Read Identification (RDID) Sequence (QPI) CS# 0 1 2 3 4 5 6 SCLK Command 9FH IO switch from input to output SI(IO0) 4 0 12 8 4 0 SO(IO1) 5 1 13 9 5 1 WP#(IO2) 6 2 14 10 6 2 HOLD#(IO3) 7 3 15 7 3 MID 11 ID15-8 ID7-0 Table ID Definitions P25Q16SH Puya Semiconductor RDID manufacturer ID command 85 memory type 60 RES electronic ID command 14 memory density 15 REMS manufacturer ID device ID command 85 14 Page 83 of 108 P25Q16SH Datasheet 10.48 Program/Erase Suspend/Resume The Suspend instruction interrupts a Page Program, Page Erase, Sector Erase, or Block Erase operation to allow access to the memory array. After the program or erase operation has entered the suspended state, the memory array can be read except for the page(s) being programmed or the page(s) or sector or block being erased. Readable Area of Memory While a Program or Erase Operation is Suspended Suspended Operation Readable Region of Memory Array Page(s) Program All but the Page(s) being programmed Page(s) Erase All but the Page(s) being erased Sector Erase(4KB) All but the 4KB Sector being erased Block Erase(32KB) All but the 32KB Block being erased Block Erase(64KB) All but the 64KB Block being erased When the Serial NOR Flash receives the Suspend instruction, there is a latency of tPSL or tESL before the Write Enable Latch (WEL) bit clears to “0” and the SUS sets to “1”, after which the device is ready to accept one of the commands listed in "Table Acceptable Commands During Program/Erase Suspend after tPSL/tESL" (e.g. FAST READ). Refer to " AC Characteristics" for tPSL and tESL timings. "Table Acceptable Commands During Suspend (tPSL/tESL not required)" lists the commands for which the tPSL and tESL latencies do not apply. For example, RDSR, RDSCUR, RSTEN, and RST can be issued at any time after the Suspend instruction. Status Register bit 15 (SUS) can be read to check the suspend status. The SUS (Program/Erase Suspend Bit) sets to “1” when a program or erase operation is suspended. The SUS clears to “0” when the program or erase operation is resumed. Acceptable Commands During Program/Erase Suspend after tPSL/tESL Command name Command Suspend Type Code Program Suspend Erase Suspend READ 03H • • FAST READ 0BH • • DTRFRD 0DH • • DREAD 3BH • • QREAD 6BH • • 2READ BBH • • 2DTRD BDH • • 4READ EBH • • Word read E7H • • 4DTRD EDH • • Burst Read with Wrap 0CH • • DTR Burst Read with Wrap 0EH • • QPIEN 38H • • Disable QPI FFH • • RDSFDP 5AH • • RDID 9FH • • REMS 90H • • DREMS 92H • • QREMS 94H • • SBL 77H • • Puya Semiconductor Page 84 of 108 P25Q16SH Datasheet Command name Set Read Parameter WREN RESUME PP QPP Erase Security Registers Program Security Registers read Security Registers Buffer clear Buffer load Buffer read Buffer write Buffer to memory program Individual Block Lock Individual Block Unlock Read Block Lock Status Global Block Lock Global Block Unlock Command Code C0H 06H 7AH 02H 32H 44H 42H 48H 9EH 9AH 9BH 9CH 9DH 36H 39H 3DH 7EH 98H Suspend Type Program Suspend Erase Suspend • • • • • • • • • • • • • • • • • • • • Acceptable Commands During Suspend(tPSL/tESL not required) Command name Command Code Suspend Type Program Suspend Erase Suspend WRDI 04H • • RDSR 05H • • RDSR2 35H • • RES ABH • • RSTEN 66H • • RST 99H • • NOP 00H • • Figure 10-46 Resume to Suspend Latency tPRS / tERS CS# Resume Command Suspend Command tPRS: Program Resume to another Suspend tERS: Erase Resume to another Suspend Puya Semiconductor Page 85 of 108 P25Q16SH Datasheet 10.49 Erase Suspend to Program The “Erase Suspend to Program” feature allows Page Programming while an erase operation is suspended. Page Programming is permitted in any unprotected memory except within the sector of a suspended Sector Erase operation or within the block of a suspended Block Erase operation. The Write Enable (WREN) instruction must be issued before any Page Program instruction. A Page Program operation initiated within a suspended erase cannot itself be suspended and must be allowed to finish before the suspended erase can be resumed. The Status Register can be polled to determine the status of the Page Program operation. The WEL and WIP bits of the Status Register will remain “1” while the Page Program operation is in progress and will both clear to “0” when the Page Program operation completes. Figure 10-47 Suspend to Read/Program Latency tPSL / tESL Read/Program command Suspend Command CS# 0 SCLK 1 2 3 4 5 6 tPSL: Program latency tESL: Erase latency 7 Command SI 75H Figure 10-47a Suspend to Read/Program Latency(QPI) CS# tPSL/tESL 0 1 SCLK Command 75H SI(IO0) SO(IO1) WP#(IO2) HOLD#(IO3) Read/Program Command Notes: 1. Please note that Program only available after the Erase-Suspend operation 2. To check suspend ready information, please read status register bit15 (SUS2) and bit10(SUS1) Puya Semiconductor Page 86 of 108 P25Q16SH Datasheet 10.50 Program Resume and Erase Resume The Resume instruction resumes a suspended Page Program, Page Erase, Sector Erase, or Block Erase operation. Before issuing the Resume instruction to restart a suspended erase operation, make sure that there is no Page Program operation in progress. Immediately after the Serial NOR Flash receives the Resume instruction, the WEL and WIP bits are set to “1” and the SUS2 or SUS1 is cleared to “0”. The program or erase operation will continue until finished ("Resume to Read Latency") or until another Suspend instruction is received. A resume-to-suspend latency of tPRS or tERS must be observed before issuing another Suspend instruction ("Resume to Suspend Latency"). Figure 10-48 Resume to Read Latency tSE / tBE / tPP Resume Command CS# 0 SCLK 1 2 3 4 Read Command 5 6 7 Command SI 7AH Figure 10-48a Resume to Read Latency(QPI) CS# 0 1 SCLK Command 7AH SI(IO0) SO(IO1) WP#(IO2) HOLD#(IO3) Resume previously suspended program or erase 10.51 No Operation (NOP) The "No Operation" command is only able to terminate the Reset Enable (RSTEN) command and will not affect any other command. The SIO[3:1] are don't care. Puya Semiconductor Page 87 of 108 P25Q16SH Datasheet 10.52 Individual Block Lock (SBLK) The Individual Block Lock provides an alternative way to protect the memory array from adverse Erase/Program. In order to use the Individual Block Locks, the WPS bit in Configure Register must be set to 1. If WPS=0, the write protection will be determined by the combination of CMP, BP[4:0] bits in the Status Registers. The Individual Block Lock bits are volatile bits. The default values after device power up or after a Reset are 1, so the entire memory array is being protected. The SBLK instruction is for write protection a specified block (or sector) of memory, using AMAX-A16 or (AMAX-A12) address bits to assign a 64Kbyte block (or 4K bytes sector) to be protected as read only. The WREN (Write Enable) instruction is required before issuing SBLK instruction. The sequence of issuing SBLK instruction is: CS# goes low → send SBLK (36h) instruction→ send 3-byte address assign one block (or sector) to be protected on SI pin → CS# goes high. The CS# must go high exactly at the byte boundary, otherwise the instruction will be rejected and not be executed. Figure 10-50 Individual Block Lock(Command 36H) CS# 0 SCLK 1 2 3 4 5 6 7 8 9 29 30 31 Command SI 24BitsAddress 36H 23 22 MSB 2 1 6 7 0 Figure 10-50a Individual Block Lock(QPI) CS# 0 1 2 3 4 5 SCLK Command 36H Puya Semiconductor A23-16 A15-8 A7-0 SI(IO0) 20 16 12 8 4 0 SO(IO1) 21 17 13 9 5 1 WP#(IO2) 22 18 14 10 6 2 HOLD#(IO3) 23 19 15 11 7 3 Page 88 of 108 P25Q16SH Datasheet 10.53 Individual Block Unlock (SBULK) The Individual Block Lock provides an alternative way to protect the memory array from adverse Erase/Program. In order to use the Individual Block Locks, the WPS bit in Configure Register must be set to 1. If WPS=0, the write protection will be determined by the combination of CMP, BP[4:0] bits in the Status Registers. The Individual Block Lock bits are volatile bits. The default values after device power up or after a Reset are 1, so the entire memory array is being protected. The SBULK instruction will cancel the block (or sector) write protection state using AMAX-A16 or (AMAX-A12) address bits to assign a 64Kbyte block (or 4K bytes sector) to be unprotected. The WREN (Write Enable) instruction is required before issuing SBULK instruction. The sequence of issuing SBULK instruction is: CS# goes low → send SBULK (39h) instruction→ send 3-byte address assign one block (or sector) to be protected on SI pin → CS# goes high. The CS# must go high exactly at the byte boundary, otherwise the instruction will be rejected and not be executed. Figure 10-51 Individual Block Unlock(Command 39H) CS# 0 SCLK 1 2 3 4 5 6 7 8 9 29 30 31 Command SI 24BitsAddress 39H 23 22 MSB 2 1 6 7 0 Figure 10-51a Individual Block Unlock(QPI) CS# 0 1 2 3 4 5 SCLK Command 39H Puya Semiconductor A23-16 A15-8 A7-0 SI(IO0) 20 16 12 8 4 0 SO(IO1) 21 17 13 9 5 1 WP#(IO2) 22 18 14 10 6 2 HOLD#(IO3) 23 19 15 11 7 3 Page 89 of 108 P25Q16SH Datasheet 10.54 Read Block Lock Status (RDBLK) The Individual Block Lock provides an alternative way to protect the memory array from adverse Erase/Program. In order to use the Individual Block Locks, the WPS bit in Configure Register must be set to 1. If WPS=0, the write protection will be determined by the combination of CMP, BP[4:0] bits in the Status Registers. The Individual Block Lock bits are volatile bits. The default values after device power up or after a Reset are 1, so the entire memory array is being protected. The RDBLOCK instruction is for reading the status of protection lock of a specified block (or sector), using AMAX-A16 (or AMAX-A12) address bits to assign a 64K bytes block (4K bytes sector) and read protection lock status bit which the first byte of Read-out cycle. The status bit is"1" to indicate that this block has be protected, that user can read only but cannot write/program /erase this block. The status bit is "0" to indicate that this block hasn't be protected, and user can read and write this block. The sequence of issuing RDBLOCK instruction is: CS# goes low → send RDBLOCK (3Dh) instruction → send 3-byte address to assign one block on SI pin → read block's protection lock status bit on SO pin → CS# goes high. Both SPI (8 clocks) and QPI (2 clocks) command cycle can accept by this instruction. Figure 10-52 Read Block Lock Status(Command 3DH) CS# 0 1 2 3 4 5 6 7 8 9 10 28 29 30 31 32 33 34 35 36 37 38 39 SCLK Command SI 24- bit address 3DH 23 3 2 1 0 Data Byte MSB High-Z SO 22 21 6 7 MSB 5 4 3 2 1 0 Figure 10-52a Read Block Lock Status (QPI) CS# 0 1 2 3 4 5 6 7 8 9 10 SCLK Command 3DH A23-16 A15-8 IO switch from input to output A7-0 SI(IO0) 20 16 12 8 4 0 X 0 X 0 SO(IO1) 21 17 13 9 5 1 X X X X WP#(IO2) 22 18 14 10 6 2 X X X X HOLD#(IO3) 23 19 15 11 7 3 X X X X Lock Value Puya Semiconductor Page 90 of 108 P25Q16SH Datasheet 10.55 Global Block Lock (GBLK) The GBLK instruction is for enable the lock protection block of the whole chip. The WREN (Write Enable) instruction is required before issuing GBLK instruction. The sequence of issuing GBLK instruction is: CS# goes low → send GBLK (7Eh) instruction →CS# goes high. Both SPI (8 clocks) and QPI (2 clocks) command cycle can accept by this instruction. The SIO[3:1] are "don't care" in SPI mode. The CS# must go high exactly at the byte boundary, otherwise, the instruction will be rejected and not be executed. Figure 10-53 Global Block Lock(Command 7EH) CS# SCLK SI SO 0 1 2 3 4 5 6 7 Command 7EH High-Z Figure 10-53a Global Block Lock(QPI) CS# 0 1 SCLK Command 7EH SI(IO0) SO(IO1) WP#(IO2) HOLD#(IO3) Puya Semiconductor Page 91 of 108 P25Q16SH Datasheet 10.56 Global Block Unlock (GBULK) The GBULK instruction is for disable the lock protection block of the whole chip. The WREN (Write Enable) instruction is required before issuing GBULK instruction. The sequence of issuing GBULK instruction is: CS# goes low → send GBULK (98h) instruction →CS# goes high. Both SPI (8 clocks) and QPI (2 clocks) command cycle can accept by this instruction. The SIO[3:1] are "don't care" in SPI mode. The CS# must go high exactly at the byte boundary, otherwise, the instruction will be rejected and not be executed. Figure 10-54 Global Block Unlock(Command 98H) CS# SCLK SI SO 0 1 2 3 4 5 6 7 Command 98H High-Z Figure 10-54a Global Block Unlock(QPI) CS# 0 1 SCLK Command 98H SI(IO0) SO(IO1) WP#(IO2) HOLD#(IO3) Puya Semiconductor Page 92 of 108 P25Q16SH Datasheet 10.57 Software Reset (RSTEN/RST) The Software Reset operation combines two instructions: Reset-Enable (RSTEN) command and Reset (RST) command. It returns the device to a standby mode. All the volatile bits and settings will be cleared then, which makes the device return to the default status as power on, except the EP_FAIL bit. To execute Reset command (RST), the Reset-Enable (RSTEN) command must be executed first to perform the Reset operation. If there is any other command to interrupt after the Reset-Enable command, the ResetEnable will be invalid. The SIO[3:1] are "don't care". If the Reset command is executed during program or erase operation, the operation will be disabled, the data under processing could be damaged or lost. Figure 10-55 Software Reset Recovery CS# 66H 99H tReady Mode Stand-by Mode Figure 10-55a Reset Sequence CS# 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 SCLK Command Command 66H 99H SI High -Z SO Figure 10-55b Reset Sequence(QPI) CS# 0 1 0 1 SCLK Command Command 66H 99H SI(IO0) SO(IO1) WP#(IO2) HOLD#(IO3) Puya Semiconductor Page 93 of 108 P25Q16SH Datasheet 10.58 Read Unique ID (RUID) The Read Unique ID command accesses a factory-set read-only 128bit number that is unique to each P25QSxx device. The Unique ID can be used in conjunction with user software methods to help prevent copying or cloning of a system. The Read Unique ID command sequence: CS# goes low → sending Read Unique ID command →Dummy Byte1 →Dummy Byte2 →Dummy Byte3 → Dummy Byte4 → 128bit Unique ID Out → CS# goes high. The command sequence is show below. Figure 10-56 Read Unique ID (RUID) Sequence (Command 4B) CS# 0 1 2 3 4 5 6 7 8 9 10 28 29 30 31 SCLK Command SI SO 3 bytes dummy 4BH High-Z CS# 32 33 34 35 36 37 38 39 40 41 42 43 164 165 166 SCLK DummyByte SI 128 bit unique serial number SO Puya Semiconductor 127 126 125 124 MSB 3 2 1 0 Page 94 of 108 P25Q16SH Datasheet 10.59 Read SFDP Mode (RDSFDP) The Serial Flash Discoverable Parameter (SFDP) standard provides a consistent method of describing the functional and feature capabilities of serial flash devices in a standard set of internal parameter tables. These parameter tables can be interrogated by host system software to enable adjustments needed to accommodate divergent features from multiple vendors. The concept is similar to the one found in the Introduction of JEDEC Standard, JESD68 on CFI. The sequence of issuing RDSFDP instruction is same as FREAD: CS# goes low→ send RDSFDP instruction (5Ah)→send 3 address bytes on SI pin→ send 1 dummy byte on SI pin→ read SFDP code on SO→ to end RDSFDP operation can use CS# to high at any time during data out. SFDP is a JEDEC Standard, JESD216B. Figure 10-57 Read Serial Flash Discoverable Parameter (RDSFDP) Sequence CS# 0 1 2 3 4 5 6 7 8 9 10 28 29 30 31 SCLK Command SI 24-bit address 5AH 23 22 21 3 2 1 0 High - Z SO CS# 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 SCLK DummyByte SI 7 6 5 4 3 2 1 0 Data Out1 SO 7 6 MSB 5 4 3 Data Out2 2 1 0 7 6 MSB 5 Figure 10-57a Read Serial Flash Discoverable Parameter (RDSFDP) Sequence(QPI) CS# 0 1 2 3 4 5 6 7 8 9 17 18 19 20 21 SCLK Command 5AH A23-16 A15-8 A7-0 IO switch from input to output Dummy* SI(IO0) 20 16 12 8 4 0 4 0 4 0 4 SO(IO1) 21 17 13 9 5 1 5 1 5 1 5 WP#(IO2) 22 18 14 10 6 2 6 2 6 2 6 HOLD#(IO3) 23 19 15 11 7 3 7 3 7 3 7 *“Set Read Parameters” command (C0H) can set the number of dummy clocks Puya Semiconductor Byte1 Byte2 Page 95 of 108 P25Q16SH Datasheet Serial Flash Discoverable Parameter (SFDP) Table Table Signature and Parameter Identification Data Values Description SFDP Signature Comment Fixed:50444653H Add(H) DW Add Data Data (Byte) (Bit) 00H 07:00 53H 53H 01H 15:08 46H 46H 02H 23:16 44H 44H 03H 31:24 50H 50H SFDP Minor Revision Number Start from 00H 04H 07:00 00H 00H SFDP Major Revision Number Start from 01H 05H 15:08 01H 01H Number of Parameters Headers Start from 00H 06H 23:16 01H 01H 07H 31:24 FFH FFH 08H 07:00 00H 00H Start from 0x00H 09H 15:08 00H 00H Start from 0x01H 0AH 23:16 01H 01H 0BH 31:24 09H 09H 0CH 07:00 30H 30H 0DH 15:08 00H 00H 0EH 23:16 00H 00H 0FH 31:24 FFH FFH 10H 07:00 85H 85H Start from 0x00H 11H 15:08 00H 00H Start from 0x01H 12H 23:16 01H 01H 13H 31:24 03H 03H Unused Contains 0xFFH and can never be changed ID number (JEDEC) 00H: It indicates a JEDEC specified header Parameter Table Minor Revision Number Parameter Table Major Revision Number Parameter Table Length (in double word) Parameter Table Pointer (PTP) How many DWORDs in the Parameter table First address of JEDEC Flash Parameter table Unused Contains 0xFFH and can never be changed ID Number It is indicates PUYA (PUYADevice Manufacturer ID) manufacturer ID Parameter Table Minor Revision Number Parameter Table Major Revision Number Parameter Table Length How many DWORDs in the (in double word) Parameter table Parameter Table Pointer (PTP) First address of PUYA Flash 14H 07:00 60H 60H Parameter table 15H 15:08 00H 00H 16H 23:16 00H 00H 17H 31:24 FFH FFH Unused Contains 0xFFH and can never be changed Puya Semiconductor Page 96 of 108 P25Q16SH Datasheet Table Parameter Table (0): JEDEC Flash Parameter Tables Description Comment Add(H) (Byte) DW Add Data Data (Bit ) 00: Reserved; 01: 4KB erase; Block/Sector Erase Size 10: Reserved; 01:00 01b 02 1b 03 0b 11: not support 4KB erase Write Granularity Write Enable Instruction Requested for Writing to Volatile Status Registers 0: 1Byte, 1: 64Byte or larger 0: Nonvolatile status bit 1: Volatile status bit (BP status register bit) 30H E5H 0: Use 50H Opcode, Write Enable Opcode Select for Writing to Volatile Status Registers 1: Use 06H Opcode, Note: If target flash status register is 04 0b 07:05 111b 15:08 20H 16 1b 18:17 00b 19 1b Nonvolatile, then bits3 and 4 must be set to 00b. Unused Contains 111b and can never be changed 4KB Erase Opcode (1-1- 2) Fast Read 31H 0=Not support, 1=Support Address Bytes Number used in 00: 3Byte only, 01: 3 or 4Byte, addressing flash array 10: 4Byte only, 11: Reserved Double Transfer Rate (DTR) clocking 0=Not support, 1=Support 32H F9H (1-2- 2) Fast Read 0=Not support, 1=Support 20 1b (1-4- 4) Fast Read 0=Not support, 1=Support 21 1b (1-1- 4) Fast Read 0=Not support, 1=Support 22 1b 23 1b 33H 31:24 FFH 37H:34H 31:00 Unused Unused Flash Memory Density (1-4- 4) Fast Read Number of Wait states 0 0000b: Wait states (Dummy 04:00 Clocks) not support Mode Bits 000b:Mode Bits not support (1-4- 4) Fast Read Opcode (1-1- 4) Fast Read Number of Wait states 39H 0 0000b: Wait states (Dummy Clocks) not support 00100b 44H 07:05 010b 15:08 EBH 20:16 01000b 3AH (1-1- 4) Fast Read Number of Mode Bits (1-1- 4) Fast Read Opcode Puya Semiconductor 000b:Mode Bits not support 3BH FFH 00FFFFFFH 38H (1-4- 4) Fast Read Number of 20H EBH 08H 23:21 000b 31:24 6BH 6BH Page 97 of 108 P25Q16SH Datasheet Description Comment (1-1- 2) Fast Read Number of Wait 0 0000b: Wait states (Dummy states Clocks) not support Add(H) DW Add (Byte) (Bit) 04:00 Data 01000b 3CH (1-1- 2) Fast Read Number of Mode Bits 000b: Mode Bits not support (1-1- 2) Fast Read Opcode (1-2- 2) Fast Read Number of Wait states 3DH 0 0000b: Wait states (Dummy Clocks) not support 08H 07:05 000b 15:08 3BH 20:16 00000b 3EH (1-2- 2) Fast Read Number of Mode Bits 000b: Mode Bits not support (1-2- 2) Fast Read Opcode (2-2- 2) Fast Read 3FH 0=not support 1=support Unused 0=not support 1=support Unused 3BH 80H 23:21 100b 31:24 BBH 00 0b 03:01 111b 04 1b 07:05 111b 40H (4-4- 4) Fast Read Data BBH FEH Unused 43H:41H 31:08 0xFFH 0xFFH Unused 45H:44H 15:00 0xFFH 0xFFH 20:16 00000b 23:21 000b 47H 31:24 FFH FFH 49H:48H 15:00 0xFFH 0xFFH 20:16 00100b (2-2- 2) Fast Read Number of Wait states (2-2- 2) Fast Read Number of Mode Bits 0 0000b: Wait states (Dummy Clocks) not support 46H 000b: Mode Bits not support (2-2- 2) Fast Read Opcode Unused (4-4- 4) Fast Read Number of Wait 0 0000b: Wait states (Dummy states Clocks) not support (4-4- 4) Fast Read Number of Mode Bits Sector Type 1 Size Sector/block size=2^N bytes 0x00b: this sector type don’t exist Sector Type 1 erase Opcode Sector Type 2 Size Sector/block size=2^N bytes 0x00b: this sector type don’t exist Sector Type 2 erase Opcode Sector Type 3 Size Sector/block size=2^N bytes 0x00b: this sector type don’t exist Sector Type 3 erase Opcode Sector Type 4 Size Sector Type 4 erase Opcode Puya Semiconductor Sector/block size=2^N bytes 0x00b: this sector type don’t exist 44H 4AH 000b: Mode Bits not support (4-4- 4) Fast Read Opcode 00H 23:21 010b 4BH 31:24 EBH EBH 4CH 07:00 0CH 0CH 4DH 15:08 20H 20H 4EH 23:16 0FH 0FH 4FH 31:24 52H 52H 50H 07:00 10H 10H 51H 15:08 D8H D8H 52H 23:16 08H 08H 53H 31:24 81H 81H Page 98 of 108 P25Q16SH Datasheet Table Parameter Table (1): PUYA Flash Parameter Tables Description Comment Add(H) DW Add (Byte) (Bit) 61H:60H 63H:62H Data Data 15:00 3600H 3600H 31:16 1650H 1650H 2000H=2.000V Vcc Supply Maximum Voltage 2700H=2.700V 3600H=3.600V 1650H=1.650V Vcc Supply Minimum Voltage 2250H=2.250V 2350H=2.350V 2700H=2.700V HW Reset# pin 0=not support 1=support 00 0b HW Hold# pin 0=not support 1=support 01 1b 0=not support 1=support 02 1b 0=not support 1=support 03 1b Deep Power Down Mode SW Reset SW Reset Opcode Should be issue Reset Enable(66H) before Reset cmd. 65H:64H 11:04 1001 1001b (99H) F99EH Program Suspend/Resume 0=not support 1=support 12 1b Erase Suspend/Resume 0=not support 1=support 13 1b 14 1b 15 1b 66H 23:16 77H 77H 67H 31:24 64H 64H 00 1b 01 0b 09:02 36H 10 0b Unused Wrap Around Read mode 0=not support 1=support Wrap - Around Read mode Opcode 08H:support 8B wrap - around read Wrap - Around Read data length 16H:8B&16B 32H:8B&16B&32B 64H:8B&16B&32B&64B Individual block lock Individual block lock bit (Volatile/Nonvolatile) 0=not support 1=support 0=Volatile 1=Nonvolatile Individual block lock Opcode Individual blocklock Volatile protect bit default protect status 0=protect 1=unprotect Secured OTP 0=not support 1=support 11 1b Read Lock 0=not support 1=support 12 0b Permanent Lock 0=not support 1=support 13 1b Unused 15:14 11b Unused 31:16 FFFFH Puya Semiconductor E8D9H 6BH:68H FFFFH Page 99 of 108 P25Q16SH Datasheet 11 Ordering Information P 25 Q 16S H A–SU H– I T–x Company Designator P = Puya Semiconductor Product Family 25 = SPI interface flash Product Serial Q = Q serial Memory Density 16S = new version 16MB Operation Voltage H = 2.3V~3.6V Generation A = A Version Default = blank Package Type SS = SOP8 150mil SU = SOP8 208mil NX = USON8 3x4x0.55mm WF = WAFER UX = USON8 3x2x0.55mm TS = TSSOP8 WX = WSON8 6x5x0.75mm Plating Technology H : RoHS Compliant Halogen free, Antimony free Device Grade I = - 40 ~ 85C K = - 40 ~ 105C Packing Type T = TUBE R = TAPE & REEL Y = TRAY W = WAFER Ordering Option Default = blank D = 01H command write SR0/SR1 with 2byte data Note For shipments with ordering option "D", please contact PUYA sales. Puya Semiconductor Page 100 of 108 P25Q16SH Datasheet 12 Valid Part Numbers and Top Marking The following table provides the valid part numbers for the P25Q16SH Flash Memory. Please contact PUYA for specific availability by density and package type. PUYA Flash memories use a 14-digit Product Number for ordering. Package Type SS SOP8 150mil SS SOP8 150mil SU SOP8 208mil SU SOP8 208mil TS TSSOP8 TS TSSOP8 UX USON8 3x2mm NX USON8 3x4mm WX WSON8 6x5mm Product Number Density P25Q16SH-SSH-IT 16M-bit P25Q16SH-SSH-IR 16M-bit P25Q16SH-SUH-IT 16M-bit P25Q16SH-SUH-IR 16M-bit P25Q16SH-TSH-IT 16M-bit P25Q16SH-TSH-IR 16M-bit P25Q16SH-UXH-IR 16M-bit P25Q16SH-NXH-IR 16M-bit P25Q16SH-WXH-IR 16M-bit Puya Semiconductor Top Side Marking P25Q16SH xxxxxxx P25Q16SH xxxxxxx P25Q16SH xxxxxxx P25Q16SH xxxxxxx P25Q16SH xxxxxxx P25Q16SH xxxxxxx PQ16S Hxxx PQ16S Hxxx P25Q16SH xxxxxxx Temp. Packing Type 85C Tube 85C Reel 85C Tube 85C Reel 85C Reel 85C Reel 85C Reel 85C Reel 85C Reel Page 101 of 108 P25Q16SH Datasheet 13 Package Information 13.1 8-Lead SOP(150mil) h x45° A2 A b e C D 8 0.25mm GAUGE PLANE E1 E A1 k 1 L L1 Common Dimensions (Unit of Measure=millimeters) Symbol Min Typ Max A - - 1.750 0.100 - 0.250 A2 1.250 - - b 0.280 - 0.480 c 0.170 - 0.230 D 4.800 4.900 5.000 E 5.800 6.000 6.200 E1 3.800 3.900 4.000 e - 1.270 - h 0.250 - 0.500 k 0° - 8° L 0.400 - 1.270 L1 - 1.040 - A1 Note:1. Dimensions are not to scale TITLE DRAWING NO. REV SP-8 A 8-lead SOP Puya Semiconductor Page 102 of 108 P25Q16SH Datasheet 13.2 8-Lead SOP(208mil) A2 A b e C D 8 0.25mm GAUGE PLANE E1 E A1 k 1 L Common Dimensions (Unit of Measure=millimeters) Symbol A Min Typ - Max - 2.150 A1 0.050 - 0.250 A2 1.700 - 1.900 b 0.350 - 0.500 c 0.100 - 0.250 D 5.130 - 5.330 E 7.700 8.100 E1 5.180 5.380 e - 1.270 - k 0° - 8° L 0.500 - 0.850 Note:1. Dimensions are not to scale TITLE DRAWING NO. REV SP-8 A 8-lead SOP(200mil) Puya Semiconductor Page 103 of 108 P25Q16SH Datasheet 13.3 8-Lead TSSOP D 8 5 C E E1 1 4 A A1 A2 b e CP α L L1 Common Dimensions (Unit of Measure=millimeters) Symbol A Min Typ Max - - 1.200 A1 0.050 - 0.150 A2 0.800 1.000 1.050 b 0.190 - 0.300 c 0.090 - 0.200 - 0.100 CP D e 2.900 - 3.000 0.650 3.100 - E 6.200 6.400 6.600 E1 4.300 4.400 4.500 L 0.450 0.600 0.750 L1 - α 0° 1.000 - 8° Note:1. Dimensions are not to scale TITLE 8-lead TSSOP Puya Semiconductor DRAWING NO. REV TS-8 A Page 104 of 108 P25Q16SH Datasheet 13.4 8-Land USON(3x2x0.55mm) Puya Semiconductor Page 105 of 108 P25Q16SH Datasheet 13.5 8-Land USON(3x4x0.55mm) Puya Semiconductor Page 106 of 108 P25Q16SH Datasheet 13.6 8-Land WSON(6x5x0.75mm) Puya Semiconductor Page 107 of 108 P25Q16SH Datasheet 14 Revision History Rev. Date V0.1 2018-08-21 V0.1 datasheet - 2019-04-03 Add ordering option "D" for 01H command Add MPM mode 1024 byte Add 9E Buffer clear command Change SUS2(SR10) to EP_FAIL bit at SR1 Change SUS1(SR15) at SR1 to show program & erase suspend Add Valid Part Number - V1.0 2019-08-05 Update product name to P25Q16SH from P25QS16H Update part AC/DC parameter Change security register size to 1024Bytes Update Acceptable Commands List when suspend - V1.1 2020-04-30 Update TERS and TPRS Minimum value - V1.2 2020-10-20 Update DC Data and Update memory type. - V0.2 Description Note Puya Semiconductor Co., Ltd. IMPORTANT NOTICE Puya Semiconductor reserves the right to make changes without further notice to any products or specifications herein. Puya Semiconductor does not assume any responsibility for use of any its products for any particular purpose, nor does Puya Semiconductor assume any liability arising out of the application or use of any its products or circuits. Puya Semiconductor does not convey any license under its patent rights or other rights nor the rights of others. Puya Semiconductor Page 108 of 108
P25Q16SH-SSH-IT 价格&库存

很抱歉,暂时无法提供与“P25Q16SH-SSH-IT”相匹配的价格&库存,您可以联系我们找货

免费人工找货
P25Q16SH-SSH-IT
    •  国内价格
    • 5+1.33834
    • 50+1.07979
    • 150+0.94479
    • 500+0.80644

    库存:515