大白话异步vs同步,全双工vs半双工,串行vs并行(新增)

1. 同步 vs 异步(关注"要不要时钟"/"要不要对齐节奏")

  • 同步(Synchronous)
    📣 "咱俩按节拍一起走"
    → 通信双方靠一个共同的时钟信号 协调,像军训队列,喊"一二一",你发一个我收一个,严格同步。
    → 优点:速度快、效率高;缺点:必须共用时钟线,硬件稍复杂。
    👉 例子:SPI、I²C(有SCL时钟线)。
  • 异步(Asynchronous)
    📣 "你发完我再看,咱不靠节拍"
    → 没有共用时钟,靠约定好的波特率 (比如都按9600bps)和起始/停止位来判断数据何时开始、何时结束。
    → 优点:连线少(比如只用两根线);缺点:容易出错,速度慢点。
    👉 例子:UART(串口通信)。

记忆口诀

" 步要时钟 步靠约定。"


2. 全双工 vs 半双工(关注"能不能同时说话")

  • 全双工(Full-duplex)
    📞 "电话通话" ------ 你说话的同时,对方也能说,双向同时通信
    👉 例子:UART(有TX和RX两根线)、USB。
  • 半双工(Half-duplex)
    📻 "对讲机" ------ 你要说就得按住按钮,说完松开才能听,同一时间只能一方发
    👉 例子:I²C(只有一根数据线SDA,主从轮流用)、RS-485(常用于工业)。

记忆口诀

" 双工像打电话 双工像对讲机。"


3. 串行 vs 并行(关注"数据是一根线走,还是多根线一起走")

  • 串行(Serial)
    🚶‍♂️ "单行道排队走" ------ 数据一位一位 按顺序通过一根线 (或一对差分线)传输。
    → 线少、抗干扰好、适合远距离,但速度受制于频率。
    👉 例子:UART、SPI、I²C、USB。
  • 并行(Parallel)
    🏃‍♂️🏃‍♀️🚶‍♂️🚶‍♀️ "多人并排走" ------ 数据多位同时 通过多根线 (比如8根线传一个字节)传输。
    → 速度快(一次传多位),但线多、易受干扰、不适合远距离(现代基本淘汰了)。
    👉 例子:老式打印机并口、早期的RAM数据总线。

记忆口诀

" 行是排队 行是并排走。"


综合小例子:

  • UART:异步 + 全双工 + 串行
  • I²C:同步 + 半双工 + 串行
  • SPI:同步 + 全双工 + 串行