为什么 USB 胜过并行接口?

电器工程 USB 界面
2022-01-18 20:53:29

USB 大量超过并行接口(如 SCSI、IEEE-488 和增强并行端口)的技术原因是什么?我知道只用一根数据线而不是八根数据线可以使硬件更简单。但直观地说,一次传输完整字节而不是位将具有显着的速度优势。USB既是硬件简单又“足够快”的问题?

4个回答

从表面上看,一次发送 8 位似乎比一次只发送一个更快。实际上,还有其他因素会影响并行传输。

并行的致命弱点是字节之间的等待时间。当发送器将一组 8 位放在 8 条线上时,这些位需要非零时间才能到达接收器。此外,这些位不会同时到达。最快位和最慢位之间存在差异。这种扩展要求在位被断言和读取位之间有一个消隐时间。

在低速时,此消隐时间无关紧要。随着速度的增加,这个消隐时间变得很重要。消隐时间必须考虑到最坏的情况。这包括电缆、连接器、电路板走线等……随着速度的增加,消隐时间将成为限制因素。

使用串行时,所有位都背靠背地从线路上下来,不需要消隐时间。速度的提高只需要能够更快地将比特塞进生产线。我用串行信号完整性来掩盖这一点,仍然需要保持。串行对布线异常也不太敏感。

在推出时,USB 按照今天的标准相当慢。它以 1.5 Mb/s 的速度运行,旨在取代更慢的串行、并行和其他用于连接打印机、调制解调器、扫描仪等设备的低速接口。

随着 USB 变得越来越流行,它的功能得到了增强,达到了我们现在所拥有的 USB 3.0 以 5-20 Gb/s 的速度运行。

它赢了有几个原因:

  1. 它是 PC 制造商支持的一种接口。因此,不必弄清楚客户需要什么接口,他们可以简单地包括一些 USB 端口并使用它来完成。

  2. 它对客户来说非常有效,因为插入和拔出 USB 很容易。如果您曾经为串行和并行端口上的那些愚蠢的螺丝而苦苦挣扎,那么您就会明白我的意思。

  3. 它可以处理几乎任何类型的外围设备,只需要软件驱动程序。这是一笔巨大的交易,它允许各种事情在 USB 上运行,这是其原始设计者从未想象过的。

  4. 它足够快,比当时 PC 上的任何其他接口都快,而且它还能够扩展为足够快,甚至可以支持可以启动和运行 PC 的存储。

jwh20已经给出了一些理由。我还要补充一点,与 USB3 相比,并行电缆可能会非常胖。

并行电缆在非常高的速度下可能会出现问题。除非电缆中的每一对线都完美匹配,否则它们之间的传播速度可能会有所不同。这会导致“偏斜”,即信号在每对的不同时间到达,完全混淆了接收器。这导致使用越来越宽的电缆进行并行连接,而不是提高时钟速率。

切换到串行,倾斜问题就消失了。

USB既是硬件简单又“足够快”的问题?

IMO 是的,它足够便宜且足够快,但这只是故事的一部分。

IMO 同样重要的是它的通用即插即用性质。打印机端口是为打印机设计的,虽然它们可以用于其他用途,但这样做总是一种黑客行为,并且可能存在兼容性问题。

直观地,一次传输完整字节而不是位将具有显着的速度优势

是的,但没那么简单。

IEEE 488 和并行打印机接口使用的连接器和电缆可以追溯到 1970 年代。他们在通用多芯电缆上使用单端信号,而不必过多担心端接之类的事情。这严重限制了在信号完整性问题浮出水面之前可以达到的速度。

另一方面,USB 在专门设计的电缆上使用差分信号。初始速度是相对较慢的 1.5Mbps“低速”和 12Mbps 全速。这些速度对于大多数常见的 PC 外围设备来说已经足够快了,比如键盘、鼠标、打印机和扫描仪,但对于外部存储来说速度很慢。USB 2 将速度提高到 480Mbps,同时保持相同的物理连接器和电缆,使外部存储能够以不错的速度运行。

另一方面,SCSI 多年来确实迁移到更宽的总线和更好的布线,并提供比 USB2 更高的吞吐量,但它价格昂贵且对用户不友好。

我认为其他答案夸大了倾斜的重要性,这肯定是并行接口的一个问题,但可以通过良好的物理层设计和快速并行接口(如 IDE、SCSI 和 PCI)在很大程度上缓解它,提供比 USB 2 更高的吞吐量。