W25Q128FV译文(一)

news/2024/11/25 11:00:04/

该文章包括W25Q128FV译文的前六章内容,

第7章状态寄存器翻译及第八章指令部分翻译链接:https://blog.csdn.net/z123canghai/article/details/88726856

第八章指令剩余部分及第九章相关时序翻译链接:https://blog.csdn.net/z123canghai/article/details/88726856

欢迎关注微信公众号,回复“flash”可获取verilog编写的FLASH接口的程序及相关文档,绝对测试过可用的

 


目录

一、概述

二、特征

三、封装类型和引脚配置

四、引脚分配

4.1 片选 (/CS)

4.2 串行数据输入、输出及IO (DI, DO and IO0IO1, IO2, IO3)

4.3 写保护 (/WP)

4.4 HOLD(/HOLD)

4.5 串行时钟(CLK)

4.6复位(/RESET)

五、框图

六、功能描述

6.1.1 标准SPI模式指令

6.1.2 Dual SPI 模式指令

6.1.3 Quad SPI模式指令

6.1.4 QPI 模式指令

6.1.5 Hold 功能

6.1.6 软复位和硬件复位引脚

6.2 写保护

6.2.1写保护功能


 

  • 一、概述

        串行闪存W25Q128FV(128M-bit)对有空间、引脚或功率限制的系统提供了一个存储解决方案。25Q系列所提供的灵活性和性能远远超过普通的串行闪存设备。它非常适用于RAM的编码映射,可直接通过(两线/四线)SPI接口执行代码、存储语音、文本和数据。该器件可采用一个2.7V至3.6V的单端电压工作运行,工作状态电流消耗可低致4mA,休眠模式低至1uA。所有设备都采用节省空间的封装。

       W25Q128FV阵列分布为65536个可编程页面,每页可大小为256字节。一次最多写256字节,也就是一页。数据擦除可以以16页为一组(4KB扇区擦除)、128页为一组(32KB块擦除)、256页为一组(64KB块擦除)或者整片擦除(片擦除)方式进行数据擦除。W25Q128FV有256个可擦除块也可以说是4096个可擦除扇区。支持最小4KB扇区的数据、参数存储为应用设计提供了更大的灵活性。

       W25Q128FV支持标准串行外设接口(SPI)、双线/四线IO接口以及双时钟周期指令(译者注:发送指令也是采用四线模式)的四线外围接口(QPI)。外围接口有串行时钟、片选、串行数据接口I/O0(标准SPI模式下作为输入引脚DI)、I/O1(标准SPI模式下作为输出引脚DO)、I/O2(根据指令的模式选择可用做数据线或写保护)、I/O3(根据指令的模式选择可作为数据线、保持或复位)。标准SPI模式下串行时钟频率可高达104M(译者注:读指令“03H”除外),当用于双通道快速读指令时双通道IO等效时钟速率为208Mhz(104*2),四通道IO模式下等效时钟频率为416MHz。这些模式的传输速率可以胜过标准的异步8和16位并行闪存。连续读取模式允许高效的访问存储器,只需8个时钟的指令周期即可读取24位地址(W25Q128FV寻址范围0到FFFFFF),从而实现真正的XIP(execute in place)操作。

        保持引脚,写保护引脚和可编程写保护,具有顶部或底部阵列控制,提供进一步的控制灵活性。此外,该设备支持JEDEC标准制造商和器件ID和SFDP寄存器,64位唯一序列号和3个256字节安全寄存器。


  • 二、特征

W25Q128FV大小为128Mbit,即16Mbyte。标准模式(SPI)引脚定义为CLK,/CS,DI,DO,/WP,/Hold;双通道SPI模式引脚定义为CLK,/CS,IO0,IO1,/WP,/Hold;四通道SPI模式引脚定义为CLK,/CS,IO0,IO1,IO2,IO3;四线模式引脚定义为CLK,/CS,IO0,IO1,IO2,IO3。支持硬复位和软复位操作。

它是最高性能的串行闪存。SPI、D/Q SPI模式时钟频率可达104Mhz(译者注:读指令“03H”除外)、50MB/S的数据传输速率、超过十万次的擦除和读写操作、超过20年的数据保持时间。

W25Q128FV具备高效的“连续读取”功能及QPI模式。可以以8/16/32/64字节为包进行连续读取。QPI模式可降低指令开销,只需8个时钟即可读取存储器地址;允许真正的XIP,其性能优于X16并行闪存

