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


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

相关推荐
狂奔v蜗牛19 小时前
压敏电阻的使用
嵌入式硬件
科芯创展19 小时前
XZ4115B工作电压6-40V 输出电流1.2A 降压恒流LED驱动芯片
stm32·单片机·嵌入式硬件
涂山苏苏⁠20 小时前
stm32之SPI
stm32
求知喻21 小时前
KEIL5构建软件最小系统
单片机·嵌入式
MC_J1 天前
STM32H7 串口 UART/USART从原理到实战
stm32·单片机·嵌入式硬件
学不懂飞行器1 天前
电赛保姆级教程】从炸管到国一:电赛电源类(DC-DC/单相逆变)硬核避坑与拓扑全指南
stm32·单片机·嵌入式硬件·电赛·fft
大阳1231 天前
ARM5.(beep,key,中断)
单片机·嵌入式硬件
崇山峻岭之间1 天前
单片机RNG实验
单片机·嵌入式硬件
JNX_SEMI1 天前
EG1160:600V半桥驱动,2.5A强驱带保护
stm32·单片机·嵌入式硬件
芯岭技术1 天前
PY32L020单片机,多种低功耗模式,电流低至 0.7μA,适合电池供电产品
单片机·嵌入式硬件