8.1 器件ID和指令集表( 六 )


类似于四IO指令,设置回环突发指令通过驱动/CS引脚为低电平来开启,然后发送指令码0x77,之后跟上24个无效位,最后跟上8位的“回环位”,W7-0 。该指令序列参考图28 。回环位W7和低位的W3-0不使用 。
一旦W6-4通过设置回环突发指令设置了,所有后续的“四IO快速读”和“四IO字读”指令将会根据W6-4的设置来访问某个页内的8/16/32/64字节固定长度段落 。如果需要禁止这种功能从而返回正常的读操作,需要重新发送一次设置回环突发指令,将W4设置为1 。W4位在上电后或者软件/硬件复位之后的缺省值是1 。
在QPI模式下,则应使用“回环突发读(0x0C)”指令来执行具有“环回”功能的读取操作 。回环长度通过W5-4来设置,其还可以通过“设置读参数(0xC0)”指令来重新配置 。参考8.2.44和8.2.45 。
图28 设置回环突发指令(仅SPI模式)
8.2.15 页编程(0x02)
页编程指令允许对一个事先已经擦除(0xFF)过的存储器区域进行数据编程,编程的大小可以从1字节到256字节 。在器件可接收页编程指令之前,必须先给器件写使能指令(从而设置状态寄存器WEL=1) 。该指令通过拉低/CS来启动,然后通过DI引脚发送页编程指令码(0x02)连同24位地址(A23-A0),以及至少1字节数据到器件 。在数据传输的整个过程中/CS引脚必须为低电平 。页编程指令序列参考图29 。
如果整个的256字节页需要编程,则地址的低位(最低字节,8个最低位)应该设置为0 。如果该最低字节非0,并且之后传输的数据数量超过了本页的剩余字节数,则地址会自动回到页的开始 。在某些情况下,少于256字节(也就是页的一部分)需要被编程,但同时不能影响本页中其他的数据 。这样做的一个方法是传输数据的时钟数不能超过本页剩余的字节数 。如果超过256字节传输到器件,则地址一定会重新回到页的开始,而之前被保存的数据会被覆盖 。
连同写和擦除指令,/CS引脚必须在时钟信号的8的倍数位后拉高 。如果没有这么做,页编程指令不会执行 。/CS拉高之后,内部自同步的页编程指令将会持续t_PP(参考AC特性)时间 。在整个页编程过程中,读状态寄存器指令仍然有效,可以通过该指令来获取BUSY位 。如果页编程指令仍在进行则BUSY为1;如果BUSY位为0,则器件已经完成了页编程指令,并且可以接受新的指令 。页编程循环结束之后,状态寄存器中的WEL会重新清为0 。如果页编程指令序列中的地址所指定的存储区通过块保护(CMP,SEC,TB,BP2,BP1,BP0)位或者独立块/扇区保护位进行了保护,则页编程指令不会执行 。
图29a 页编程指令(SPI模式)
图29b 页编程指令(QPI模式)
8.2.16 四输入页编程(0x32)
四输入页编程允许使用4个IO引脚:IO0,IO1,IO2,IO3来对之前已经擦除过的存储器区域(0xFF)进行编程 。四输入页编程对于进行PROM编程或者某些时钟速度
如果需要使用四输入页编程,QE位必须设置为1 。在器件可以接受四输入页编程之前,还必须先给出写使能指令从而使得状态寄存器中的WEL=1 。本指令通过拉低/CS发起,然后通过器件的IO输入指令码0x32,24位地址(A23-A0),以及至少1个数据字节 。在整个过程中/CS引脚必须保持低电平 。其他的四输入页编程的注意事项和标准页编程一致 。四输入页编程指令可参见图30 。
图30 四输入页编程指令(仅SPI模式)
8.2.17 扇区擦除(0x20)
扇区擦除指令将存储器指定扇区(4KB大小)内的内容全部擦除为1(0xFF) 。发出扇区擦除指令之前,必须先发出写使能指令,以将状态寄存器中的WEL位设置为1 。该指令通过拉低/CS开始,然后向器件输入指令码0x20,后面跟随24位扇区地址(A23-A0) 。扇区擦除指令序列参考图31a和31b 。