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


图46 编程安全寄存器指令(仅SPI模式)
8.2.33 读安全寄存器(0x48)
读安全寄存器指令类似于快速读指令,允许从3个安全寄存器中的1个中顺序地读取1个或者多个字节 。该指令通过拉低/CS引脚来发起,通过DI引脚向器件发送指令码0x48,24位地址(A23-A0),以及8个无效时钟周期 。指令码和地址位在CLK的上升沿锁定 。地址接收到之后,地址寻址的位置对应的数据字节将会在CLK的下降沿发出,MSb在先 。数据输出之后,字节地址会自动增加到下一个字节地址 。一旦字节地址到达寄存器的最后一个字节(字节地址0xFF),字节地址将会复位为0x00,也就是安全寄存器中的第一个字节,然后继续递增 。指令的完成通过驱动/CS为高电平来完成 。读安全寄存器指令序列可参见图47 。如果器件正在执行擦除,编程或者写循环正在执行(BUSY=1),则读安全寄存器指令将会被忽略,该指令不会影响任何当前的执行循环 。读状态寄存器指令允许时钟速率从直流到FR(参见AC电气特性) 。
图47 读安全寄存器指令(仅SPI模式)
8.2.34 设置读参数(0xC0)
在QPI模式下,为了在各种应用中,根据不同的最高读取速度和最小的数据延时需求,“设置读参数(0xC0)”指令可以用来配置指令“快速读(0x0B)”,“四IO快速读(0xEB)”,““回环突发读(0x0C)”中的无效时钟数,以及配置“回环突发读(0x0C)”中的“回环长度”字节数 。
在标准SPI模式下,“设置读参数(0xC0)”指令不会被接受 。在标准SPI/双线SPI/四线SPI模式下,各种快速读指令中的无效时钟数是固定的,可参考指令表1-2获取详细信息 。“回环长度”可以通过“设置回环突发(0x77)”指令设置W5-4位来修改 。当器件从标准SPI模式切换到QPI模式时,这些设置仍然不会改变 。
上电或者复位之后的缺省的“回环长度”是8字节,缺省的无效时钟数是2 。QPI模式下,仅可配置“快速读(0x0B)”,“四IO快速读(0xEB)”,以及“回环突发读(0x0C)”指令的无效时钟数 。不论何时设置器件从SPI模式到QPI模式,无效时钟数必须在0x0B,0xEB和0x0C指令之前重新设置 。
图48 设置读参数指令(仅QPI模式)
8.2.35 回环突发读(0x0C)
“回环突发读(0x0C)”指令提供另一种方式,来执行QPI模式下的“回环”读操作 。指令类似于QPI模式下“快速读(0x0B)”指令,除了读操作将会在到达边界后立即“回环”到“回环长度”的开始位置 。
“回环长度”和无效时钟数可以通过“设置读参数(0xC0)”指令配置 。
图49 环回突发读指令(仅QPI模式)
8.2.36 进入QPI模式(0x38)
支持标准/双线/四线串行外设接口(SPI)和四线外设接口(QPI) 。但是SPI模式和QPI模式不能够同时使用 。“进入QPI(0x38)”指令是唯一的将器件从SPI模式切换到QPI模式的指令 。
上电之后,缺省的状态是标准/双线/四线SPI模式 。这提供了向之前几代的串行Flash存储器的兼容 。参看指令表1-3以获取所有支持的SPI指令 。为了将器件切换到QPI模式,状态寄存器2中的QE位必须设置为1,然后再向器件发出“进入QPI(0x38)”指令 。如果QE位为0,“进入QPI(0x38)”指令会被忽略,器件会仍然处在SPI模式 。
参见指令表3获取所有QPI模式下支持的指令 。
当前器件从SPI模式切换为QPI模式,已经存在的写使能,编程/擦除挂起状态,以及回环长度设置仍然不会改变 。
图50 进入QPI指令(仅SPI模式)
8.2.37 离开QPI模式(0xFF)
如果需要离开QPI模式,进入标准/双线/四线SPI模式,必须使用“离开QPI(0xFF)”指令 。