科技魔方

USB的前世今生

魔方快报

2020年09月14日

  在过去25当中,USB在为电子产品提供连接和供电的过程中扮演着重要的角色。随着时间的推移,USB接口发生了变化,但无论用户使用了哪种USB,主机总是能够识别出其所连接的设备是什么。

  但这到底是怎么发生的呢?它如何知道何时连接了鼠标而不是打印机?USB 2.0和USB 3.2的SuperSpeed有什么区别?

1.jpg

  在这里,我们将为您介绍USB的内部工作原理,以及为什么USB能够淘汰其他技术而被市场所青睐。

  即插即用

  故事要从20世纪90年代说起,那时,USB还没有出现。在那个时代,奔腾处理器是最流行的选择,Windows系统是3.1版本,个人电脑还是米色的。当时还没有无线连接和云服务,因此打印、复制照片或使用外部存储都需要采用物理连接的方式连接到电脑上。

  与当今的PC不同,30年前的计算机配备了大量不同的接口和通信系统。由于每个接口的差异和局限性,使得连接并不顺利。

  鼠标和键盘几乎总是使用串行PS/2端口,每个端口都有专用的6针接口。打印机和扫描仪通过25针连接器连接到并行端口,而其他所有端口则通过经典串行端口连接。

  如果不小心将鼠标插入键盘接口中会出现什么情况?由于PC不知道插入了错误的设备,因此它根本无法工作。实际上,这些端口并不能识别出来它所连接的设备,用户必须告诉电脑它是什么,然后手动为它安装正确的驱动程序。

  如果一切顺利,在安装驱动程序后快速重启,便可以正常运行。但通常情况下,PC用户需要深入研究Windows的控制面板或主板的BIOS,以使其顺利运行。

  消费者自然希望有更好的东西,即所有外设都可以通过一个接口来运行。您可以在无需重新启动机器的情况下进行插拔,同时,还可以立即识别和配置其所连接的设备。

  系统供应商也想要一些更通用的东西,以取代对大量不同接口的需求,并降低生产成本。在保持向后兼容性的同时,还需要在以后的岁月中有开发和改进的空间。

  这样看来,那时的需求很简单。

  同心协力的时刻

  在计算机的世界中,行业企业联合起来将会产生巨大的能量,来造福整个社会。1994年,Intel,Microsoft,IBM,Compaq,DEC和Nortel一致认为这是创建一种新的连接系统的时候了,因此,这些企业共同建立了一个联盟,来满足市场的愿望和需求。

  英特尔领导了这项技术的开发,Ajay Bhatt成为了项目的主架构师——他还为AGP(加速图形端口)和PCI Express做了同样的工作。在短短两年的时间里,一个完整的规范发布了,同时发布的还有控制芯片。

  这样就诞生了通用串行总线——作为串行、并行和PS/2端口的替代品。它拥有干净、简单的设计和出色的性能。然而,新系统的应用在一开始推进的很缓慢,直到1998年1.1版本发布,一切才真正开始。

  这个版本的改动相当小,主要是关于电源管理和设备兼容性,这并不是促使USB被市场采用的主要原因。其主要原因是,微软在1997年秋天的一次更新中在Windows 95添加了USB 1.1支持,这才使得USB有了发展的机会。

  微软还大力推广了“ 即插即用 ” 一词,即PC的设计理念和系统要求,旨在消除设置计算机和外围设备的复杂性。尽管不是最强大的系统,但USB还是它的理想之选。

  苹果的全身心投入对USB的推广起到了最明显的效果,当年,其发布的产品震撼了整个PC行业。

  第一代iMac于1998年8月推出,它既鲜明又大胆,是第一批所谓的“无传统”的PC之一。该术语用来表示计算机避开了所有旧端口和设备:其所采用的都是最新的硬件。尽管一开始它并没有受到批评者的欢迎,但它继续大量销售——它的普及使USB很好地进入了市场,尽管他比基于Windows的同类计算机出售早了几年。

  USB规范进行了多次修订,其中主要的修订是2001年的2.0、2008年的3.0以及去年发布的最新规范(4.0)。这些我们稍后会再讲。现在,让我们看一下通用串行总线的实际工作原理,以及它能取代其他系统的原因。

  外观很简单

  让我们首先看一下典型PC中连接的总体布局。

  下图显示了Intel X299 Skylake-X系统中的各种设备如何相互通信:

  如上图所示,左下方的USB接口可以直接连接到Intel称为PCH的平台控制器中枢。在USB首次出现的日子里,这种芯片通常称为南桥(Southbridge),它可以管理指令和数据流向硬盘,网络适配器,音频芯片等组件。

  PCH至今仍然扮演着相同的角色,尽管现在它需要处理的事情更多。顺带一提,AMD Ryzen CPU实际上直接处理这些任务:它们不需要PCH/南桥,尽管大多数Zen主板都带有一个额外的控制器,以提供更多的端口和接口。

  X299芯片的内部深处有一个称为USB主机的部分,它包含两个关键元素:USB 控制器和根集线器。前者是一个小型处理器,可以发布所有指令,管理电源传输等。像所有此类集成电路一样,它需要驱动程序才能运行,但是这些驱动程序几乎总是内置在操作系统中。

  根集线器是将USB设备连接到计算机的主要阶段,但并非每个系统都以这种方式设置。有时,设备会连接到其他集线器,这些集线器又会以菊花链的方式回到USB主机(图像顶部的绿色框)。

  最新的规范允许最多5个集线器链,虽然这可能听起来不是很多,同样的标准还规定一个USB控制器必须支持多达127个设备。如果需要连接更多,则只需添加另一个控制器——这实际上是USB 3.0标准的默认要求。

  集线器和设备通过一组逻辑管道相互通信,每个连接的外围设备最多具有32个通信通道(上游16个,下游16个)。不过,大多数只使用少数几个,并且只在需要时才启用它们。

  可以根据通信管道的工作对其进行简单分类:发送/接收指令或传输数据。对于后者,使用的逻辑系统是单向的,而指令始终是双向的。

  例如,USB扫描仪只能将数据发送到集线器,而打印机只能接收数据。硬盘驱动器,网络摄像头和其他多功能设备两者兼有,因此将有更多活动的管道在运行。

  那么所有的这些信息是如何传输?

  在USB 1.0到2.0的情况下,只需使用2条线即可完成,这明显少于旧的并行端口。

  该规格的连接器包含4个引脚:一个用于5伏电源,两个用于数据,另一个则用于接地。5 V引脚提供了操作连接器中的电子设备和设备本身所需的所有电流,但最高限制为:

  USB 2.0 = 2.5 W

  USB 3.0/3.1 = 4.5 W

  USB 3.2/4 = 7.5 W

  通过USB 2.0或更高版本,或通过电池充电或供电模式来突破这些限制。这样使用时,数据无法传输,但可以提供更多的电能——这是传统端口永远无法做到的。

  数据线采用差对(differential pair)的方式工作——它们两端的电压模式为主机控制器提供比特流。将设备插入USB端口后,控制器会拾取一个数据引脚上的电压变化,这将启动一个称为设备枚举的过程。首先要复位外设,以防止其处于错误状态,然后控制器会读取所有相关信息(例如设备类型和最大数据速度)。

  USB设备属于许多类别之一,每个类别都有一个设置代码——例如,蓝牙适配器属于无线适配器类别,而具有力反馈的steering wheel则属于物理接口设备。

  最初是为外部硬盘驱动器和CD刻录机之类的设备而设置的,多年来,它已扩展到包括闪存棒,数码相机和智能手机——后者的存储容量有了巨大的增长,且通常使用USB连接将文件传输到计算机中。

  一次只能管理一台设备(因此它是串行总线),但是控制器可以在它们之间快速切换,这就让人感觉它们是在同一时间处理的。例如,虽然总线的速度不如SATA接口,但是使用USB驱动器的计算机可以从它们启动,也可以从设备上运行便携式应用程序,而无需安装它们。

  说到速度,让我们深入了解一下通信系统的这个方面。

  野蛮发展的年代

  在USB 1.0规范的早期草案中,接口中的数据线设计为仅以一种速度运行:5 MHz。由于线路成对工作,因此总线本身为1位宽,因此最大带宽为每秒5 Mbit(或640 kB/s)。

  这是对传统串行端口所进行的巨大改进,但与在ECP模式(20 Mbits/s)中配置的并行端口所取得的进步相比,它的进步却要小得多。当时,达到这种速度排除了许多非常简单的设备(例如鼠标和键盘),因此,该规范扩展为以两种时钟速率下进行工作,从而提供 1.5 Mbit/s或 2 Mbits/s的数据速率。由于在规范当中没有明确的表述,因此,设计师将之命名为低速和全速。

  当USB 2.0在2001年定版时,总线提供了一个市场非常需要的更高的时钟速率,峰值带宽为 480 Mbit/s——还有什么比“全速”更快呢?当然是高速。7年后,当3.0版本出现时,这种命名混乱达到了顶峰。

  传统的两条数据线所提供的带宽已达到了其最大容量,而继续提高带宽的唯一方法就是增加更多的引脚。最初的USB设计考虑到了这种变化,这就是为什么接口都是相对宽敞和整洁的原因。

  这些额外的引脚使数据可以同时双向流动(即双工模式),理论峰值带宽为每秒5 Gbits,是原始规格的400倍以上。由于这些通道位于旧通道上方的空间中,因此USB 3.0保留了完全的向后兼容性。

  然后接下来的发展就变得很迷幻……

  3.1版于2013年推出,拥有更快的数据通道(10 Gbits/s),但由于某种原因,该版本被标记为USB 3.1 Gen 2。为什么是第二代?因为3.0被重命名为3.1 Gen 1。

  当USB 3.2规范在5年后问世时,帮助制定并同意USB标准的组织决定3.2更强大的功能(最高 20 Gbits/s)需要重新命名:

  USB 3.1 Gen 1 —— USB Gen 3.2 1×1

  USB 3.1 Gen 2 —— USB Gen 3.2 2×1

  新系统在此基础上有两个版本:Gen 3.2 1×2和2×2,其中两组数据线并行使用。有了这么多不同的规格和速度,您会认为会有一个固定的标准来帮助识别他们。但我们都错了——看看Gigabyte主板的背板:

  总共有10个USB端口,涵盖了3.2版规范的两个不同版本和两种类型的连接器(稍后将对此进行详细介绍)。颜色编码和Gigabyte自己的网站都没有确切告诉您它是哪个版本——它们都被标记为USB 3.2,但是为什么有些是蓝色而有些是红色?

  制造商可以使用官方标识来表明它是哪个版本,但由于这些标识的使用没有被强制执行,因此它们很少被使用。去年的另一项重命名活动(厂家被推荐使用 SuperSpeed USB 5 Gbps、SuperSpeed USB 10 Gbps等等)只是强调了USB变得多么令人困惑。

  当USB4(不是错字,不是USB 4.0)在2019年推出时,人们希望事情会变得更加清楚。不幸的是,事实并非如此,尽管几乎看不到USB4设备,但可以肯定的是,由于出现了更多支持不同速度的标准,使得这种混乱持续了下去。

  像A、B、C一样容易吗?

  在设计USB时,工程师希望使系统尽可能地简单,不必要将时间浪费在尝试配置一切的事情上。这个概念在接口的格式中得到体现——一种形状用于USB主机,另一种形状用于所连接的设备。它们最终被称为Type A和Type B。

  其背后的想法是使用户可以清楚地知道线缆的哪一端将连接到哪里。但不幸的是,设计人员还希望该系统的实施成本尽可能低,而Type A的设计有时会很难插入。

  第一代USB的另一个问题是,对于小型设备(例如媒体播放器和移动电话),Type B插头太大了。因此,在1998年发布1.1版时,引入了缩小的版本,称为Mini-A和Mini-B。尽管它们也因其脆弱而闻名,但它们很快被手机和平板电脑采用了。

  但当智能手机制造商开始追求更轻薄的设备时,这些设备也太大了。USB 2.0的出现解决了这个问题,它不仅提供了更快的速度,而且还提供了Micro-A和B连接器。

  USB 2.0还提供了Micro-AB接口(可以插micro-A和micro-B),虽然USB 3.0的Type A接口可以向后兼容USB 2.0,但Type B接口却不能——它无法插入2.0的Type B接口。

  另外一方面,相同规格的Micro-B SuperSpeed连接器也有些笨重,无法达到“微型”的效果。

  所有这些变化都是为了追求更多的性能(您可以清楚地看到USB 3.0中的额外数据引脚),通过不断增加产品种类来丰富整个体系,即众所周知的USB Implementers Forum(USB-IF)。

  显然,我们需要更好的东西……

  制造商和消费者都希望有一个小巧的连接器,它对于主机和设备来说都是一样的,并且还能提供更好的性能。因此,随着USB 3.1(单独开发)一起,USB-C插头诞生了。

  它不仅代替了对不同A/B接口的要求,还可以按任何方向插入,并且可用于USB以外的连接系统(例如DisplayPort,HDMI和Thunderbolt)。

  USB-C连接器的数据线比USB 3.0 Type A(对不起,USB 3.2 SuperSpeed)要多得多——其中两个完全专用于USB 2.0支持,另外四组差分对提供双向通信。这些变化在最新规范中提供了高达 40 Gbits/s的带宽。

  有了USB4,与传统接口的联系就永远被抛弃了——要么使用USB-C,要么就什么都不用了——但在我们告别PC和其他设备上的Type A接口之前,还需要很多年。

  USB的一路成长

  明年,USB就25岁了,虽然最新版本的USB与最初的设计只有一些相似之处,但它的基本前提仍然适用:即插即用。每一个规范修订都提供了更好的性能(版本4比1.1快3000倍以上),并能够为设备提供更高的功率(目前功率输送模式下的功率可达100瓦)。

  但是为什么USB持续了这么长时间?有没有更好的办法可以提供更多的带宽或功率?简单来说并没有,或者至少现在不是。

  十年前,英特尔发布了Thunderbolt。当时,它肯定比USB 3.0更具吸引力,具有更大的带宽和更大的灵活性。但是,最新版本仍使用了USB-C连接器,而放弃了其原来的专有接口,并具有与USB4相同的最大带宽。它仍然提供更多功能,例如能够提供更多的功率来运行设备,但它不会很快就能取代USB。

  还有IEEE 1394(更好地称为FireWire)——像Thunderbolt一样,它提供了比USB 2.0和3.0更好的性能,但是由于后者的规范已经进行了更新以改进这些方面,FireWire(以及Thunderbolt)提供的主要优势是以标准的形式出现的。

  USB对系统供应商和制造商的吸引力的一部分在于它的相对开放的规范。与Thunderbolt和FireWire不同的是,它可以制作一个“USB 3.2”线缆并以此销售,但并不完全符合规格中的所有细节。例如,它可能不支持全部带宽或提供可用的最大功率。

  虽然这使得这些产品的制造和购买都很便宜,但当你真正需要线缆的时候,这确实意味着它是一个潜在的雷区。USB提供了多种传输速度和电源模式,这让问题变得更加复杂——在可预见的未来,这种情况将会出现。

  但是,尽管存在松散的标准、令人困惑的命名方案和多种类型接口的缺陷,但是,USB仍然像以前一样无处不在。几乎每个计算机外设都用它连接到主机上——即使是无线的,也几乎肯定会使用USB dongle。

  也许终有一天USB将会被其他技术所取代,但就目前的市场情况而言,合理的价格和简单的诉求和持续不断的改进是促使USB前进的动力。USB确实是一个忠实的老朋友。

  烽巢网注:本文来源于微信公众号 半导体行业观察(ID:icbank),作者:techspot

+1

来源:半导体行业观察

推荐文章