全双工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节"双工通信分类与实现难点",感谢作者将双工分类讲得如此通透。)


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

相关推荐
✎ ﹏梦醒͜ღ҉繁华落℘2 天前
单片机基础知识---stm32单片机的优先级
stm32·单片机·mongodb
u152109648492 天前
S.S.Audio PRO A2音频隔离器
嵌入式硬件·音视频·实时音视频·视频编解码·视频
zd8451015002 天前
RS485 总线详解
单片机·嵌入式硬件
半条-咸鱼2 天前
【STM32】I2C协议原理、HAL读写与OLED显示操作
嵌入式硬件·c·信息与通信
牛根生同志2 天前
SPI数据收发的时候 TXE与RXNE标志位置位的时机
stm32·spi·transfer
wohoo_wangzi2 天前
苏州晟雅泰电子:关于W25Q128JVSIQ这个芯片物料的参数,规格及应用领域
嵌入式硬件
goldenrolan2 天前
学习型红外控制系统稳定性挂测工装专项总结
软件测试·python·stm32·嵌入式·红外
✎ ﹏梦醒͜ღ҉繁华落℘2 天前
编程基础 --高内聚,低耦合
c语言·单片机
科芯创展2 天前
1A,1MHz,30VIN,XZ4115,降压恒流LED驱动芯片
单片机·嵌入式硬件
集芯微电科技有限公司2 天前
四通道2A输出集成功率电感降压模块专为紧凑型方案设计
人工智能·单片机·嵌入式硬件·生成对抗网络·计算机外设