通信协议-SPI,简单但不失完整

目录

 

一.什么是SPI

二. 四根线

三.4种模式

四. 数据传输

五.优点

六.缺点


 

一.什么是SPI

SPI是串行外设接口(Serial Peripheral Interface)的缩写。是 Motorola 公司推出的一种同步串行接口技术,是一种高速的,全双工,同步的通信总线。

 

二. 四根线

CS:芯片选择线。CS若低电平有效,那么CS拉低之后,输入到从器件的CLK开始有效,开始全双工的传输过程。

SCLK:时钟线。由外部的主器件输入

SI:输入信号线。由外部的主器件输入的

SO:输出信号线。是由从器件输出到主器件的。

 

三.4种模式

SPI协议通常由4种模式,通过CPOL和CPHA来定义4种通信模式:

Mode0:CPOL=0,CPHA=0
Mode1:CPOL=0,CPHA=1
Mode2:CPOL=1,CPHA=0
Mode3:CPOL=1,CPHA=1

CPOL代表了SPI总线空闲的时候的时钟状态,CPHA表示在第几个边沿去采样数据:

Mode0: 表示总线空闲时,SCLK的状态为0,也是CS 拉高之后SCLK的状态。CPHA=0,表示在第一个边沿(上升沿)去采样数据,在第二个边沿(下降沿)进行数据变化。

Mode1: 表示总线空闲时,SCLK的状态为0,也是CS拉高之后SCLK的状态。CPHA=1,表示总在第二个边沿(下降沿)去采样数据,在第一个边沿(上升沿)进行数据变化。

Mode3: 表示总线空闲时,SCLK的状态为1, 也是CS拉高之后SCLK的状态。CPHA=0 ,表示总在第一个边沿(下降沿)去采样数据,在第二个边沿(上升沿)进行数据变化。

Mode4: 表示总线空闲时,SCLK的状态为1, 也是CS拉高之后SCLK的状态。CPHA=1 ,表示总在第二个边沿(上升沿)去采样数据,在第一个边沿(下降沿)进行数据变化。

 

 

四. 数据传输

SPI只有主从模式之分,数据传输没有读和写之分,外设的写操作和操作是同步完成的。如果只进行写操作,主设备只需忽略从机接受到的字节即可; 同样,如果主设备只需读取,只需发送一个空字节来引发从机的传输。也就是说,你发一个数据必然会收到一个数据,因此你要收一个数据必须也就得先发送一个数据。 

一个主器件连接多个从器件,这个时候有多个片选信号,但同一个时间只能拉低一个SS#(低电平)生效,表示选择其中一个器件开始进行通信:

1. 从4种模式选择一种模式,决定发送数据和采集数据是在时钟的上升沿还是下降沿。主机往SCLK上发送时钟信号。

2. 主机将要发送到的数据先送到缓冲区,移位寄存器再将缓冲区中的数据通过SI信号线将对应的字节1位1位地传送给主机(在时钟的上升沿或者下降沿进行传送)。同时,SO信号线将接受到的字节数据一位一位地从移位寄存器移到接受缓存区。

3. 从机,通过MOSI接收主机发送的数据,通过SO线将移位寄存器的内容发送给主机;

 

五.优点

1.协议简单,只需要4根线,而且不需要像I2C协议一样每个从器件都需要一个地址;

2.全双工的协议,技能发送数据也能接收数据

3.抗干扰能力强,传输稳定

4.传输速度快

 

六.缺点

1.SS芯片选择线会随着从器件的个数的增加而增加。

2. 传输数据的时候没有确认信号,不管从器件收不收到。

3.传输的过程中没有校验机制,无法知道接收到的数据是否正确。

 

参考资料:

https://zhuanlan.zhihu.com/icstudy

https://www.cnblogs.com/deng-tao/p/6004280.html

https://blog.csdn.net/as480133937/article/details/105764119?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值