W25Q128FV具有低功率,宽温度范围的特点,2.7至3.6V单电源、4mA有功电流,<1μA的待机电流(典型值)支持-40°C至+85°C的工作范围。

W25Q128FV灵活的架构,支持扇区/块擦除(4K / 32K / 64K字节)、每个可编程页面可连续写入1到256个字节、支持删除、写操作的暂停和恢复

W25Q128FV具备高级安全功能,支持软件和硬件写保护、电源锁定和OTP保护、顶部/底部,补充阵列保护、独立的块/扇区阵列保护。每个设备的64位唯一ID,具有OTP锁的3X256字节安全寄存器、易失性和非易失性状态寄存器位。

W25Q128FV节省空间的封装。8引脚SOIC / VSOP 208mil、8引脚PDIP 300 mil、8-pad WSON 6x5-mm / 8x6-mm。16引脚SOIC 300mil(附加/ RESET引脚)、24球TFBGA 8x6毫米。
 


  • 三、封装类型和引脚配置

封装和引脚配置只阐述译者所用芯片的封装类型,各种封装基本差不多,可查看文档。


  • 四、引脚分配

  • 4.1 片选 (/CS)

SPI片选(/CS)引脚用于使能和禁止操作器件。当/CS为高电平时,器件被取消选择,串行数据输出(DO或IO0、IO1、IO2、IO3)引脚处于高阻态。取消选择后,器件功耗将处于待机(睡眠)状态,除非内部擦除、编程或写状态寄存器周期正在进行中。当/CS变为低电平时,将选择器件,功耗将增加到工作(激活)状态,可以写入指令并从器件读取数据。上电后,/CS在接受新指令之前必须从高电平转换为低电平。/CS输入在上电和断电时必须跟踪VCC电源电平(参见“写保护”和图58)。如果需要,可以使用/CS引脚上的上拉电阻来实现此目的。

  • 4.2 串行数据输入、输出及IO (DI, DO and IO0IO1, IO2, IO3)

W25Q128FV支持标准SPI,Dual SPI(两线SPI)和Quad SPI(四线SPI)工作模式。标准SPI模式使用单向DI(输入)引脚在串行时钟(CLK)输入引脚的上升沿串行写入指令、地址或数据,使用单向DO(输出)引脚在CLK下降沿读取器件的数据或状态。

Dual SPI和Quad SPI模式使用双向IO引脚在CLK的上升沿将指令、地址或数据串行写入器件,并在CLK的下降沿从器件读取数据或状态。其中,四SPI指令要求设置状态寄存器-2中的非易失性四线使能位(QE)。当QE=1时,/WP引脚变为IO2,/HOLD引脚变为IO3。

  • 4.3 写保护 (/WP)

写保护(/WP)引脚可用于防止状态寄存器被写入。与状态寄存器的块保护(CMP,SEC,TB,BP2,BP1和BP0)位和状态寄存器保护(SRP)位一起使用时,小到4KB扇区的大到整个存储器阵列可以被硬件保护。/WP引脚为低电平有效。当状态寄存器-2的QE位设置为四线I/O模式时,/WP引脚功能不可用,因为该引脚作为IO2。有关Quad I/O操作的引脚配置,请参见图1a-c。

  • 4.4 HOLD(/HOLD)

/HOLD引脚拉低后器件将处于暂停状态。当/HOLD变为低电平时,即便/CS为低电平,DO引脚将处于高阻态,DICLK引脚上的信号将被忽略(无需关注)。当/ HOLD变为高电平时,器件可以恢复操作。当多个设备共享相同的SPI信号时,/HOLD功能非常有用。/HOLD引脚为低电平有效。当状态寄存器-2QE位设置为四I/O时,/HOLD引脚功能不可用,因为该引脚用于IO3。有关Quad I/O操作的引脚配置,请参见图1a-c

  • 4.5 串行时钟(CLK)

SPI串行时钟输入(CLK)引脚提供串行输入和输出操作的时序。(“参见SPI操作”)

  • 4.6复位(/RESET)

/RESET引脚允许控制器复位器件。对于八引脚封装,当QE=0时,IO3引脚可配置为/HOLD引脚或/RESET引脚,具体取决于状态寄存器设置。当QE=1时,/HOLD或/RESET功能不适用于8引脚配置。在16引脚SOIC封装上,提供专用/RESET引脚,它与QE位设置无关。


  • 五、框图


  • 六、功能描述

6.1 SPI/QPI 模式切换

