一、信号线(4根)
-
SCK
时钟线,数据收发同步 -
MOSI
数据线,主设备数据发送、从设备数据接收 -
MISO
数据线,从设备数据发送,主设备数据接收 -
NSS、CS
片选信号线,确定哪个从机有效
支持一主多从(因此主设备需要片选线来区分从机)
全双工通信,有两根数据线,负责双向传递
最大速率可达上百MHz
i2c只支持单双工,速率也比不过spi

二、spi时序

-
起始信号
NSS 信号线由高变低
spi通信即将开始 -
停止信号
NSS 信号由低变高
spi通信即将结束 -
数据传输
在 SCK的每个时钟周期 MOSI和 MISO同时传输一位数据,高/低位传输没有硬性规定(一般从高位开始传)
传输单位: 8 位或 16 位
单位数量:不受限制
三、spi通信模式
-
首先,在sck一个时钟周期里面,做两件事:触发和采样
触发:引起mosi,miso数据线的电平变化
采样:记录mosi,miso数据线的电平信号。
总线空闲时 SCK 的时钟状态以及数据采样时刻 -
时钟极性 CPOL:指 SPI 通讯设备处于空闲状态时,SCK信号线的电平信号
CPOL=0时, SCK在空闲状态时为低电平,进入工作状态为上升沿,如上图的cpol就是0
CPOL=1时, SCK在空闲状态时为高电平,进入工作状态为下降沿。 -
时钟相位 CPHA:数据的采样的时刻
当 CPHA=0 时,数据在 SCK 时钟线的“奇数边沿”被采样
当 CPHA=1时,数据在 SCK 时钟线的“偶数边沿”被采样
四、案例

SCK信号线在空闲状态为低电平时,CPOL=0;空闲状态为高电平时,CPOL=1
CPHA=0,数据在 SCK 时钟线的“奇数边沿”被采样
当 CPOL=0 的时候,时钟的奇数边沿是上升沿
当CPOL=1 的时候,时钟的奇数边沿是下降沿
五、四大模式
CPOL 和 CPHA 的四种组合

六、常见spi设备
-
EEPROM
-
FLASH
-
实时时钟
-
AD转换器
…
本文详细介绍了SPI(Serial Peripheral Interface)通信的基础知识,包括SPI信号线及其功能、SPI时序及通信模式,并通过具体案例进行说明。此外,还列举了一些常见的SPI设备。
32万+





