SPI主线协议——ESP32学习笔记

目录

SPI主线协议——ESP32学习笔记

零、前言

一、什么是SPI?

二、通信过程​

三、极性和相位

四、总结


SPI主线协议——ESP32学习笔记

零、前言

在学习ESP32的过程中,了解到了IIC和SPI主线协议,所以就来做一下笔记,记录自己学习过的知识。

一、什么是SPI?

SPI(Serial Peripheral Interface)是串行外设接口的缩写,SPI是一个高速的(相较于其他的通信协议)、全双工(有两条线用于数据交换,不同于只有一条线的IIC)、同步的串行信息总线(有SCLK来保证主从机之间时钟频率的相等);SPI采用主从方式工作,一般一个主设备连接一个或者多个从设备;SPI需要至少4根线,分别是MISO(Master Output Slave Input)、MOSI、SCLK(时钟)、CS(Chip Sclect)片选。

MOSI:主设备输出数据,从设备接收数据。

MISO:主设备接收数据,从设备输出数据。

SCLK:时钟总线,用来保证主机与从机的时钟频率相等。

CS:片选,当有多个从机时,主机要选择从机进行通信,那如果要确定与那个从机通信,那么主设备要向从设备发送使能信号(高电平或者低电平,根据从机而定)这样子就能表示选中了这个从机。

二、通信过程

SPI总线再进行数据传输时,先传送高位后传送低位;数据线为高电平表示逻辑‘1’,低电平表示逻辑‘0’;一个字节传送完成后无应答即可开始下一个字节的传送;SPI总线采用同步方式工作,时钟在上升沿或者下降沿时发送器向数据线上发送数据,在紧接着的下降沿或者输出沿上读取数据,完成一位数据传输,八个时钟周期即可完成一个字节数据的传送。

 三、极性和相位

SPI总线有四种不同的工作方式,取决于极性(CPOL)和相位(CPHL)这两个因素

CPOL表示SCLK空闲时的状态

        CPOL = 0,空闲时SCLK为低电平

        CPOL = 1,空闲时SCLK为高电平

CPHA表示采样时刻

        CPHA = 0,每个周期第一个时钟沿采样

        CPHA = 1,每个周期的第二个时钟沿采样

所以共有四种不同的工作坊四,而具体的工作方式由从机决定,对于一个从设备来说,一般从出厂时就已经将其设计为某种特定的工作方式;我们在使用该设备时就必须保证主设备的工作模式和该从设备保持一致,否则无法进行通信;一般对主设备的极性和相位进行配置。

四、总结

IIC和SPI的相同点和不同点

相同点:

1.均采用串行、同步的方式。

2.均采用TTL电平,传输距离和应用场景相似。

3.均采用主从方式进行工作(都有主机和从机)

不同点:

1.IIC为半双工(只有一根线用于通信,如果主机要传输数据那就不能接受数据),SPI为全双工。

2.IIC有应答机制,SPI无应答机制(容易造成丢包)

3.IIC通过向总线广播从机地址来寻址,SPI通过向对应从机发送使能信号来寻址

4.IIC的时钟极性和时钟相位固定,SPI的时钟极性与时钟相位可调。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

BAKUMAN#0704

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

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

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

打赏作者

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

抵扣说明:

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

余额充值