1、SPI协议
SPI(Serial Peripheral Interface)是一种同步串行数据通信协议,通常用于连接微控制器和外部设备,如传感器、存储器、显示器等。SPI协议使用四根线进行通信,包括时钟线(SCLK)、数据输入线(MISO)、数据输出线(MOSI)和片选线(SS)。
SPI通信的基本过程如下:
- 主设备通过片选线选择要与之通信的从设备
- 主设备通过时钟线产生时钟信号,控制数据传输的时序
- 主设备通过数据输出线(MOSI)发送数据到从设备
- 从设备通过数据输入线(MISO)返回响应数据到主设备
时钟线在空闲时可以有高低电平两种状态,数据在采样可以在时钟线的奇数沿或者偶数沿,前者为极性,后者为相位,一共四种组合构成了SPI通信的4种模式:
模式 | 极性 | 相位 | 说明 |
0 | 0 | 0 | clk空闲为低电平,在奇数沿采样 |
1 | 0 | 1 | clk空闲为低电平,在偶数沿采样 |
2 | 1 | 0 | clk空闲为高电平,在奇数沿采样 |
3 | 1 | 1 |