6.1.1 标准SPI模式指令

W25Q128FV通过一个兼容SPI总线进行访问,该总线由四个信号组成:串行时钟(CLK),片选(/CS),串行数据输入(DI)和串行数据输出(DO)。标准SPI指令使用DI输入引脚在CLK的上升沿将指令、地址或数据以串行方式写入器件,使用DO输出引脚在CLK下降沿读取器件的数据或状态。

支持SPI总线操作模式0(0,0)和3(1,1)(译者注:根据SPI时钟极性(CPOL)和时钟相位(CPHA)配置的不同可分为4种模式)。模式0和模式3之间的主要区别在于SPI总线主机处于待机状态且数据未传输到串行闪存时CLK信号的正常状态。对于模式0,CLK信号在/CS的下降沿和上升沿,通常为低电平。 对于模式3,CLK信号在/CS的下降沿和上升沿,通常为高电平。

6.1.2 Dual SPI 模式指令

当使用“快速读取双输出(3Bh)”和“快速读取双I/O(BBh)”等指令时,W25Q128FV支持Dual SPI模式操作。这些指令允许数据以普通串行闪存设备速率的两到三倍的速率传输到设备或从设备传输。双SPI读指令非常适合在上电(代码遮蔽)时快速将代码下载到RAM或直接从SPI总线(XIP)执行非速度关键代码。使用双SPI指令时,DI和DO引脚变为双向I/O引脚:IO0和IO1。

6.1.3 Quad SPI模式指令

当使用诸如“快速读取四路输出(6Bh)”、“快速读取四I/O(EBh)”,“字读取四I/O(E7h)”和“八字读取四字形”等指令时,W25Q128FV支持四线SPI操作 I/O(E3h)。这些指令允许数据以普通串行闪存速率的四到六倍的速率传输到设备或从设备传输。四路读取指令显着提高了连续和随机访问传输速率,允许快速代码遮蔽到RAM或直接从SPI总线(XIP)执行。使用Quad SPI指令时,DI和DO引脚变为双向IO0和IO1,/WP和/HOLD引脚分别变为IO2和IO3。四SPI指令要求设置状态寄存器-2中的非易失性四线使能位(QE)。

6.1.4 QPI 模式指令

仅当器件使用输入QPI38h指令从标准//四线SPI模式切换到QPI模式时,W25Q128FV才支持四线外设接口(QPI)操作。典型的SPI协议需要8个串行时钟方可将字节指令通过DI引脚移入器件。QPI模式利用四个IO引脚输入指令代码,因此只需要两个串行时钟即可完成指令的发送。显着减少SPI指令开销并提高XIP环境中的系统性能。标准//SPI模式和QPI模式是独有的。在任何给定时间只能激活一种模式。输入QPI38h退出QPIFFh指令用于在这两种模式之间切换。上电或使用“Reset99h指令进行软件复位后,器件的默认状态为标准//SPI模式。要启用QPI模式,需要设置状态寄存器-2中的非易失性四线使能位(QE)。使用QPI指令时,DIDO引脚变为双向IO0IO1/WP/HOLD引脚分别变为IO2IO3。有关器件操作模式,请参见图3

6.1.5 Hold 功能

对于标准SPI和Dual SPI操作,/HOLD信号允许对W25Q128FV的操作暂停(当/CS为低电平时)。在与其他设备共享SPI数据和时钟信号的情况下,/HOLD功能就显得很有用。例如,考虑在优先级中断需要使用SPI总线时是否仅部分写入页缓冲区。在这种情况下,/HOLD功能可以将指令的状态和数据保存在缓冲区中,当总线再次可用,编程就可以从停止的地方恢复。/HOLD功能仅适用于标准SPI和双SPI操作,而不适用于Quad SPI或QPI。状态寄存器-2中的四线使能位QE用于确定引脚该是用作/HOLD引脚还是数据I/O引脚。当QE=0(出厂默认值)时,引脚为/HOLD,当QE=1时,引脚将成为I/O引脚,/HOLD功能不再可用。

要启动/HOLD条件,必须在/CS为低电平时选择器件。如果CLK信号已经为低电平,则该功能将在/HOLD信号的下降沿激活。如果CLK尚未为低电平,则在CLK的下一个下降沿之后将激活该功能。如果CLK信号已经为低电平,该功能将在/HOLD信号的上升沿终止。如果CLK尚未为低电平,则/HOLD条件将在CLK的下一个下降沿之后终止。在/HOLD条件期间,串行数据输出(DO)为高阻抗,并且忽略串行数据输入(DI)和串行时钟(CLK)。

