如何理解Stand SPI Dual SPI 和Quad SPI
1.首先看一下接口
Standard SPI: CLK, /CS, DI, DO, /WP, /Hold
这是全双工模式,输入和输出可以同时进行(mosi, miso分别对应的是DI和DO)
Dual SPI: CLK, /CS, IO0, IO1, /WP, /Hold
这是半双工模式,mosi和miso对应的是IO0和IO1,这样单次SPI的传输就可以传输2个Bit
Quad SPI: CLK, /CS, IO0, IO1, IO2, IO3
同样是半双工模式,Quad SPI增加了2个IO口(WP , HOLD),增加的目的是将SPI的单次传输数据量加大到4个Bit
2.接口说明
2.1 标准的SPI接口
CLK(Serial Clock):时钟线
/CS(Chip Select):片选接口
DI(Serial Data Input):数据输入端口
DO(Serial Data Output):输出输出端口
3.inst_nbits
, addr_nbits
, data_nbits
这三个参数的说明
inst_nbits
: 指的是发送命令字段,单次SPI传送的BIT数
addr_nbits
: 指的是发送地址字段,单次SPI传送的BIT数
data_nbits
:指的是发送数据字段,单次SPI传送的BIT数
如果地址字段和命令字段对于单次SPI传送的BIT数是不一致的,那么命令和地址的SPI需要分次传输,也就是拆成2个spi_transfer,再加上Data字段,总共会有3个spi_transfer。
如果地址字段和命令字段对于单次SPI传送的BIT数是一致的,那么命令和地址直接在一个spi_transfer中传输,再加上Data字段,总共会有2个spi_transfer。
BTW,一般SPI的NOR Flash在命令,地址,数据的单次数据的传输量都是一致的。