什么是SPI:
SPI就是串行外设接口,是一种全双工同步通信。
SPI接线:
SPI具有CS、SCK、MISO、MOSI这四根线。SPI的通信是通过CS线进行片选,SCK、MISO、MOSI这三根线都是总线。
- CS:片选信号,由主设备控制,在下图中为SS。低电平有效,代表与该芯片进行通信。
- SCK:时钟信号,由主设备产生。
- MISO:主机输入,从机输出。
- MOSI:主机输出,从机输入。
SPI工作模式:
SPI的工作模式主要区分的是 "SCK的初始电平" 与 "数据采样的边沿类型" 。
- 时钟极性(CPOL)就是描述没有数据传输时,时钟线的空闲状态电平,对应的就是SCK的初始电平。0代表空闲时为低电平,1代表空闲时为高电平。
- 时钟相位(CPHA)就是时钟线在第几个边沿采样数据,对应的就是数据采样的边沿类型。0代表奇数边沿采样、1代表偶数边沿采样。
SPI模式 | CPOL | CPHA | SCK的初始电平 | 数据采样的边沿类型 |
0 | 0 | 0 | 低电平 | 上升沿 |
1 | 0 | 1 | 低电平 | 下降沿 |
2 | 1 | 0 | 高电平 | 下降沿 |
3 | 1 | 1 | 高电平 | 上升沿 |
模式0的时序图分析:
因为是模式0,所以CPOL、CPHA的值为00,代表CLK的初始电平为低电平,采样为奇数边沿,也就是上升沿。因此数据为黄线所标注的数据。