片选(/CS)信号应在/HOLD操作的整个持续时间内保持有效(低电平),以避免复位器件的内部逻辑状态。

6.1.6 软复位和硬件复位引脚

W25Q128FV可以通过软件复位序列将其复位到初始上电状态,无论是SPI模式还是QPI模式。该序列必须包含两个连续命令:启用复位(66h)和复位(99h)。如果成功接受命令序列,则器件将需要大约30uS(tRST)才能复位。重置期间不接受任何命令。

对于WSON-8和TFBGA封装类型,W25Q128FV也可以配置为使用硬件/RESET引脚。状态寄存器-3中的HOLD/RST位是/HOLD引脚功能或RESET引脚功能的配置位。当HOLD/RST=0(出厂默认值)时,引脚作为/HOLD引脚,如上所述;当HOLD/RST=1时,引脚用作/RESET引脚。将/RESET引脚驱动为低电平至少1us(tRESET*)将使器件复位至其初始上电状态。任何正在进行的编程/擦除操作都将被中断,并且可能会发生数据损坏。当/RESET为低电平时,器件不接受任何命令输入。

如果QE位设置为1,则/HOLD或/RESET功能将被禁止,该引脚将成为四个数据I/O引脚之一。

对于SOIC-16封装,W25Q128FV除了/HOLD(IO3)引脚外还提供专用/RESET引脚,如图1b所示。将/RESET引脚驱动为低电平至少1us(tRESET *)将使器件复位至其初始上电状态。状态寄存器中的HOLD/RST位或QE位不会影响该专用/ RESET引脚的功能。

硬件/RESET引脚在所有输入信号中具有最高优先级。无论其他SPI信号(/CS,CLK,IO,/WP和/HOLD)的状态如何,驱动/RESET为低电平至少1us(tRESET *)的时间将中断任何正在进行的外部/内部操作。

注意:

1.虽然更快/RESET脉冲(短至几百纳秒)通常会重置设备,但建议最小1us以确保可靠运行。

2. SOIC-16封装的专用/RESET引脚有一个内部上拉电阻。如果不需要复位功能,该引脚可以悬空。

6.2 写保护

使用非易失性存储器的应用必须考虑可能危及数据完整性的噪声和其他不利系统条件的可能性。为了解决这个问题,W25Q128FV提供了几种保护数据免受无意写入的方法。

6.2.1写保护功能

  1. 当VCC低于阈值时,设备将重置
  2. 上电后延迟写禁用
  3. 擦除或编程后写入启用/禁用指令和自动写入禁用
  4. 使用状态寄存器进行软件和硬件(/WP引脚)写保护
  5. 用于阵列保护的附加单独块/扇区锁
  6. 使用掉电指令进行写保护
  7. 锁定状态寄存器的写保护,直到下一次上电
  8. 使用状态寄存器对阵列和安全寄存器进行一次性编程(OTP)写保护。

上电或掉电时,W25Q128FV将保持复位状态,同时VCC低于VWI的阈值,(参见上电时序和电压电平,图43)。重置时,所有操作都被禁用,并且不会识别任何指令。在上电期间以及在VCC电压超过VWI之后,所有编程和擦除相关指令在tPUW的时间延迟中被进一步禁用。这包括写使能、页编程、扇区擦除、块擦除、芯片擦除和写状态寄存器指令。请注意,芯片选择引脚(/CS)必须在上电时跟踪VCC电源电平,直到达到VCC-min电平和tVSL时间延迟,并且还必须在掉电时跟踪VCC电源电平以防止不良命令序列。如果需要,可以使用/CS上的上拉电阻来实现此目的。

上电后,器件自动进入写禁止状态,状态寄存器写使能锁存(WEL)设置为0。必须在页编程、扇区擦除、块擦除、芯片擦除之前发出写使能指令或写入状态寄存器指令将被接受。完成写数据、擦除或写入指令写入使能锁存器(WEL)将自动清除为写入禁用状态0。

使用写状态寄存器指令并设置状态寄存器保护(SRP0,SRP1)和块保护(CMP,SEC,TB,BP [2:0])位,便于软件控制写保护。这些设置允许将部分或整个存储器阵列配置为只读。与写保护(/WP)引脚配合使用,可以在硬件控制下启用或禁用对状态寄存器的更改。请参阅状态寄存器部分以获取更多信此外,掉电指令提供额外级别的写保护,因为除释放掉电指令外,所有指令均被忽略。

