欢迎访问ic37.com |
会员登录 免费注册
发布采购

3V 64位带双和四SPI的串行闪存

日期:2019-9-6标签: (来源:互联网)

一般说明
w25q64cv(64m位)串行闪存为空间、管脚和电源有限的系统提供了存储解决方案。25Q系列的灵活性和性能远远超过普通的串行闪存设备。它们非常适合对ram进行代码跟踪,直接从dual/quad spi(xip)执行代码,并存储语音、文本和数据。该设备在一个2.7V至3.6V的电源上工作,电流消耗低至4MA激活,1微A断电。
w25q64cv阵列被组织成32768个可编程页面,每个页面256字节。一次最多可编程256字节。页面可以按16组(4KB扇区擦除)、128组(32KB块擦除)、256组(64KB块擦除)或整个芯片(芯片擦除)进行擦除。w25q64cv分别具有2048个可擦除扇区和128个可擦除块。小的4KB扇区允许在需要数据和参数存储的应用程序中具有更大的灵活性。
w25q64cv支持标准串行外围接口(SPI)、高性能双/四输出以及双/四I/O SPI:串行时钟、芯片选择、串行数据I/O0(DI)、I/O1(DO)、I/O2(/WP)和I/O3(/HOLD)。支持高达80MHz的SPI时钟频率,允许在使用快速读取的双/四I/O指令时,双I/O的等效时钟频率为160MHz(80MHz x 2),四I/O的等效时钟频率为320MHz(80MHz x 4)。这些传输速率可以优于标准的异步8位和16位并行闪存。连续读取模式允许高效的内存访问,读取24位地址的指令开销只有8个时钟,允许真正的xip(就地执行)操作。
一个保持引脚,写保护引脚和可编程写保护,顶部或底部阵列控制,提供进一步的控制灵活性。此外,该设备支持jedec标准制造商和设备标识,具有64位唯一序列号。
2。特征
Spiflash存储器系列
w25q64cv:64M位/8M字节(8388608
–每个可编程页面256字节
–标准spi:clk,/cs,di,do,/wp,/hold
–双SPI:CLK,/CS,IO0,IO1,/WP,/HOLD
–四SPI:CLK,/CS,IO0,IO1,IO2,IO3
最高性能串行闪存
–80MHz双/四SPI时钟
–160/320MHz等效双/四SPI
–40MB/s连续数据传输速率
–高达普通串行闪存的8倍
–超过100000次擦除/程序周期(1)
–超过20年的数据保留
高效的“连续读取模式”
–低指令开销
–连续读取,8/16/32/64字节换行
–只需8个时钟即可寻址内存
–允许真正的xip(就地执行)操作
–优于x16并行闪存
高效的“连续读取模式”–单个2.7至3.6V电源
–4MA有功电流,<1微安断电(典型)
-40°C至+85°C工作范围
具有4KB扇区的灵活架构-统一扇区/块擦除(4/32/64K字节)
–编程1到256字节
–擦除/程序挂起和恢复
高级安全功能
–软件和硬件写保护
–顶部/底部,4KB补充阵列保护
–电源锁定和OTP保护
–每个设备的64位唯一ID
–可发现参数(SFDP)寄存器
–带OTP锁的3x256字节安全寄存器
–易失性和非易失性状态寄存器位
节省空间的包装
–8针SOIC 208 mil
–8垫wson 6x5 mm/8x6 mm(2)
–16针SOIC 300 mil
–8针PDIP 300 mil
–24球TFBGA 8x6毫米
–联系Winbond获取KGD和其他选项
注释1。工业和汽车温度超过100000个块擦除/程序周期;根据AEC-Q100测试超过10000个全芯片擦除/程序周期。
2。wson 8x6 mm是一个特殊的订购包,请联系winbond获取订购信息。
三。封装类型和引脚配置
w25q64cv分别以8针SOIC 208 mil(封装代码SS)、8针WSON 6x5 mm或8x6 mm(封装代码ZP&ZE)、8针PDIP 300 mil(封装代码DA)、16针SOIC 300 mil(封装代码SF)和24球8x6 mm TFBGA(封装代码TC)提供,如图1A-E所示。包装图和尺寸见本数据表末尾。

w25q64cv引脚分配,8针SOIC 208 mil(封装代码SS)

3.2垫配置wson 6x5 mm/8x6 mm

w25q64cv焊盘分配,8焊盘wson 6x5 mm/8x6 mm(包装代码ZP&ZE)

w25q64cv引脚分配,8引脚PDIP 300 mil(封装代码DA)

w25q64cv引脚分配,16引脚SOIC 300 mil(封装代码SF)

管脚说明
4.1芯片选择(/cs)
spi chip select(/cs)管脚启用和禁用设备操作。当/cs为高时,设备被取消选择,串行数据输出(do或io0、io1、io2、io3)引脚处于高阻抗。当取消选择时,除非正在进行内部擦除、程序或写入状态寄存器循环,否则设备功耗将处于待机状态。当/cs降低时,将选择设备,功耗将增加到活动级别,可以向设备写入指令并从设备读取数据。通电后,/cs必须从高转换到低,才能接受新指令。/CS输入必须跟踪通电时的VCC电源电平(参见“写保护”和图38)。如果需要,可以使用/cs上的拉阻器来完成此操作。
4.2串行数据输入、输出和IOS(DI、DO和IO0、IO1、IO2、IO3)
w25q64cv支持标准SPI、双SPI和四SPI操作。标准SPI指令使用单向DI(输入)管脚将指令、地址或数据串行写入串行时钟(CLK)输入管脚上升沿上的设备。标准spi还使用单向do(输出)从clk下降沿上的设备读取数据或状态。
双SPI和四SPI指令使用双向IO管脚将指令、地址或数据串行写入CLK上升沿上的设备,并从CLK下降沿上的设备读取数据或状态。quad spi指令要求设置状态寄存器2中的非易失性quad enable位(qe)。当qe=1时,/wp pin变为io2,/hold pin变为io3。
4.3写保护(/wp)
写入保护(/wp)引脚可用于防止写入状态寄存器。与状态寄存器的块保护(cmp、sec、tb、bp2、bp1和bp0)位和状态寄存器保护(srp)位一起使用,小到4kb扇区或整个内存阵列的一部分可以受到硬件保护。/WP引脚处于低激活状态。当状态寄存器-2的qe位被设置为四输入/输出时,/wp pin功能不可用,因为该pin用于i o 2。四路I/O操作的引脚配置见图1A-E。
4.4保持(/保持)
/hold pin允许在设备处于活动状态时暂停设备。当/hold变低时,当/cs变低时,do管脚将处于高阻抗,di和clk管脚上的信号将被忽略(不要在意)。当/HOLD处于高位时,设备操作可以恢复。当多个设备共享相同的spi信号时,/hold功能非常有用。/HOLD引脚处于低激活状态。当状态寄存器-2的qe位设置为四输入/输出时,由于该引脚用于io3,因此/hold pin功能不可用。四路I/O操作的引脚配置见图1A-E。

串行时钟(CLK)
SPI串行时钟输入(CLK)引脚提供串行输入和输出操作的定时。(“见SPI操作”)
5。方块图

6。功能描述
6.1 SPI操作
6.1.1标准SPI说明
w25q64cv通过一个spi兼容总线访问,该总线由四个信号组成:串行时钟(clk)、芯片选择(/cs)、串行数据输入(di)和串行数据输出(do)。标准spi指令使用di输入pin将指令、地址或数据串行写入clk上升沿上的设备。do输出引脚用于从下降沿clk上的设备读取数据或状态。
支持SPI总线操作模式0(0,0)和3(1,1)。模式0和模式3之间的主要区别在于SPI总线主设备处于待机状态且数据未传输到串行闪存时CLK信号的正常状态。对于模式0,在/cs的下降和上升边缘,clk信号通常较低。对于模式3,CLK信号通常在/cs的下降和上升边缘高。
6.1.2双SPI指令
使用“快速读取双输出(3BH)”和“快速读取双I/O(BBH)”指令时,w25q64cv支持双SPI操作。这些指令允许以普通串行闪存设备的2到3倍速率将数据传输到设备或从设备传输数据。双spi读取指令非常适合在通电时快速将代码下载到ram(代码阴影)或直接从spi总线(xip)执行非速度关键代码。使用双spi指令时,di和do管脚变为双向i/o管脚:io0和io1。
6.1.3四SPI指令
当使用“快速读取四路输出(6BH)”、“快速读取四路I/O(EBH)”、“字读取四路I/O(E7H)”和“八进制字读取四路I/O(E3H)”指令时,w25q64cv支持四路SPI操作。这些指令允许数据以普通串行闪存4到6倍的速率传输到设备或从设备传输数据。四读指令在连续和随机访问传输速率方面提供了显著的改进,允许从spi总线(xip)直接对ram或执行进行快速代码跟踪。使用quad spi指令时,di和do管脚变为双向io0和io1,/wp和/hold管脚分别变为io2和io3。quad spi指令要求设置状态寄存器2中的非易失性quad enable位(qe)。
6.1.4保持功能
对于标准spi和双spi操作,/hold信号允许w25q64cv操作在被激活时暂停(当/cs低时)。在spi数据和时钟信号与其他设备共享的情况下,/保持功能可能有用。例如,当优先级中断需要使用spi总线时,考虑是否只部分写入了页面缓冲区。在这种情况下,/hold函数可以将指令和数据的状态保存在缓冲区中,这样一旦总线再次可用,编程就可以在中断的地方恢复。/HOLD功能仅适用于标准SPI和双SPI操作,而不适用于四SPI操作。
要启动A/HOLD条件,必须选择/CS低的设备。如果CLK信号已经很低,A/HOLD状态将在/HOLD信号的下降沿激活。如果CLK还不低,则/保持条件将在CLK的下一个下降沿后激活。如果CLK信号已经很低,/HOLD条件将在/HOLD信号的上升沿终止。如果CLK不低,则/保持条件将在CLK的下一个下降沿之后终止。在A/HOLD状态下,串行数据输出(do)为高阻抗,忽略串行数据输入(di)和串行时钟(clk)。芯片选择(/cs)信号应在/hold操作的整个持续时间内保持激活(低),以避免重置设备的内部逻辑状态。
6.2写保护
使用非易失性存储器的应用程序必须考虑噪声和其他可能损害数据完整性的不利系统条件的可能性。为了解决这个问题,w25q64cv提供了几种保护数据不被意外写入的方法
6.2.1写保护特性
当VCC低于阈值时,设备复位
通电后时间延迟写入禁用
写入启用/禁用指令,擦除或编程后自动写入禁用
使用状态寄存器的软件和硬件(/wp pin)写保护
使用断电指令写入保护
锁定写保护直到下次通电
一次性程序(OTP)写保护*
注:此功能在特殊订购时提供。详情请联系Winbond。
通电或断电时,当VCC低于VWI的阈值时,w25q64cv将保持复位状态(见通电定时和电压水平和图38)。重置时,将禁用所有操作,并且不识别任何指令。在通电期间以及在vcc电压超过vwi之后,由于tpuw的时间延迟,所有与程序和擦除相关的指令进一步被禁用。这包括写入启用、页面程序、扇区擦除、块擦除、芯片擦除和写入状态寄存器指令。注意,芯片选择引脚(/cs)必须在通电时跟踪VCC电源电平,直到达到VCC最小电平和TVSL延时。如果需要,可以使用/cs上的上拉电阻器来完成此操作。
通电后,设备自动处于写禁用状态,状态寄存器写启用闩锁(WEL)设置为0。在接受页程序、扇区擦除、块擦除、芯片擦除或写入状态寄存器指令之前,必须发出允许写入指令。完成程序、擦除或写入指令后,写入启用闩锁(WEL)将自动清除为可写状态0。
使用写状态寄存器指令和设置状态寄存器保护(srp0、srp1)和块保护(cmp、sec、tb、bp2、bp1和bp0)位有助于软件控制的写保护。这些设置允许将小到4KB扇区的部分或整个内存阵列配置为只读。与写保护(/wp)管脚一起使用,可以在硬件控制下启用或禁用对状态寄存器的更改。有关更多信息,请参阅状态寄存器部分。此外,掉电指令提供了额外的写保护级别,因为除了释放掉电指令之外,所有指令都被忽略。
7。状态寄存器和指令
读状态寄存器-1和状态寄存器-2指令可用于提供闪存阵列可用性的状态,如果设备已启用或禁用写,则提供写保护状态、四SPI设置、安全寄存器锁定状态和擦除/程序挂起状态。写入状态寄存器指令可用于配置设备写入保护功能、四SPI设置和安全寄存器OTP锁。对状态寄存器的写访问由非易失性状态寄存器保护位(srp0,srp1)的状态、写启用指令和标准/双spi操作期间的/wp pin控制。
7.1状态寄存器
7.1.1忙状态(忙)
busy是状态寄存器(s0)中的只读位,当设备执行页程序、四页程序、扇区擦除、块擦除、芯片擦除、写入状态寄存器或擦除/程序安全寄存器指令时,该位被设置为1状态。在此期间,设备将忽略除读取状态寄存器和擦除/程序挂起指令以外的其他指令(参见交流特性中的tw、tpp、tse、tbe和tce)。当程序、擦除或写入状态/安全寄存器指令完成时,忙碌位将被清除到0状态,表示设备已准备好接受进一步指令。
7.1.2写入启用锁存状态(WEL)
写启用锁存器(WEL)是状态寄存器(S1)中的只读位,在执行写启用指令后设置为1。当设备写禁用时,WEL状态位清除为0。在通电时或在以下任何指令之后出现写禁用状态:写禁用、页程序、四页程序、扇区擦除、块擦除、芯片擦除、写状态寄存器、擦除安全寄存器和程序安全寄存器。
7.1.3块保护位(bp2、bp1、bp0)
块保护位(bp2、bp1、bp0)是提供写保护控制和状态的状态寄存器(s4、s3和s2)中的非易失性读/写位。块保护位可以使用写状态寄存器指令来设置(参见交流特性中的tw)。所有、无或部分存储器阵列都可以免受程序和擦除指令的保护(参见状态寄存器存储器保护表)。块保护位的出厂默认设置为0,没有受保护的数组。
7.1.4上/下块保护位(TB)
非易失性顶部/底部位(tb)控制块保护位(bp2、bp1、bp0)是从阵列的顶部(tb=0)还是底部(tb=1)进行保护,如状态寄存器存储器保护表所示。出厂默认设置为tb=0。tb位可以根据srp0、srp1和wel位的状态用写状态寄存器指令设置。
7.1.5扇区/块保护位(秒)
非易失性扇区/块保护位(秒)控制块保护位(bp2、bp1、bp0)是否保护数组顶部(tb=0)或底部(tb=1)的4kb扇区(sec=1)或64kb块(sec=0),如状态寄存器内存保护表所示。默认设置为sec=0。
7.1.6补码保护位(CMP)
补码保护位(cmp)是状态寄存器(s14)中的非易失性读/写位。它与sec、tb、bp2、bp1和bp0位结合使用,为阵列保护提供了更大的灵活性。一旦CMP设置为1,以前由SEC、TB、BP2、BP1和BP0设置的阵列保护将被反转。例如,当cmp=0时,顶级4KB扇区可以受到保护,而阵列的其余部分则不受保护;当cmp=1时,顶级4KB扇区将变为不受保护,而阵列的其余部分变为只读。有关详细信息,请参阅状态寄存器内存保护表。默认设置为cmp=0。
7.1.7状态寄存器保护位(SRP1、SRP0)
状态寄存器保护位(srp1和srp0)是状态寄存器(s8和s7)中的非易失性读/写位。srp位控制写入保护的方法:软件保护、硬件保护、电源锁定或一次性可编程(otp)保护

7.1.8擦除/程序暂停状态(SUS)
挂起状态位是状态寄存器(s15)中的只读位,在执行擦除/程序挂起(75h)指令后设置为1。SUS状态位通过擦除/程序恢复(7AH)指令以及断电、通电循环清除为0。
7.1.9安全寄存器锁定位(lb3、lb2、lb1)
安全寄存器锁定位(lb3、lb2、lb1)是状态寄存器(s13、s12、s11)中的非易失性一次性程序(otp)位,向安全寄存器提供写保护控制和状态。lb[3:1]的默认状态为0,安全寄存器被解锁。lb[3:1]可以使用write status register指令单独设置为1。LB[3:1]是一次性可编程(OTP),一旦设置为1,相应的256字节安全寄存器将永久变为只读。
7.1.10四位启用位(QE)
quad enable(qe)位是状态寄存器(s9)中允许quad spi操作的非易失性读/写位。当qe位设置为0状态(出厂默认值)时,/wp pin和/hold被启用。当qe位设置为1时,四个io2和io3引脚被启用,并且/wp和/hold功能被禁用。
警告:如果/wp或/hold引脚在标准spi或双spi操作期间直接连接到电源或接地,则qe位不应设置为1。

7.2说明
w25q64cv的指令集由35条基本指令组成,这些指令通过spi总线完全控制(见指令集表1-3)。使用芯片选择的下降沿(/cs)启动指令。进入DI输入的数据的第一个字节提供指令代码。DI输入上的数据在时钟的上升沿上采样,最高有效位(msb)在前。
指令的长度从一个字节到几个字节不等,后面可能是地址字节、数据字节、伪字节(不必在意),在某些情况下是一个组合。使用EDGE/CS的上升沿完成说明。图4到图37中包括了每条指令的时钟相关时序图。所有读取指令都可以在任何计时位之后完成。但是,所有写入、编程或擦除的指令都必须在字节边界上完成(在一个完整的8位时钟后/cs驱动高),否则指令将被忽略。此功能进一步保护设备免受意外写入。此外,当存储器被编程或擦除时,或当状态寄存器被写入时,除读取状态寄存器外的所有指令都将被忽略,直到程序或擦除周期完成。

7.2.5允许写入(06h)
write enable指令(图4)将状态寄存器中的write enable闩锁(WEL)位设置为1。WEL位必须在每一页程序、四页程序、扇区擦除、块擦除、芯片擦除、写入状态寄存器和擦除/程序安全寄存器指令之前设置。通过驱动/cs low,将指令代码“06h”移到clk上升沿上的数据输入(di)管脚中,然后驱动/cs high来输入write enable指令。

7.2.6易失性状态寄存器的写入启用(50h)
第7.1节中描述的非易失性状态寄存器位也可以作为易失性位写入。这使得在不等待典型的非易失性位写入周期或影响状态寄存器非易失性位的持久性的情况下快速改变系统配置和存储器保护方案具有更大的灵活性。要将易失性值写入状态寄存器位,必须在写入状态寄存器(01h)指令之前发出易失性状态寄存器(50h)指令的写入启用。volatile status register指令的write enable(图5)不会设置write enable latch(WEL)位,它只对write status register指令更改volatile status register位值有效。
图5。易失性状态寄存器指令序列图的写入启用

7.2.7禁止写入(04h)
写禁用指令(图6)将状态寄存器中的写启用闩锁(WEL)位重置为0。通过驱动/cs low,将指令代码“04h”移到di pin,然后驱动/cs high来输入写禁用指令。注意,WEL位在通电后和写入状态寄存器、擦除/程序安全寄存器、页程序、四页程序、扇区擦除、块擦除和芯片擦除指令完成后自动重置。
write disable指令也可用于使volatile status register指令的write enable失效。

图6。写禁用指令序列图
7.2.8读取状态寄存器-1(05h)和读取状态寄存器-2(35h)
读取状态寄存器指令允许读取8位状态寄存器。通过驱动/cs low并将状态寄存器1的指令代码“05h”或状态寄存器2的指令代码“35h”移入CLK上升沿上的DI管脚,即可输入指令。然后,状态寄存器位在CLK下降沿的do管脚上向外移位,最有效位(msb)首先如图7所示。状态寄存器位如图3A和3B所示,包括BUSY、WEL、BP2-BP0、TB、SEC、SRP0、SRP1、QE、LB[3:1]、CMP和SUS位(见本数据表前面的状态寄存器部分)。
读状态寄存器指令可以随时使用,即使程序、擦除或写入状态寄存器周期正在进行。这允许检查忙状态位,以确定周期何时完成以及设备是否可以接受另一条指令。状态寄存器可以连续读取,如图7所示。该指令通过驱动/cs high完成。

7.2.9写入状态寄存器(01H)
写入状态寄存器指令允许写入状态寄存器。只能写入非易失性状态寄存器位srp0、sec、tb、bp2、bp1、bp0(状态寄存器1的位7到2)和cmp、lb3、lb2、lb1、qe、srp1(状态寄存器2的位14到8)。所有其他状态寄存器位位置都是只读的,不会受到写入状态寄存器指令的影响。LB[3:1]是非易失性OTP位,一旦设置为1,就不能清除为0。状态寄存器位如图3所示,如7.1所述。
要写入非易失性状态寄存器位,必须先执行标准的write enable(06h)指令,设备才能接受write status寄存器指令(状态寄存器位WEL必须等于1)。一旦启用写操作,通过驱动/cs low输入指令,发送指令代码“01h”,然后写入状态寄存器数据字节,如图8所示。

要写入易失性状态寄存器位,必须在写入状态寄存器指令之前执行易失性状态寄存器(50h)指令的写入启用(状态寄存器位WEL保持0)。但是,由于这些位的otp保护,srp1和lb3、lb2、lb1不能从“1”更改为“0”。断电后,易失性状态寄存器位值将丢失,再次通电时,非易失性状态寄存器位值将恢复。
要完成写入状态寄存器指令,/cs pin必须在时钟输入的第八位或第十六位数据之后被高速驱动。如果不这样做,写状态寄存器指令将不会被执行。如果/cs在第八个时钟(与25x系列兼容)之后被高速驱动,则cmp和qe位将被清除为0。

在非易失性状态寄存器写入操作(06h与01h组合)期间,在/cs被驱动高之后,自动定时写入状态寄存器周期将开始,持续时间为tw(见交流特性)。当写入状态寄存器周期正在进行时,仍可访问读取状态寄存器指令以检查忙位的状态。在写入状态寄存器周期中,忙碌位是1;在周期结束并准备再次接受其他指令时,忙碌位是0。写入状态寄存器循环完成后,状态寄存器中的写入启用闩锁(WEL)位将清除为0。
在易失性状态寄存器写入操作(50h与01h组合)期间,在/cs被驱动高之后,状态寄存器位将在tshsl2的时间段内刷新为新值(参见ac特征)。在状态寄存器位刷新期间,忙碌位将保持0

读取数据(03h)

读取数据指令允许从存储器中顺序读取一个或多个数据字节。通过将/cs pin低驱动,然后将指令代码“03h”后跟24位地址(A23-a0)移入di pin来启动指令。代码和地址位锁定在CLK引脚的上升沿上。接收到地址后,地址存储器位置的数据字节将在CLK下降沿的do管脚上移位,最高位(msb)优先。在每个字节的数据被移出允许连续的数据流之后,地址自动递增到下一个更高的地址。这意味着只要时钟继续,整个存储器可以用一条指令访问。该指令通过驱动/cs high完成。

读取数据指令序列如图9所示。如果在执行擦除、程序或写入周期(busy=1)时发出读取数据指令,该指令将被忽略,并且不会对当前周期产生任何影响。读取数据指令允许从直流到最大fr的时钟速率(见交流电气特性)。

7.2.11快速读取(0bh)

快速读取指令与读取数据指令类似,只是它可以以fr的最高频率工作(参见交流电气特性)。这是通过在24位地址之后添加8个“虚拟”时钟来实现的,如图10所示。虚拟时钟允许设备内部电路有额外的时间来设置初始地址。在虚拟时钟期间,do pin上的数据值是“不在乎”。

7.2.12快速读取双输出(3BH)

快速读取双输出(3bh)指令与标准快速读取(0bh)指令类似,只是数据输出在两个管脚上:io0和io1。这允许以两倍于标准spi设备的速率从w25q64cv传输数据。快速读取双输出指令非常适合在通电时从闪存快速下载代码到RAM,或用于将代码段缓存到RAM以供执行的应用程序。

与快速读取指令类似,快速读取双输出指令可以在fr的最高可能频率下工作(参见交流电气特性)。这是通过在24位地址之后添加8个“虚拟”时钟来实现的,如图11所示。虚拟时钟允许设备的内部电路有额外的时间来设置初始地址。在虚拟时钟期间的输入数据是“不在乎”。然而,在第一个数据输出时钟的下降沿之前,io0引脚应该是高阻抗的。

7.2.13快速读取四路输出(6BH)

快速读取四输出(6BH)指令与快速读取双输出(3BH)指令类似,只是数据输出在四个管脚上,即IO0、IO1、IO2和IO3。在设备接受快速读取四元输出指令(状态寄存器位qe必须等于1)之前,必须执行状态寄存器2的四元启用。快速读取四输出指令允许以标准spi设备速率的四倍从w25q64cv传输数据。

快速读取四输出指令可以在尽可能高的fr频率下工作(见交流电气特性)。这是通过在24位地址之后添加8个“虚拟”时钟来实现的,如图12所示。虚拟时钟允许设备的内部电路有额外的时间来设置初始地址。在虚拟时钟期间的输入数据是“不在乎”。然而,在第一个数据输出时钟的下降沿之前,io管脚应该是高阻抗的。

7.2.14快速读取双I/O(BBH)

快速读取双I/O(BBH)指令允许在保持两个IO管脚IO0和IO1的同时改进随机访问。它类似于快速读取双输出(3bh)指令,但具有每个时钟输入两位地址位(a23-0)的能力。这种减少的指令开销可能允许在某些应用程序中直接从双spi执行代码(xip)。

具有“连续读取模式”的快速读取双I/O

快速读取双I/O指令可以通过在输入地址位(A23-0)之后设置“连续读取模式”位(M7-0)来进一步减少指令开销,如图13A所示,(M7-4)的上半字节通过包含或排除第一字节指令来控制下一个快速读取双I/O指令的长度。指令代码。(m3-0)的下半字节不重要(“x”)。然而,在第一个数据输出时钟的下降沿之前,io管脚应该是高阻抗的。

如果“连续读取模式”位M5-4=(1,0),则下一个快速读取双I/O指令(在/cs被升高然后降低之后)不需要BBH指令码,如图13b所示。这将指令序列减少8个时钟,并允许在/cs被断言为低之后立即输入读取地址。如果“连续读取模式”位m5-4不等于(1,0),则下一条指令(在/cs之后升高然后降低)需要第一个字节的指令码,从而返回正常操作。“连续读取模式”复位指令也可用于发出正常指令前的复位(M7-0)(详细说明见7.2.20)。

7.2.15快速读取四路I/O(EBH)

快速读取四I/O(EBH)指令类似于快速读取双I/O(BBH)指令,只是地址和数据位通过四个引脚IO0、IO1、IO2和IO3输入和输出,并且在数据输出之前需要四个虚拟时钟。quad i/o极大地减少了指令开销,允许直接从quad spi进行更快的代码执行随机访问(xip)。必须设置状态寄存器2的四元启用位(qe)才能启用快速读取四元I/O指令。

具有“连续读取模式”的快速读取四路I/O

快速读取四元I/O指令可以通过在输入地址位(A23-0)之后设置“连续读取模式”位(M7-0)来进一步减少指令开销,如图14A所示,(M7-4)的上半字节通过包含或排除第一字节指令来控制下一个快速读取四元I/O指令的长度。指令代码。(m3-0)的下半字节不重要(“x”)。然而,在第一个数据输出时钟的下降沿之前,io管脚应该是高阻抗的。

如果“连续读取模式”位M5-4=(1,0),则下一个快速读取四输入/输出指令(在/cs被升高然后降低之后)不需要ebh指令码,如图14b所示。这将指令序列减少8个时钟,并允许在/cs被断言为低之后立即输入读取地址。如果“连续读取模式”位m5-4不等于(1,0),则下一条指令(在/cs之后升高然后降低)需要第一个字节的指令码,从而返回正常操作。“连续读取模式”复位指令也可用于发出正常指令前的复位(M7-0)