一、SPI简介
SPI(serial peripheral interface)串行外设接口,SPI是一种高速的,全双工,同步的通信总线
二、单机与多机通信
1.单击通信
2.多机通信
二、通信细节
1.寻址方式
spi寻址是通过向对应从设备上的片选线CS上发送使能信号
2.通信过程
3.相位和极性
SPI总线有四种工作方式,其中使用的最为广泛的是模式0和模式3方式。
CPOL(Clock Polarity):时钟极性选择,为0时SPI总线空闲时,时钟线为低电平 ;为1时SPI总线空闲时,时钟线为高电平。
CPHA(Clock Phase):时钟相位选择,为0时在SCLK第一个跳变沿,主机对MISO引脚电平采样;为1时在SCLK第二个跳变沿,主机对MISO引脚电平采样。
SPI总线有四种不同的工作模式,取决于极性CPOL和相位CPHL
3.1CPHA = 0,CPOL = 0
3.2CPHA = 0,CPOL = 1
3.3CPHA = 1,CPOL = 0
3.4CPHA = 1,CPOL = 1
模式0(2.4G无线传输模块:NRF24L01)
模式3(SPI FLASH:W25Q128)
三、I2C和SPI的异同
1.相同点
- 均采用串行、同步方式
- 均采用TTL电平,传输距离和应用场景类似
- 均采用主从方式工作
- 均先发送高位再发送低位
2.不同点
- 数据传输方向不同:I2C为半双工,SPI为全双工
- 传输数据机制不同:I2C有应答机制,SPI无应答机制
- 寻址方式不同:I2C通过向总线广播从机地址来寻址,SPI通过向对应从机发送使能信号来寻址
- 时钟极性和时钟相位不同:I2C的时钟极性和时钟相位固定,SPI的时钟极性和时钟相位可调
|