为什么USB电缆的最大长度比RS232中的短?


9

如果电缆长度超过5m,为什么我们需要缓冲USB信号?
那是因为信号电压下降吗?
那是因为它驱动电流吗?


1
Rs232使用+/- 12伏特,USB 0-5伏特
mischnic 2015年

Answers:


16

传输速度很重要,因为USB是半双工的:为了传输响应,总线必须转过来,并且数据要沿另一个方向传输。因此,主机发出数据并等待确认或响应。所有传输均由主机控制。然后,设备将在一定(非常短的)时间内做出响应。该时间大约是沿着5m电缆跳两个信号所花费的时间。

(此刻我找不到参考,但是相关的规范文档是公开的)

编辑:感谢psmears查找此部分

电缆和长途解决方案

  1. 为什么有电缆长度限制,这是什么?

答:电缆长度受到26ns的电缆延迟规格的限制,以允许反射在发送下一位之前在发射机处稳定下来。由于USB使用源端接和电压模式驱动器,因此必须如此,否则反射会堆积并烧毁驱动器。这并不意味着线路电压在位末尾已完全稳定;最坏情况下的终止。但是,在钻头的末端已经有足够的阻尼,以至于反射幅度已减小到可管理的水平。低速电缆长度限制为18ns,以防止传输线效应影响低​​速信号。

  1. 我想构建一根超过5米的电缆,为什么不能使用?

答:即使您违反规范,从字面上看也不会走得太远。假定最坏情况下的延迟时间,位于5个集线器和电缆底部的全速设备的超时余量为280ps。将这个余量减小到0ps只会给您额外的5cm,这几乎是不值得的。

所以我的回答是正确的:往返行程限制是针对最坏情况的集线器和电缆链,总深度为25m。

Dan Neely也是正确的,USB一直被认为是用于“慢速”外围设备(如键盘,鼠标,打印机等)的最低成本解决方案。如果您想要全双工以提高速度距离,则100baseT以太网是自然的选择。


帽子是一根20m的USB电缆。会发生什么?你说电压不变,速度很重要。那么在20m电缆情况下会发生什么,而USB无法正常工作?
user16307

2
主机发出请求,没有及时得到答复,并且无法枚举另一端的设备。
pjc50

4
你确定吗?根据USB规范,信号在电缆上的传播延迟必须小于26ns(表7-9),因此在标准5m电缆中,信号占用的时间少于5.2 ns / m。往返延迟的极限约为1.5μs。以这种速度,有足够的时间让信号通过> 100m的电缆传回。USB实施者论坛给出了5m限制的不同原因
psmears 2015年

从第一天开始,是否有理由将USB 1.0-2.0设为半双工而不是全双工(例如USB 3.0)?换句话说,半双工比全双工有什么实际优势吗?
tigrou

1
@tigrou更广泛地说,USB1尽可能在任何地方都包含简单的选择,因为它必须足够便宜才能实现它可以与RS232 / PS2 / LPT / Game端口竞争。多年来,硅的价格便宜了很多。但价格高于目标应用“足够好”所需的最低价格,导致USB2杀死了FireWire;并且Thunderbolt越来越显得死胎。
Dan在火光旁摆弄

10

参见此页面,https://superuser.com/questions/64744/maximum-length-of-a-usb-cable

Q1:我可以使用多久的电缆来连接设备?解答1:实际上,USB规范将全速设备之间的电缆长度限制为5米(不到16英尺5英寸)。对于低速设备,限制为3米(9英尺10英寸)。

Q2:为什么我不能使用长度超过3或5m的电缆?A2:USB的电气设计不允许这样做。设计USB时,就决定处理USB数据线上电磁场的传播,其方式是将USB电缆的最大长度限制在4m范围内。这种方法具有许多优点,并且由于USB用于桌面环境,因此范围限制被认为是可以接受的。如果您熟悉传输线理论,并且想要了解更多有关该主题的详细信息,请查看开发人员常见问题解答的USB信号部分。


1
仍然没有解释很多有雾的信息
user16307 2015年

10
可能对您来说很模糊,但是在这种格式允许的房间内没有简单的方法来解释信号理论。
Wouter van Ooijen 2015年

5
我认为这个答案指出了存在局限性的某些原因。通过网络搜索来进一步探索这些领域是很容易的。例如关于传输线理论。这就是为什么我发布了这个答案。
Mattias Johansson

1
我很少投票,所以现在我不得不证明这一点。与Wouter van Ooijen的评论相反,我真的不觉得这个答案提供了比搜索“ USB电缆长度限制”的可能建议更具体的东西。此外,您所指的答案包含无效链接,因此进一步阅读的建议甚至没有用。如果您找到了正确的原始来源并引用了该原始来源(如psmears和pjc50所做的那样),那将是另一回事-因为实际上提供了存在此限制的原因的详细信息。
Oleksandr R.

5

实际上不可能“缓冲” USB,至少在通常意义上不是这样。通常,缓冲意味着电放大,可能还意味着信号再生。

借助USB,主机可以驱动整个总线。主机发出请求,并且设备必须向主机发出响应。在请求完成传输之后的某个时间,响应的开始必须到达主机。如果电缆太长,则传播延迟会太长,导致响应无法及时到达主机。

因此,有一些解决方法,它们都不涉及简单的“缓冲”,因为缓冲会增加额外的延迟,因此我们需要以某种方式使主机更能容忍更长的延迟。

有两种解决方法:

  1. 插入物理或虚拟集线器的解决方法。如果主机枚举总线上的集线器,则集线器本身会增加额外的延迟,并且在集线器和主机之间还有另一条可能是全长的电缆。对附加到集线器下游的设备的任何请求都计划有额外的延迟。

    1. 您可以在电缆的每4m处插入一个单端口集线器,最多可串联7个集线器。限制是从主机到最终设备的7个集线器级别,因此,如果设备上游有任何集线器,则需要相应减少集线器的数量。许多USB主机都包含一个单层的内部集线器,因此实际限制是28m电缆,6个集线器串联。除第一个集线器外,所有集线器都必须假装为自供电。

    2. 您可以在主机的插头处添加带有预加重功能的功能更强大的收发器的虚拟集线器,然后通过更长的电缆传输USB流量。只要设备在这种延长电缆的末端接收到的信号在规格范围内,并且只要您的接收器可以恢复标准设备通过长电缆发送的数据,就可以了。添加了虚拟集线器,以便主机允许较长的延迟-但是当然没有物理集线器,只是它们的模拟。

  2. 模仿在较高协议级别下显示为“慢”的设备的解决方法。这就是某些Cat-5 USB“扩展器”的工作方式。这里有五个合作伙伴:真实主机(rHost),它所看到的仿真设备(eDev),长电缆,一个仿真主机(eHost),以及在电缆远端看到它的设备(rDev) 。

    最初,eDev假装不在那里。在某个时间,eHost会看到插入了rDev。它会枚举该rDev,并将数据转发到eDev。然后,eDev模拟一个插件事件,而rHost枚举该事件。rHost相信它看到了rDev,但只有eDev在那里,假装。类似地,rDev认为看到的是rHost,但它只是假装的eHost。

    最终,rHost希望向它认为存在的rDev发出一些转移,以进行一些利用。对于IN传输,eDev假装没有数据(回复NAK)。传输请求将转发到eHost,由eDev重新执行。其结果将转发回eDev,后者在主机下次尝试传输时使用该结果。

    对于OUT传输,eDev必须猜测rDev的行为。这里可以尝试各种试探法和行为。一种方法是让eDev始终接收数据并使用ACK进行回复。传输转发到eHost,然后eHost将传输重放到rDev。理想情况下,rDev最终将消耗数据并对其进行确认。如果这没有成功,或者rDev回复了STALL,则eDev最好的办法就是对主机进行下一次传输。另外,eDev可以始终取消传输,通常是正确的假设,即主机稍后会简单地重试相同的传输。即使原始传输是NAK版本,它也将转发到eHost,然后eHost使用rDev执行传输。无论rDev的答复是什么,只要它得知eDev的答复即可。

    现实的实现将从保守的启发式方法开始,这些启发式方法涉及NAK可以推迟的所有传输的完整往返rDev。随着转移的进行,可以了解rDev的预期行为,而eDev可以变得不那么保守。“扩展器”可以使用标准USB类别的知识以及某些特定于供应商的类别/设备知识/黑名单/白名单来提供更好的性能。


备用集线器不能假装由总线供电吗?我认为总线供电的集线器可以为自供电集线器供电,不是吗?
2015年

与总线供电无关-它是对ACK响应的总延迟。
pjc50

@supercat是的,可能会有其他的假装中枢。只要您假装的设备树看起来与主机兼容,您的操作就无关紧要。
恢复莫妮卡2015年

根据USB规范@ pjc50,最大ACK延迟约为400ns。时间信号可以在两个方向上传播40米的铜线。这里不是限制因素。
ZAB


2

大多数电缆上的数据传输方案都有描述其实现方法的国际公认的标准,包括电缆“特性阻抗”的规范(认为是电阻,但适用于交流电),端接阻抗(在连接结束时需要的“电阻”,以避免信号反射而将电缆反射回发送器,这通常是指定的“转换速率”(信号从一个信号转换到一个信号所花费的时间)从0状态转换为1状态,反之亦然),因此每秒0/1之间的最大转换次数(即kbps / Mbps / Gbps)以及因此电缆在信号完整性下降之前可以停留多长时间&东西停止正常工作。

与USB相比,RS232在电缆类型,特性阻抗,压摆率,电缆长度,连接器类型等所有规格上都有缺陷。当然,25针和9针“ D”连接器很常见,但实际上,RS232被设计用于各种连接器,电缆和产品,没有实际规格说明。实际上,使用RS232,通常可以通过降低到每秒较低的位(又称“波特”)速率来延长距离。可以达到的最大距离还将在很大程度上取决于电缆的阻抗,是否被屏蔽,端接等等。

在比较RS232和USB的过程中,您所比较的是1960年代的“标准”,其最高峰值为115k2(极少数情况除外),而1990年代和2000年代的“标准”则以1.5Mbps的速度开始增长,快了一个数量级,然后是12Mbps(快100倍),然后是480Mbps(快5000倍),但这意味着电缆参数和电缆长度在使其可靠工作中起着重要作用。它被设计为台式机外围连接标准,因此5m被认为是可以接受的,然后从该点开始设置电缆,连接器的所有参数以及速度。如果有办法使USB速度变慢,则可以使它在更长的电缆上运行(无需中继器)。


2
RS232可能在“ 115K”处达到“顶峰”,但我记得当它是电传打印机和调制解调器之间的每秒110或300 链接时。信号不平衡,电压从-12V变为+ 12V,并且没有双绞线,端接或屏蔽。以这样的速度,在如此短的距离上,导线的特性毫无意义。后来,当人们想以更高的速度在数百米范围内发送信号时,我们得到了RS422和RS485,它们更多地说明了有线传输线。
所罗门慢
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.