SPI协议的的四种通信模式以及时序图

SPI(Serial Peripheral Interface)是一种同步串行通信协议,用于在微控制器(MCU)和外部设备之间进行高速数据传输。SPI的通信模式主要依赖于时钟极性(CPOL)时钟相位(CPHA),它们决定了数据传输的时序。SPI协议一共定义了四种通信模式,每种模式的不同之处在于时钟极性和时钟相位的设置。

SPI四种通信模式

SPI的通信模式由时钟极性(CPOL)和时钟相位(CPHA)决定。它们的组合产生了四种模式:

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

    时序描述

    • 时钟极性(CPOL): 0 表示时钟线在空闲时保持低电平。
    • 时钟相位(CPHA): 0 表示数据在时钟的上升沿(奇数边沿)采样,并在下降沿(偶数边沿)输出。
    • SCK空闲时为低电平。
    • 数据在时钟的上升沿被采样。
  2. 模式 1(CPOL = 0, CPHA = 1)

    时序描述

    • 时钟极性(CPOL): 0,时钟线在空闲时为低电平。
    • 时钟相位(CPHA): 1 表示数据在时钟的下降沿(偶数边沿)采样,并在上升沿(奇数边沿)输出。
    • SCK空闲时为低电平。
    • 数据在时钟的下降沿被采样。
  3. 模式 2(CPOL = 1, CPHA = 0)

    时序描述

    • 时钟极性(CPOL): 1,时钟线在空闲时保持高电平。
    • 时钟相位(CPHA): 0 表示数据在时钟的下升沿(奇数边沿)采样,并在上降沿(偶数边沿)输出。
    • SCK空闲时为高电平。
    • 数据在时钟的上升沿被采样。
  4. 模式 3(CPOL = 1, CPHA = 1)

    时序描述

    • 时钟极性(CPOL): 1,时钟线在空闲时为高电平。
    • 时钟相位(CPHA): 1 表示数据在时钟的上降沿(偶数边沿)采样,并在下升沿(奇数边沿)输出。
    • SCK空闲时为高电平。
    • 数据在时钟的下降沿被采样。

SPI通信协议时序图

模式1举例说明:

总结

SPI有四种通信模式(背过):

时钟极性CPOL : 设置时钟空闲时的电平

当CPOL = 0 ,SCK引脚在空闲状态保持低电平;

当CPOL = 1 ,SCK引脚在空闲状态保持高电平。

时钟相位CPHA :设置数据采样时的时钟沿

当 CPHA=0 时,MOSI或 MISO 数据线上的信号将会在 SCK时钟线的奇数边沿被采样

当 CPHA=1时, MOSI或 MISO 数据线上的信号将会在 SCK时钟线的偶数边沿被采样

SPI中时钟的极性和相位的作用是什么?

  1. SPI的时钟极性用来表示时钟信号在空闲时是高电平还是低电平。
  2. SPI的相位决定何时进行信号采样,在第一个跳变沿还是第二个跳变沿。

数据线被采样,都是等待数据线变化稳定半个时钟周期进行采样。

通信模式的设置:

由CPOL及CPHA的不同状态,SPI分成了四种模式主机与从机需要工作在相同的模式下才可以正常通讯,因此通常主机要按照从机支持的模式去设置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值