深入理解 SPI 通信中的时钟极性与相位(CPOL 与 CPHA)

概述

在 SPI(串行外设接口)通信中,CPOL( 时钟极性)和 CPHA( 时钟相位)是两个关键的寄存器配置位,用于定义时钟信号的行为。虽然“极性”和“相位”听起来非常抽象,但我们可以通过时序图和实际含义来形象理解它们的作用。

SPI 总线的时钟极性(CPOL)

时钟极性决定了 SPI 总线在空闲状态下(即没有数据传输时)时钟线的电平状态
  • CPOL = 0
:空闲时钟为 低电平,也就是说传输数据时从 上升沿开始。
  • CPOL = 1
:空闲时钟为 高电平,意味着传输从 下降沿开始。
如下图:

SPI 总线的时钟相位(CPHA)

时钟相位决定了 数据是在第一个还是第二个跳变沿被采样
  • CPHA = 0
:在第一个跳变沿采样数据。
  • CPHA = 1
:在第二个跳变沿采样数据。
如图:
至于跳变沿究竟是上升沿还是下降沿,这取决于 CPOL。记住, CPHA 只决定是哪个跳变沿采样。

SPI 的四种工作模式

根据 CPOL 和 CPHA 的不同组合,SPI 定义了四种标准工作模式,分别称为 模式 0 ~ 模式 3
模式
CPOL
CPHA
描述说明
模式 0
0
0
空闲时为低电平,
第一个上升沿
采样数据
模式 1
0
1
空闲时为低电平,
第二个下降沿
采样数据
模式 2
1
0
空闲时为高电平,
第一个下降沿
采样数据
模式 3
1
1
空闲时为高电平,
第二个上升沿
采样数据

模式 0(CPOL=0, CPHA=0)

空闲时:时钟线为 低电平
  • 第一个跳变沿:上升沿
  • 数据采样:第一个上升沿
效果图:数据在第一个上升沿采样,随后在下降沿更新下一位。

模式 1(CPOL=0, CPHA=1)

  • 空闲时:时钟线为低电平
  • 第一个跳变沿:上升沿
  • 数据采样:第二个跳变沿(下降沿)
效果图:第一个跳变沿用于准备数据,第二个跳变沿(下降沿)用于采样。

模式 2(CPOL=1, CPHA=0)

  • 空闲时:时钟线为高电平
  • 第一个跳变沿:下降沿
  • 数据采样:第一个跳变沿(下降沿)
效果图:数据在第一个下降沿采样,在下一个上升沿准备下一位。

模式 3(CPOL=1, CPHA=1)

  • 空闲时:时钟线为高电平
  • 第一个跳变沿:下降沿
  • 数据采样:第二个跳变沿(上升沿)
效果图:第一个跳变沿准备数据,第二个跳变沿(上升沿)采样数据。

参考:SPI总线传输的4种模式 - 广漠飘羽 - 博客园 (cnblogs.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值