文章目录
- SPI通信简介
- 硬件电路
- 移位示意图
- SPI时序基本单元
- 1.起始条件
- 2.终止条件
- 模式1
- 模式0
- 模式2
- 模式3
- SPI时序
SPI通信简介
四根通信线:
SCK"串行时钟线
MOSI:主机输出从机输入
MISO:主机输入从机输出
SS:从机选择
通信方式:同步,全双工,支持总线挂载多个设备(一主多从)。
硬件电路
所有SPI设备的SCK,MOSI,MISO分别连在一起,主机另外引出多条SS控制线,分别接到各从机的SS引脚
输出引脚配置为推挽输出,输入引脚配置为浮空或上拉输入
移位示意图
SPI时序基本单元
1.起始条件
SS从高电平切换到低电平
2.终止条件
SS从低电平切换到高电平
模式1
交换一个字节
CPOL=0:空闲状态时,SCK为低电平
CPHA=1:SCK第一个边沿移出数据,第二个边沿移入数据。
模式0
交换一个字节
CPOL=0:空闲状态时,SCK为低电平
CPHA=0:SCK第一个边沿移出数据,第二个边沿移入数据。
模式2
交换一个字节
CPOL=1:空闲状态时,SCK为低电平
CPHA=0:SCK第一个边沿移出数据,第二个边沿移入数据。
模式3
交换一个字节
CPOL=1:空闲状态时,SCK为低电平
CPHA=1:SCK第一个边沿移出数据,第二个边沿移入数据。
SPI时序
1.发送指令
向SS指定设备,发送指令0x06
2.指定地址写
向SS指定的设备,发送写指令(0x02)
随后在指定地址下(Adress[23:0]),写入指定数据(Data)。
3.指定地址读
向SS指定的设备,发送读指令(0x03)
随后在指定地址下(Adress[23:0]),读取指定数据(Data)。