串行接口通信协议 - 概述


1. 串行通信 & 并行通信

  • 串行通信:利用一条传输线将数据位一位一位的传送。
  • 并行通信:利用多条传输线将一个数据的多bit同时传送。
  • 串行和并行哪个更快?
    • 在时钟频率较低时,因为并行可以同时传输多个bit,所以速率比串行要快。
    • 时钟频率提高到一定程度时,由于并行通信存在很多平行且紧密的导线,信号变化越来越快,导致导线之间的干扰越来越严重。
    • 串行通信导线少,且有差分信号加持,抗干扰能力更强,可以通过不断提升时钟频率来获得更高的传输速率,所以很多高速传输也使用串行通信,如USB、PCIe等。

2. 单工 & 半双工 & 全双工

  • 串行通信按照传输的方向分类,有以下三种:
    • 单工:数据传输只能在一个固定方向上传输,这个方向固定后就不可更改,不能实现双向通信。
    • 半双工:传输方向可以切换,但是在某个时刻,只允许数据在一个方向上传输。(如IIC通信)
    • 全双工:允许数据同时两个方向传输,可以认为发送和接收是完全独立的。(如SPI通信)

3.同步通信和异步通信

  • 串行通信按照传输的方式分类,有以下两种:
    • 同步
      • 收发双方使用一根时钟信号,来进行双方数据同步,一般双方会规定在时钟上升/下降沿对数据进行采样。
      • SPI,IIC
    • 异步
      • 不使用时钟信号进行数据同步,而是在数据信号中穿插一些用于同步的信号位,或者以数据帧的格式传输数据,例如规定起始位、数据位、奇偶校验位、停止位等。
      • 一些通讯还需要使用波特率衡量数据传送速率,以便更好的同步。
      • UART,但是USART可以同步&异步通信。
    • 两者比较
      • 对于同步来说,传输内容大部分就是有效数据;而异步,传输内容会包含帧的各种标识符;所以同步通讯的效率更高。
      • 但是同步对发送和接收方的时钟允许误差要求较小。
posted @ 2023-06-18 12:50  可达达鸭  阅读(35)  评论(0编辑  收藏  举报