SPI引脚接口&&基本通讯时序

SPI是“全双工”(具有单独的发送和接收线路),因此可以在同一时间发送和接收数据,另外SPI的接收硬件可以是一个简单的移位寄存器。这比异步串行通信所需的完整UART要简单得多,并且更加便宜;

本文讲述比较精简,详细的可以参考大佬文章

SPI协议详解(图文并茂+超详细) - 知乎 (zhihu.com)icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/290620901


1.SPI通讯的优势

  1. 全双工串行通信;
  2. 高速数据传输速率。
  3. 简单的软件配置;
  4. 极其灵活的数据传输,不限于8位,它可以是任意大小的字;
  5. 非常简单的硬件结构。从站不需要唯一地址(与I2C不同)。从机使用主机时钟,不需要精密时钟振荡器/晶振(与UART不同)。不需要收发器(与CAN不同)。

2.SPI的缺点

  1. 没有硬件从机应答信号(主机可能在不知情的情况下无法发送);
  2. 通常仅支持一个主设备;
  3. 需要更多的引脚(与I2C不同);
  4. 没有定义硬件级别的错误检查协议;
  5. 与RS-232和CAN总线相比,只能支持非常短的距离


3.基本时序图

实际用示波器抓出来的波形不会这么规则

SPI总线包括4条逻辑线,定义如下:

MISO:Master input slave output 主机输入,从机输出(数据来自从机);

MOSI:Master output slave input 主机输出,从机输入(数据来自主机);

SCLK : Serial Clock 串行时钟信号,由主机产生发送给从机;

CS:Slave Select 片选信号,由主机发送,以控制与哪个从机通信,通常是低电平有效信号


4.SPI的时钟极性和相序

(1)时钟极性0、时钟相位0:



5.多从机连接方式

(1)多NSS

(2)菊花链

  1. NSS(Chip Select)方式

    • 优势:
      • 简单易用:NSS方式是SPI连接中最常见和最简单的方式之一。在NSS方式中,每个设备都有一个独立的片选信号,可以通过控制片选信号来选择要与主控器通信的设备。
      • 灵活性高:每个设备都有独立的片选信号,因此可以独立选择通信的设备,使得系统的灵活性更高。
      • 容错性好:由于每个设备有独立的片选信号,因此可以避免片选信号冲突或者误选的情况,提高了系统的稳定性和可靠性。
    • 劣势:
      • 占用引脚多:由于每个设备都需要一个独立的片选信号,因此在连接多个设备时可能会占用大量的引脚资源,特别是在系统复杂度较高时可能会造成引脚不足的问题。
  2. 菊花链(Daisy Chain)方式

    • 优势:
      • 引脚占用少:菊花链方式通过将多个设备串联在一起,只需一个片选信号,因此在连接多个设备时可以节省大量的引脚资源,特别适用于系统复杂度较高或者引脚资源有限的情况。
      • 线路简洁:菊花链方式的连接线路相对较简单,只需要一根片选信号线和一根数据线,可以减少连接线的数量和长度,提高系统的整体可靠性。
    • 劣势:
      • 灵活性较差:菊花链方式中,所有设备共享同一个片选信号,因此在通信时需要依次选中每个设备,可能会降低系统的响应速度和灵活性。
      • 容错性较差:由于所有设备共享同一个片选信号,一旦出现片选信号错误或者冲突,可能会导致通信失败或者数据错误,降低了系统的稳定性和可靠性。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值