该文章包括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引脚将处于高阻态,DI和CLK引脚上的信号将被忽略(无需关注)。当/ HOLD变为高电平时,器件可以恢复操作。当多个设备共享相同的SPI信号时,/HOLD功能非常有用。/HOLD引脚为低电平有效。当状态寄存器-2的QE位设置为四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 模式指令

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


W25Q128FV译文(一)相关推荐

  1. W25Q128FV译文(二)

    该文章包括W25Q128FV译文的第7章状态寄存器翻译及第八章指令部分翻译链接, 第1章至第六章翻译链接:https://blog.csdn.net/z123canghai/article/detai ...

  2. W25Q128FV译文(三)

    第八章指令剩余部分及第九章相关时序翻译内容 第1章至第六章翻译链接:https://blog.csdn.net/z123canghai/article/details/88700489 第7章状态寄存 ...

  3. HTTPS的七个神话(译文)

    原文网址:http://blog.httpwatch.com/2011/01/28/top-7-myths-about-https/ 译文地址:http://www.ruanyifeng.com/bl ...

  4. [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:MVC程序中实体框架的连接恢复和命令拦截...

    这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第四篇:MVC程序中实体框架的连接恢复和 ...

  5. 【译文】 C#面向对象的基本概念 (Basic C# OOP Concept) 第一部分(类,对象,变量,方法,访问修饰符)...

    译文出处:http://www.codeproject.com/Articles/838365/Basic-Csharp-OOP-Concept 相关文档:http://files.cnblogs.c ...

  6. 运用UE和Blocks,仅用两周打造一个VR游戏(52VR完整版译文)

    (本文52VR在原版译文上增添了关键的未翻译部分,并修正了部分翻译) 在今年初,3D建模者Jarlan Perez来到了Blocks团队,参加了为期两周的内容开发挑战.目标是在两周时间内通过Block ...

  7. 运动控制器对比:Windows MR、Rift、Vive、PSVR(译文修正版)

    (52VR修正了原译文的部分翻译错误) Windows Mixed Reallity(WMR)为我们带来了全新的运动控制器,在 Oculus Rift,HTC Vive 和PSVR等系统的基础上又增添 ...

  8. QEMU,一个快速的和便捷的动态翻译器(论文译文)

    QEMU, a Fast and Portable Dynamic Translator论文译文  https://www.usenix.org/legacy/event/usenix05/tech/ ...

  9. [译文]Domain Driven Design Reference(四)—— 柔性设计

    本书是Eric Evans对他自己写的<领域驱动设计-软件核心复杂性应对之道>的一本字典式的参考书,可用于快速查找<领域驱动设计>中的诸多概念及其简明解释. 其它本系列其它文章 ...

  10. 为什么要阅读——兼分享《首先,打破一切常规》[中译文]:世界顶级管理者的成功秘诀/(美)马库斯·白金汉,(美)柯特·科夫曼 著...

    <首先,打破一切常规>[中译文]:世界顶级管理者的成功秘诀/(美)马库斯·白金汉,(美)柯特·科夫曼 著.鲍世修 等译 下载地址:http://pan.baidu.com/s/1mgkca ...

最新文章

  1. NeurIPS 2020 大变动,领域主席可拒稿20%,作者即评审,布局远程会议!
  2. Python 运行 Python hello.py 出错,提示: File stdin , line 1
  3. 去除QT不使用参数的警告
  4. 5.Xilinx RapidIO核例子工程源码分析
  5. 系统分析的几个好工具
  6. 基于单片机的贪吃蛇游戏设计_前端入门,基于html,css,javascript的贪吃蛇游戏
  7. css 修改placeholder颜色 , placeholder的样式设置
  8. 五通信算法:五种编码增益比较matlab模拟
  9. 【C/C++】一篇文章教你区分数组指针指针数组
  10. C#socket编程序(二)
  11. GPIO接口解析【转】
  12. WebWork深入浅出(http://www.blogjava.net/moxie/archive/2006/10/20/76375.html)
  13. matlab求n阶行列式,发福利了,线性代数n阶行列式计算器!(需要的拿走吧)
  14. android 支付宝 授权登录,android 支付宝授权登录、获取个人信息一键接入
  15. 华为有线无线组网案例
  16. 微信端H5页面调用分享接口
  17. 需要知道关于struct的一些事情
  18. hdfs的学习和高可用部署
  19. OSI/RM各层功能—物理层、数据链路层
  20. 第十一课 Kubernetes生产级实践-ServiceMesh代表作istio

热门文章

  1. 关于bp抓包挂代理127.0.0.1服务器出现“有软件正在阻止Firefox安全连接至网站”问题的解决方法
  2. malloc和calloc
  3. C语言实现创建游戏角色(包含文件写入)
  4. 设计一个电商平台积分兑换系统的流程和技术选型
  5. 个人永久性免费-Excel催化剂功能第29波-追加中国特色的中文相关自定义函数
  6. 产业分析:视频云服务行业
  7. 031-JVM-合并写(write combining)
  8. html js 生成缩略图,js实现产品缩略图效果
  9. 安卓微信分享图标不显示的问题
  10. Referring Image Segmentation 综述