嵌入式--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下,线数越多,传输速率越高。
-
串行IO口:Serial IO (简写:SIO) ↩︎