UART、I2C、SPI的优缺点和区别

UART、I2C、SPI的优缺点和区别

协议 UART SPI I2C
总线 3(RX、TX、GND) 4(CS、CLK、MOSI、MISO) 4(VCC、GND、SCL、SDA)
同/异步 异步 同步 同步
全/半双工 全双工 全双工 半双工
传输速度
应用场景 板内/间 板内(不同芯片之间) 板内
模式 一对一 一对多 一对多/多对多
一主多从实现 X 各CS 地址

名词解释:
全双工:(Full Duplex)是指在发送数据的同时也能够接收数据,两者同步进行
半双工:(Half Duplex),所谓半双工是指一段时间内,只有一种动作发生,发或者收。

UART特点:

  • 有三根线:RX、TX、GND。
  • 发送数据8位数为一个字节发送。
  • 发送数据时,前后都要设置密语。

SPI特点:

  • 通信速率较高,可达几兆至几十兆。
  • 有时钟线同步,总线出错率低。
  • 可以一对多,一主多从。
  • 缺点:不同的从机需要不同的片选线。

I2C特点:

  • 要开始通信,首先要发送起始条件
  • 要结束通信,要发送一个停止条件
  • 通信时,不希望其他主机进来打断我,我就不发送停止条件,可以多次发送起始条件完成多段通信,避免其他主机把总线抢走。

各个协议的具体工作方式这里不展开讲解。

你可能感兴趣的:(FPGA,通信协议)