W25Q128FV还使用单独块锁提供另一种写保护方法。每个64KB块(顶部和底部块除外,总共510个块)和顶部/底部块(总共32个扇区)中的每个4KB扇区配备一个单独的块锁定位。当锁定位为0时,可以擦除或编程相应的扇区或块;当锁定位设置为1时,将忽略发送到相应扇区或块的擦除或编程命令。当器件上电时,所有单独的块锁定位都为1,因此整个存储器阵列都受到保护,不会被擦除/编程。必须发出“单独块解锁(39h)”指令以解锁任何特定扇区或块。

状态寄存器-3中的WPS位用于决定应使用哪种写保护方案。当WPS=0(出厂默认值)时,器件将仅使用CMP,SEC,TB,BP[2:0]位来保护阵列的特定区域;当WPS=1时,器件将利用单独的块锁进行写保护。


 


http://www.ppmy.cn/news/256418.html

相关文章

GD32f407VE点亮ws2812(一)

ws2812根据芯片手册查看逻辑0与逻辑1的电平设置以及时序按照GRB的顺序高位先发。 在此尝试4种方法点亮&#xff1a; 1.用nop()指令 原理主要是通过GPIO翻转写0或写1实现逻辑0与逻辑1然后利用cpu执行几个空指令产生短延时的效果。也可自己写延时函数让其做加减乘除从而达到延时的…

w25n01g 代码_W25N01

//WriteAddr:开始写入的地址(24bit) //NumByteToWrite:要写入的字节数(最大65535) u8 W25QXX_BUFFER[4096]; void W25QXX_Write(u8* pBuffer,u32 WriteAddr,u16 NumByteToWrite) {u32 secpos; //定义要擦除的删区 u32 secoff; u32 secremain; u32 i; u8 * W25QXX_BUF; W25QXX_…

基于html+css+js+jquery的购物页面设计

1.jQuery介绍 jQuery是一个快速、简洁的JavaScript框架&#xff0c;是继Prototype之后又一个优秀的JavaScript代码&#xff08;框架&#xff09;于2006年1月由John Resig发布。jQuery设计的宗旨是“write Less&#xff0c;Do More”&#xff0c;即倡导写更少的代码&#xff0c;…

WK2124

目录 WK系列介绍 WK2124芯片原理 寄存器介绍 硬件连接 驱动框架 驱动移植 驱动源码分析 驱动信息描述和数据结构 串口驱动的底层操作 tty驱动架构 wk2xxx_dowork()和wk2xxx_work函数 修改设备树 驱动调试修改 问题 WK2124 WK系列介绍 WK2124能实现SPI拓展4路U…

大数据开发之Hive案例篇10-大表笛卡尔积优化

文章目录 一. 问题描述二.解决方案2.1 数据倾斜2.2 SQL改写1:由分析函数改为常规写法2.3 分析数据分布2.4 SQL改写2:重写 参考: 一. 问题描述 需求描述: 表概述: dt 时间分区 data_source 数据来源类别 start_date 时间 data_count 当前时间的数量…

SD卡SPI模式入门教程

▼我是阿荣&#xff0c;关注我&#xff0c;在技术路上一起精进&#xff01;▼ SD卡简介 SD卡是一种基于半导体快闪记忆器的新一代记忆设备&#xff0c;英文全称Secure Digital Memory Card&#xff0c;中文名又称安全数码卡。 尺寸分类 按尺寸分类&#xff0c;SD卡分为&…

华为 java sd卡,手机添加存储卡 内存变大不卡顿——华为SD卡扩容实例

手机的基本功能是接听电话收发短信&#xff0c;电脑是人工智能机器人&#xff0c;二者合并便是智能手机&#xff0c;也就是今天所说的“手机”。 手机用于记忆和工作的“脑海”里拥挤不堪时便会卡顿频发&#xff0c;这”脑海”就是手机的“内存”。 人的脑海分为大脑和小脑&…

关于Android读取SD卡存储的动态申请

关于Android读取SD卡存储的动态申请 介绍Android的目录结构数据的主要存储方式疑惑原来的代码&#xff1a;MainActivity.java修改后代码&#xff1a; 介绍 这篇文章主要关于我学习SD卡的动态获取权限时的一些问题。 Android的目录结构 参考自解析Android内部存储、外部存储的…