SPI总线传输的4种模式

概述#

在芯片的资料上,有两个非常特殊的寄存器配置位,分别是 CPOL (Clock POlarity)和 CPHA (Clock PHAse)。

Copy
CPOL配置SPI总线的极性 CPHA配置SPI总线的相位

极性和相位,这么专业的名词,非常难理解。我们不妨从时序图入手,了解极性和相位的效果。

SPI总线的极性#

极性,会直接影响SPI总线空闲时的时钟信号是高电平还是低电平

Copy
CPOL = 1:表示空闲时是高电平 CPOL = 0:表示空闲时是低电平

由于数据传输往往是从跳变沿开始的,也就表示开始传输数据的时候,是下降沿还是上升沿。

如下图:

SPI总线的相位#

一个时钟周期会有2个跳变沿。而相位,直接决定SPI总线从那个跳变沿开始采样数据。

Copy
CPHA = 0:表示从第一个跳变沿开始采样 CPHA = 1:表示从第二个跳变沿开始采样

不多说,直接上图:

至于跳变沿究竟是上升沿还是下降沿,这取决于 CPOL。记住, CPHA 只决定是哪个跳变沿采样。

4种模式#

CPOL 和 CPHA 的不同组合,形成了SPI总线的不同模式。

mode CPOL CPHA
mode 0 0 0
mode 1 0 1
mode 2 1 0
mode 3 1 1

模式0 (CPOL=0; CPHA=0)#

特性:

Copy
CPOL = 0:空闲时是低电平,第1个跳变沿是上升沿,第2个跳变沿是下降沿 CPHA = 0:数据在第1个跳变沿(上升沿)采样

效果图:

模式1 (CPOL=0; CPHA=1)#

特性:

Copy
CPOL = 0:空闲时是低电平,第1个跳变沿是上升沿,第2个跳变沿是下降沿 CPHA = 1:数据在第2个跳变沿(下降沿)采样

效果图:

模式2 (CPOL=1; CPHA=0)#

特性:

Copy
CPOL = 1:空闲时是高电平,第1个跳变沿是下降沿,第2个跳变沿是上升沿 CPHA = 0:数据在第1个跳变沿(下降沿)采样

效果图:

模式3 (CPOL=1; CPHA=1)#

特性:

Copy
CPOL = 1:空闲时是高电平,第1个跳变沿是下降沿,第2个跳变沿是上升沿 CPHA = 1:数据在第2个跳变沿(上升沿)采样

效果图:

posted @   广漠飘羽  阅读(45074)  评论(7编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示
CONTENTS