嵌入式--Flash操作中的标准SPI,Dual SPI,Quad SPI

嵌入式--Flash操作中的标准SPI,Dual SPI,Quad SPI

 一般来说,nor flash是SOP-8封装,有8个引脚:

  • VCC:电源正
  • GND:电源地
  • CS:传输控制–片选
  • CLK:传输控制–时钟
  • MOSI:可以复用
  • MISO:可以复用
  • WP:可以复用
  • HOLD:可以复用

 除了电源引脚(VCC,GND)以及控制传输的CS、CLK不能复用外,其他的四个引脚都是可以复用为数据传输引脚的。

 这里设定的场景是单向通信(比如只读的操作中只写的操作中),并非双工通信。

标准SPI–三线SPI

  • 三根线:CS、CLK、SIO1
  • 一个时钟周期发送1个bit

Dual SPI–四线SPI

 它只是针对SPI Flash而言,不是针对所有SPI外设。对于SPI Flash,全双工并不常用,因此扩展了mosi和miso的用法,让它们工作在半双工,用以加倍数据传输。也就是对于Dual SPI Flash,可以发送一个命令字节进入dual mode,这样mosi变成SIO0(serial io 0),mosi变成SIO1(serial io 1),这样一个时钟周期内就能传输2个bit数据,加倍了数据传输

  • 四根线:CS、CLK、SIO1、SIO2
  • 一个时钟周期发送2个bit

Quad SPI–六线

 与Dual SPI类似,也是针对SPI Flash,Qual SPI Flash增加了两根I/O线(SIO2,SIO3),目的是一个时钟内传输4个bit。

  • 六根线:CS、CLK、SIO1、SIO2、SIO3、SIO3
  • 一个时钟周期发送4个bit

 所以对于SPI Flash,有标准spi flash,dual spi , qual spi 三种类型,分别对应3-wire, 4-wire, 6-wire,在相同clock下,线数越多,传输速率越高。


  1. 串行IO口:Serial IO (简写:SIO) ↩︎