SPI(Serial Perripheral Interface)

SPI是一种高速同步串行接口,通常由主设备和从设备组成,使用CS、SCLK、MOSI和MISO四条线进行全双工通信。其工作模式由CPOL和CPHA定义,支持四种不同的操作。与I2C不同,SPI无需发送从设备地址,通过片选信号选择通信对象,且读写时序可在同一周期完成。
摘要由CSDN通过智能技术生成

SPI全称是Serial Perripheral Interface,也就是串行外围设备接口。SPI是Motorola公司推出的一种同步串行接口技术,是一种高速、全双工的同步通信总线,SPI时钟频率相比I2C要高很多,最高可以工作在上百MHz。SPI以主从方式工作,通常是有一个主
设备和一个或多个从设备,一般SPI需要 4根线,但是也可以使用三根线(单向传输),此处我们讲解标准的4线SPI,这四根线如下:

  • CS/SS,Slave Select/Chip Select,这个是片选信号线,用于选择需要进行通信的从设备。I2C主机是通过发送从机设备地址来选择需要进行通信的从机设备的,SPI主机不需要发送从机设备地址,直接将相应的从机设备片选信号拉低即可。
  • SCLK,Serial Clock,串行时钟,和I2C 的SCL一样,为SPI通信提供时钟。
  • MOSI/SDO,Master Out Slave In/Serial Data Output,简称主出从入信号线,这根数据线只能用于主机向从机发送数据,也就是主机输出,从机输入。
  • MISO/SDI,Master In Slave Out/Serial Data Input,简称主入从出信号线,这根数据线只能用于从机向主机发送数据,也就是主机输入,从机输出。

SPI通信都是由主机发起的,主机需要提供通信的时钟信号。主机通过SPI线连接多个从设备的结构如图所示:

在这里插入图片描述

SPI 设备连接图

SPI有四种工作模式,通过串行时钟极性(CPOL)和相位(CPHA)的搭配来得到四种工作模式:

  • CPOL=0,串行时钟空闲状态为低电平。
  • CPOL=1,串行时钟空闲状态为高电平。
  • CPHA=0,串行时钟的第一个跳变沿(上升沿或下降沿)采集数据。
  • CPHA=1,串行时钟的第二个跳变沿(上升沿或下降沿)采集数据。

这四种工作模式如图所示:

在这里插入图片描述

SPI 四种工作模式

与I2C一样,SPI也是有时序图的,以CPOL=0,CPHA=0这个工作模式为例,SPI进行全双工通信的时序如图所示:

在这里插入图片描述

SPI 时序图

从上图可以看出,SPI的时序图很简单,不像I2C那样还要分为读时序和写时序,因为SPI是全双工的,所以读写时序可以一起完成。图中,CS片选信号先拉低,选中要通信的从设备,然后通过MOSI和MISO这两根数据线进行收发数据,MOSI数据线发出了0xD2这个数据给从设备,同时从设备也通过MISO线给主设备返回了0x66这个数据。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值