为什么要使用半双工?

Tru*_*uth 21 networking router switch bandwidth connection

我知道全双工和半双工是什么,但在各方面全双工都有更多的优势,所以为什么要使用半双工,换句话说:在全双工连接中,带宽加倍并且不会发生冲突,所以为什么有一半双工根本没有消失?

Mok*_*bai 64

全双工需要多于半双工。

通常全双工是通过两个独立的数据路径来实现的。这意味着两组电线、独立的传输和接收电子设备组以及具有输入和输出缓冲器和电子设备的控制器。

半双工更简单,要求更低,只需要你有某种形式的协议来处理或避免冲突。如果所有传输大部分都在一个方向上,那么全双工与半双工相比几乎没有什么好处,并且成本更高。此外,如果大多数传输都很小(鼠标、键盘等),那么全双工又是一种浪费。

USB1 和 USB2 是半双工的。它只有一对双向信号。虽然我们已经将硬盘和 U 盘连接到它们,但硬盘驱动器是我们唯一一次接近饱和的连接。USB 记忆棒通常具有 5-15MB/s 的传输速度,为其他设备留下足够的带宽。直到最近,更典型的高速设备才变得更加普遍。

USB3 具有单独的 TX 和 RX 对,旨在实现更快的传输,因此集成全双工控制更有意义。我们将其用于多千兆位数据传输和显示以及其他设备。在更高的速度下,冲突会花费更多的停机时间,并且在需要重新传输事务的情况下需要越来越大的缓冲区,因此集成全双工更有意义。

一般来说,您需要问的问题不是“为什么不是每个人都使用全双工?” 但是“是否需要全双工和额外的设计成本、额外的电子设备、带有更多电线的电缆等等?”

  • 此外,全双工连接只能在两个设备之间进行。您可以将 3 个或更多东西插入半双工连接(我猜这使它成为第三双工、四分之一双工……) (8认同)
  • @ user253751 我们通常将其称为“多点”,因为连接仍然是半双工的,一次只能传输一个设备,而所有其他设备都是被动侦听器。通常,在这种安排中,您将设备设置为地址作为协议的一部分,以及主要“服务器”设备依次从每个客户端设备请求数据的质询-响应安排。一个例子:https://www.brooksinstrument.com/en/blog/how-to-setup-multiple-mfcs-in-an-rs485-multidrop-network (3认同)

man*_*act 22

除了一些网络连接(例如,路由器到互联网、服务器到本地网络)之外,大多数用途——无论是旧的串行还是并行、USB、以太网或几乎任何其他东西,无论是一直还是大部分时间,大部分都是一个方向。在低速和高速(相对)速度连接中的一些示例:

  • 键盘、鼠标、其他用户输入 - 几乎完全从设备到主机,在另一个方向上很少(例如,某些配置、设置键盘灯)
  • 相机 - 静止或视频 - 几乎所有设备到主机
  • 打印机 - 几乎所有主机到设备
  • 扫描仪 - 几乎所有设备到主机
  • 多功能打印机/扫描仪 - 在几乎所有情况下,任何时候只有一个功能真正在运行 - 打印(主机到设备)或扫描(设备到主机)
  • 网络——除了一些例外,大多数普通用户的计算机网络使用在任何时间点大多是在一个方向上——例如,从路由器/互联网到计算机的流视频,从计算机到路由器/互联网上传文件。特别是如果大量使用共享文件或任何类型的服务器(Web 服务器、文件服务器等),并且这些是真正受益于全双工连接的情况,则存在一些重叠。

现在有一些更对称的常规用法 - Zoom 和其他视频会议,既有视频流输出,又有视频流输入。但典型的用法是每个方向上几兆比特,甚至是 100 兆比特. 半双工连接应该能够有足够的空间来处理。

最终结果:出于竞争原因,每一分钱都花在小东西(USB 设备)上,每一美元都花在大东西(计算机)上,制造商将尽可能使用半双工连接,前提是它对可用性没有明显影响。


CSM*_*CSM 6

一些协议本质上是发送和等待,其中包括 USB 2(及以下)、Modbus 和 1-wire 协议。在这些协议中,有一个控制器和多个设备。控制器询问设备,并等待答复。在设备回复(或超时)之前,控制器不能询问另一个设备。对于这些协议,拥有不同的回复路径几乎没有什么好处。