SPI接口是4线全双工串行通信接口,其通讯速率往往能够达到 几十Mbps,常应用于 EEPROM、FLASH、AD转换器等外设的通信中。定义有4条通信线:CS、SCLK、MOSI、MISO。主机和从机通过移位寄存器根据时钟,在MISO和MOSI上完成数据的同步交换。
SPI接口的模式取决于时钟极性(CPOL)和时钟相位(CPHA)的设置,极性有2种,相位有两种,组合起来有4种模式,SPI通信中,主从设备的时钟极性、时钟相位配置应该保持一致
- 时钟极性(CPOL)定义的是时钟 空闲时电平的状态,CPOL = 0,低电平空闲;CPOL = 1,高电平空闲
- 时钟相位(CPHA)定义的是数据采样位置,CPHA = 0,在串行时钟的第1个跳变沿采样数据;CPHA = 1,在串行时钟的第2个跳变沿采样数据
在SPI FLASH的通信中,还有Dual SPI、Qual SPI的存在
- Dual SPI扩展了MISO、MOSI的使用方法,使其工作在半双工状态,以达到加倍的数据传输能力。对于Dual SPI Flash,在常规的SPI通信过程中发送命令字,令Flash进入Dual SPI通信状态;
- Dual SPI通信状态下MOSI复用成SIO0(串行IO线路0),MISO复用成SIO1(串行IO线路1),这样在一个时钟周期内就能传输2倍的数据;
- Qual SPI和Dual SPI类似,但是在Dual SPI的基础上增加了2根IO线:SIO2、SIO3,这样在Qual SPI模式下,一个时钟周期内就能传输4倍于SPI模式下的数据;
如果觉得《常用通信接口 协议:SPI》对你有帮助,请点赞、收藏,并留下你的观点哦!