传输模式
SPI 控制器支持两种不同的传输模式,由外设决定使用哪种传输模式,可以通过SPI_TCFG.CPOL 配置时钟极性, SPI_TCFG.CPHA 配置时钟相位。SPI 控制器根据 SPI_CLK 信号从移位寄存器中读取或写入数据,在 SPI_CLK 时钟 的上升沿或下降沿被采样。
CPOL 定义了SPI_CLK为空闲状态时的信号极性:
- 当 CPOL为1,SPI_CLK 为高电平;
- 当 CPOL为0,SPI_CLK 为低电平。
CPHA的状态决定了 SPI_CLK 在时钟的奇数边沿采样数据还是移位数据:
- 当 CPHA 为1,在时钟的奇数边沿移位数据;
- 当 CPHA 为 0,在时钟的奇数边沿采样数据。
下表总结了几种不同的传输模式:
SPI传输模式 | CPOL(极性) | CPHA(相位) | 时钟奇数边沿 | 时钟偶数边沿 |
---|---|---|---|---|
0 | 0 | 0 | 上升沿采样 | 下降沿移位 |
2 | 1 | 0 | 下降沿采样 | 上升沿移位 |
传输模式的流程图如下: