我正在与一位同事讨论USB电缆长度的限制,据我所记得,它受到主机要求设备响应的狭窄窗口的限制(此处提到))。
他指出,以太网正在以更高的速率传输数据(USB 1.5 / 12/480 / 5,000 Mbit / s(取决于模式),而以太网为10 / 100Gbps),并允许更长的电缆长度(CAT6电缆为100m))。
因此,我想我们都想知道USB协议的哪个方面将电缆长度限制为5m,这与以太网有何不同?
我正在与一位同事讨论USB电缆长度的限制,据我所记得,它受到主机要求设备响应的狭窄窗口的限制(此处提到))。
他指出,以太网正在以更高的速率传输数据(USB 1.5 / 12/480 / 5,000 Mbit / s(取决于模式),而以太网为10 / 100Gbps),并允许更长的电缆长度(CAT6电缆为100m))。
因此,我想我们都想知道USB协议的哪个方面将电缆长度限制为5m,这与以太网有何不同?
Answers:
根据维基百科:
USB 2.0为以高速(480 Mbit / s)运行的设备提供的最长电缆长度为5米。此限制的主要原因是最大允许的往返延迟约为1.5μs。如果USB设备在允许的时间内未响应USB主机命令,则主机会认为命令丢失。当增加USB设备响应时间(从集线器的最大数量增加的延迟到连接电缆的延迟)时,每根电缆的最大可接受延迟为26 ns。USB 2.0规范要求电缆延迟小于每米5.2 ns(192,000 km / s,接近标准铜线可达到的最大传输速度)。
因此,每条电缆的延迟为26ns,并且规范要求电缆延迟应小于5.2ns / m,因此理论上的最大电缆长度为26ns /(5.2ns / m)= 5m。
该消息人士还提到,USB 2.0的最大长度为5m,但USB 3.0的最大长度为5m。
USB旨在替代各种PC外围接口,包括键盘和鼠标。优先级包括低成本,低功耗以及以低延迟传递高优先级流量。支持长电缆不是优先考虑的事情。因此,在协议方面,他们采用了一种具有小数据包大小的简单半双工“与您通话时讲话”协议。在硬件方面,他们选择了非隔离的差分信号系统,该系统在终止时采取了一些捷径。
USB逐渐发展以增加速度和全双工,但更长的距离从来都不是设计目标。
以太网(早期形式)具有一组不同的设计标准。它被设计为局域网标准,没有一个站是主站,他们选择了带有冲突检测功能的运营商感知多路访问系统。为了确保冲突检测正常工作,他们对最小数据包大小和网络的总大小都施加了限制。物理层的端接设计要仔细得多,以确保即使长期运行也能保持信号完整性。有一个隔离栅可以防止长期运行中由于地电位差引起的问题(双绞线以太网使用变压器,我相信同轴以太网使用光隔离器和DC-DC转换器)
CSMA / CD在小型10Mbps局域网上运行良好,但是随着速度的增加和网络的扩大,它开始显示出压力。引入了网桥(以后称为交换机),允许将网络划分为多个冲突域。这样可以使网络大于CSMA / CD施加的限制,并允许多种速度共存。
后来,以太网从CSMA / CD 1和集线器移向点对点全双工链路和交换机。这允许高速长距离链接,因为数据包永远不会相互冲突。
尽管要付出所有这些代价,但要付出代价,与仅设计用于短距离工作的那些物理层相比,可以在远距离工作的物理层需要更多的功率,并且价格也要高得多。终端设备上的数据缓冲区必须更大,才能处理可能较长的确认时间和潜在的数据包丢失。开关是相对复杂的设备,通常包括大量的缓冲存储器。优先级要求链中的每个交换机都必须知道优先级信息。
1在10Mbps速度下,集线器和CSMA / CD几乎是通用的。早期的100Mbps部署还大量使用了集线器和CSMA / CD。后来的100Mbps网络倾向于使用全双工链路和交换机。在千兆标准上,标准包括CSMA / CD和集线器,但我从未听说有人实际销售过千兆集线器。在10 Gb及以上的CSMA / CD和集线器根本不存在支持。
另一个重要的方面是高速以太网是全双工的:使用了两对电缆,每个方向一对。USB是半双工的:只有一对,并且一次只能在一个方向上使用。
USB也需要确认,而以太网则不需要。位于其之上的协议可能需要确认(TCP),也可能不需要(UDP流)。但是,由于它是全双工的,因此可以在不中断另一方向的数据流的情况下向下发送一对确认。