SPI协议

SPI数据接口

       SPI(Serial Peripheral Interface)串行外设接口的简称,它是一种同步全双工通信协议。有 3根或者 4根数据线组成,包括 CLK、SOMI、SIMO、STE:
       CLK为时钟线,由主机控制输出。
       SOMI是 Slave output Master input的缩写,如果设备被设定为主机,那么这就是输入口。如果设备被设定为从机,这个口就是输出口。这与 UART的 Tx和 Rx方向恒定相区别。
       SIMO是 Slave input Master Output的缩写,同样由配置为主或从模式决定是输入还是输出口。也就是器件内部是有读写切换开关的。
       STE 是 Slave Transmit Enable 的缩写,在不同器件中也经常被写作片选 CS(Chip Select)和从机选择 SS(Slave Select),都是一个意思。

SPI的通信模式

       如下图所示,SPI的通信模式分为单主单从、单主多从、多主多从三类。A为三线制SPI通信;B为四线制单主多从 SPI通信;C为四线制多主多从 SPI通信。
       三线和四线的区别是多出了一个被控制的 STE信号,以使能从机。对于多主机通信,主机的 STE也被控制,以决定是否为从机模式。无论主机从机的 STE最终都是由额外的 IO口来控制的。

       从上图可以看出,SPI通信要实现多机通信是以多占用 IO来实现的。所以,用途最多的是 3线 SPI或者 1主多从的四线制 SPI,而多主多从的 SPI极少使用。

SPI协议时序

       下图是 SPI通信的时序图,其中有两个控制位需要讲解一下:
       1) CKPH是 CLK相位控制位,CKPL是 CLK极性控制位。
       2) 两个位如何设置对通信协议没本质影响,只是用来约定在 CLK的空闲状态和什么位置开始采样信号。
       3) CKPH=0,意味着在以 CLK第一个边沿开始采样信号,反之则在第二个边沿开始。
       4) CKPL=0意味着时钟总线低电平位空闲,反之则是时钟总线高电平空闲。
       在标准 SPI协议中,先发送的是 MSB位,在 4线制模式下,片选信号(STE/CS/SS)控制传输的开始。在 3线制模式中,则是从机始终激活,依靠时钟来判断数据传输开始。

 

 

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小叶爱吃汤圆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值