二、SPI协议

总述

SPI(Serial Peripheral Interface)是一种高速的、全双工、同步的串行通信总线
全双工体现在主从设备间通信时发送数据和接收数据是单独的数据线,能够同时接收和发送数据;
同步体现在主从设备间有时钟线,主设备提供时钟信号通常用于在微控制器和外部设备之间进行通信。
SPI通常由一个主设备(例如微控制器)和一个或多个从设备(例如传感器、存储器等)组成。Spi分为Standard SPI、Dual SPI和Queued SPI,这里主要介绍一下标准SPI。

1.SPI接口

在这里插入图片描述

(1)SCLK:时钟线;
(2)MOSI(master output slave input):主设备输出,从设备输入,单向传输;
(3)MISO(master input slave output):主设备输入,从设备输出,单向传输;
(4)CS(chipselect):片选信号,用于主片选中从片;

2. SPI工作模式

在这里插入图片描述

(1)相位(CPHA):表示设备从数据线采样的时刻;
(2)极性(CPOL):表示时钟线空闲时的状态;

关于模式选择:

(1)实际的电路中,SPI协议中的主设备就是主控,从设备是外设;
(2)主控的SPI控制中,模式是可以配置的,但是从设备的模式是在出厂的时候就定死了;
总结:查阅外设的数据手册,知道外设的SPI模式,主设备去适配从设备的模式;

3. SPI通信时序

在这里插入图片描述

4. SPI协议 对比 UART协议(上一篇文章刚介绍过uart协议,这里来对比一下)

  1. 通信模式
    uart和spi都是全双工通信,发送数据和接收数据有独立的通道,互不影响。
  2. 通信线数量
    SPI通常需要四根线(SCLK、MOSI、MISO、CS),但也可以通过使用更多数据线来实现更高的速度(如Quad SPI)。
    UART只需要两根线(TX和RX)来进行数据传输。
  3. 时钟同步
    在SPI中,数据传输是由时钟信号同步的,因此通信双方需要共享一个时钟源。
    在UART中,数据传输是异步的,没有共享的时钟信号,因此通信双方使用各自的时钟源,并且需要通过波特率(波特率)来协调数据传输速度。
  4. 速度
    由于SPI是同步通信,因此可以实现较高的数据传输速率,特别是在Quad SPI等高速模式下。
    UART通常具有较低的最大传输速率,通常受限于波特率的选择和串口控制器的性能
  5. 应用场景:
    SPI通常用于与外部存储器(如Flash存储器)、传感器、显示器等外围设备的高速通信
    UART通常用于与计算机、嵌入式设备、传感器等进行简单的串行通信,例如调试信息输出、数据传输等。
  • 12
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值