全双工vs半双工vs单工:电话、对讲机、广播

短文标题: 全双工vs半双工vs单工:电话、对讲机、广播

你有没有想过一个问题:为什么打电话时可以同时说话、同时听,而对讲机必须"说完一句,等对方说完"?这和USART、RS232、RS485的通信模式是一样的道理。通信按"能否双向"和"能否同时",分成三种:单工、半双工、全双工

单工:广播电台(收音机只听不说) 数据只能单向传输,一方固定发,一方固定收。比喻:广播电台(只能发)和收音机(只能收)。现实例子:电视广播、键盘到电脑(只输入不输出)。USART如果只配置TX不配RX,就工作在单工模式(但很少这样用)。

半双工:对讲机(能说能听,但不能同时) 数据双向传输,但不能同时进行。同一时刻只有一方能发,另一方只能听。比喻:对讲机(按住说话时不能听,松开才能听别人说)。现实例子:对讲机、RS485(同一对A/B线,收发切换分时)、I2C(时钟线SCl是单向?SDA是双向但需配合方向?其实I2C也是半双工,靠主从切换)。USART虽然硬件上全双工(有独立的TX和RX引脚),但软件如果设计成一发一收轮流(如Modbus主从一问一答),逻辑上是半双工。

全双工:电话(能说能听,同时进行) 数据双向 传输,而且可以同时进行。双方可以同时说、同时听。比喻:电话通话(你说话的同时也能听到对方的声音)。现实例子:USART(TX和RX独立引脚,可同时收发)、SPI(MOSI和MISO独立,全双工)、RS232(TX和RX分开,全双工)、以太网、现代电话。

**这个故事的启示,**为什么需要区分这三种?

  • 单工:最简单,最省引脚(1根数据线)
  • 半双工:省引脚(1根数据线+方向控制或共享总线)
  • 全双工:性能最高,需要更多引脚(2根数据线)

RS232是"电话":TX和RX分开,可以同时收发。RS485是"对讲机":A/B只有一对线,收发需要切换(RE/DE控制),同一时刻只能发或只能收。I2C也是半双工------发送地址后,切换方向读数据,SDA在同一根线上分时收发。

**写在最后,**下次你选通信接口,用三个比喻帮你决策:

  • 广播(单工):单向通知,用单工
  • 对讲机(半双工):一问一答,用RS485、I2C
  • 电话(全双工):高速实时交互,用USART、SPI、RS232

选对了少走弯路。


(本文灵感源于于振南《新概念ARM32单片机》教程第4.2节"双工通信分类与实现难点",感谢作者将双工分类讲得如此通透。)


如果您觉得这个故事对您有启发,欢迎点赞、转发,让更多工程师看到这个藏在"电话、对讲机、广播"背后的双工智慧。

相关推荐
Freak嵌入式11 小时前
MCU 低功耗模式解析:时钟门控、电源门控、深度休眠
人工智能·python·单片机·嵌入式硬件·开源·依赖倒置原则·micropython
国科安芯11 小时前
FreeRTOS RISC-V 浮点上下文切换移植:在 IAR 工程中完整保存 FPU 寄存器
java·开发语言·单片机·嵌入式硬件·算法·系统架构·risc-v
躺不平的理查德11 小时前
STM32时钟树(Clock Tree)
stm32·单片机·嵌入式硬件
Javenwww13 小时前
STM32中DMA的使用——串口数据的DMA传输
单片机
qq_4017004113 小时前
经典的电压基准源电路
单片机·嵌入式硬件
茯苓gao14 小时前
嵌入式开发笔记:电机参数辨识与自学习完全指南——从电气参数到机械特性的深度解析
笔记·嵌入式硬件·学习
西安景驰电子14 小时前
PCIe 授时卡原理及应用
运维·服务器·windows·单片机·嵌入式硬件·fpga开发
派勤电子15 小时前
5G物联网网关工控主板选型指南(超小尺寸工业级嵌入式硬件解决方案)
嵌入式硬件·工业网关·工控主板·工控主板选型·嵌入式工控主板·5g物联网网关·超小尺寸工控主板
&Hello Code16 小时前
2.一套可落地的 STM32 六层架构:基础工程框架搭建
stm32·嵌入式硬件·架构
sramdram17 小时前
高速低功耗stt-mram工业级存储方案
嵌入式硬件·mram·stt-mram·低功耗stt-mram