📜  SPI协议-串行外围设备接口

📅  最后修改于: 2020-11-10 05:41:52             🧑  作者: Mango

SPI协议

SPI代表串行外围设备接口。它是用于连接低速设备的串行通信协议。它是由Motorola在1980年中期开发的,用于芯片间通信。它通常用于与闪存,传感器,实时时钟(RTC),模数转换器等进行通信。这是全双工同步串行通信,这意味着可以同时从两个方向传输数据。

SPI的主要优点是可以无中断地传输数据。在此协议中,一次可以发送或接收许多位。

在此协议中,设备以主从关系进行通信。主设备控制从设备,并且从设备从主设备获取指令。串行外围设备接口(SPI)的最简单配置是单个从机和单个主机的组合。但是,一个主设备可以控制多个从设备。

SPI接口

SPI协议使用四根导线进行通信。如图所示。

  • MOSI: MOSI代表主输出从输入。它用于将数据从主机发送到从机。
  • MISO: MISO代表主输入从输出。它用于将数据从机发送到主机。
  • SCK或SCLK(串行时钟):用于时钟信号。
  • SS / CS(从选择/片选):主设备通过选择从设备来发送数据。

注意:如果通信中存在单个从站,则仅需要三根电线。不需要SS(从站选择)。

SPI的优势

  • SPI的主要优点是可以无中断地传输数据。
  • 这是简单的硬件。
  • 它提供全双工通信。
  • 在此协议中,不需要从站的唯一地址。
  • 该协议不需要使用从设备的精确振荡,因为它使用了主时钟。
  • 在这种情况下,软件实现非常简单。
  • 它提供了很高的传输速度。
  • 信号是单向的。
  • 它具有MISO和MOSI的单独行,因此可以同时发送和接收数据。

SPI的缺点

  • 通常,它仅支持一个主机。
  • 它不像UART一样检查错误。
  • 它比其他协议使用更多的引脚。
  • 只能短距离使用。
  • 它不提供任何确认,即是否接收到数据。

SPI的应用

  • 内存:SD卡,MMC,EEPROM和闪存。
  • 传感器:温度和压力。
  • 控制设备:ADC,DAC,数字POTS和音频编解码器。
  • 其他:相机镜头座,触摸屏,LCD,RTC,视频游戏控制器等。