一、 SPI 总线基础与电路结构
1. 基本概念与拓扑
- SPI (Serial Peripheral Interface):一种串行外设接口总线,支持一个主机(Master)挂载多个从机(Slave)。
- 四根核心引脚,:
- MOSI (Master Output, Slave Input):主发从收,主机输出数据给从机。
- MISO (Master Input, Slave Output):主收从发,从机输出数据给主机。
- SCK (Serial Clock):串行时钟,由主机产生,控制通信速度(频率越高速度越快)。
- NSS (Negative Slave Select):低电平有效的从机选择线。主机通过将特定从机的 NSS 拉低来选中该设备。
2. 通信特点
- 全双工通信:数据的收发是双向且同时进行的,。
- 等长交换:主机每发送一个比特位,必然会同时从从机收到一个比特位;发送多少字节,就必然接收多少字节,。
--------------------------------------------------------------------------------
二、 SPI 通信协议参数与模式
1. 时钟极性 (CPOL) 与时钟相位 (CPHA)
- 极性 (CPOL):定义总线空闲时的 SCK 电平。
- 低极性 (0):空闲时为低电平。
- 高极性 (1):空闲时为高电平。
- 相位 (CPHA):定义数据采样时刻。
- 第一边缘采样 (0):在时钟的第一个跳变沿(第一个边缘)采集数据。
- 第二边缘采样 (1):在时钟的第二个跳变沿采集数据。
- 四种模式:通过 CPOL 和 CPHA 的组合分为模式 0 (0,0)、模式 1 (0,1)、模式 2 (1,0) 和模式 3 (1,1)。W25Q64 实验推荐使用模式 0。
2. 其他参数
- 传输顺序:可选MSB First(最高有效位优先,W25Q64 使用此项)或LSB First(最低有效位优先),。
- 数据宽度:通常为8 比特或16 比特,。