通用串行总线是连接电脑与设备的一种序列总线标准,也是一种输入输出 连接端口的技术规范,广泛应用于个人电脑和移动设备等信息通信产品,并扩展至摄影器材、数字电视、游戏机等其它相关领域。 多媒体电脑刚问世时,外接式设备的传输接口各不相同,如打印机只能接并行端口、调制解调器只能接RS232、鼠标键盘只能接PS/2等。繁杂的接口系统,加上必须安装驱动程序并重启才能使用的限制,都会造成用户的困扰。因此,创造出一个统一且支持易插拔的外接式传输接口,便成为无可避免的趋势,USB应运而生。 最新一代的USB是USB4,传输速度为40Gbit/s。物理接头USB Type-A、Type-B接头分正反面,新型USB Type-C接头不分正反面。 USB最初是由英特尔与微软倡导发起,最大的特点是尽可能地实现热插拔和即插即用。当设备插入时,主机枚举到此设备并加载所需的驱动程序,因此其在使用上远比PCI和ISA等总线方便。 USB在速度上远比并行端口与串行接口等传统电脑用标准总线快上许多。USB 1.1的最大传输速率为12Mbps,USB 2.0为480Mbps,USB 3.0 为 5Gbps,USB 3.1 Gen2 为 10Gbps,而USB 3.2更达20Gbps,以及近期发表的USB 4.0,其速度可达40Gbps。 USB的设计为非对称式的,它由一个主机控制器和若干通过USB集线器设备以树形连接的设备组成。一个控制器下最多可以有5级Hub,包括Hub在内,最多可以连接128个设备,因为在设计时是使用7比特物理地址,二的七次方就等于128,一般人说USB连接127个是指连接时需扣除一个连接主机的USB接头,而一台计算机可以同时有多个控制器。和SPI-SCSI等标准不同,USB集线器不需要终结器。 USB可以连接的外设有鼠标、键盘、游戏手柄、游戏杆、扫描仪、数字相机、打印机、硬盘和网卡等部件。对数字相机这样的多媒体外设USB已经是缺省接口;由于大大简化与计算机的连接,USB也逐步取代并行接口成为打印机的主流连接方式之一。2004年已经有超过1亿台USB设备;到2007年时,高清晰度数字影片外设是仅有的USB未能染指的外设类别,因为他需要更高的传输速率,不过USB3.1和2019年USB4的问世,高清晰度数字视频外设和外接式显卡也能在USB播放。 现USB标准中,按照速度等级和连接方式分为以下七种版本。注意USB-IF目前正式的主版本号只有USB 2.0和USB 3.2两个。 USB开发者论坛负责USB标准制订,其成员包括:苹果公司、惠普、NEC、微软和英特尔。 2001年底,USB-IF公布USB 2.0规范,与之前的USB 0.9、USB 1.0和USB 1.1一样,该规范完全向下兼容。随后,USB-IF公布USB On-The-Go作为USB 2.0规范的补充标准,使其能够用于在便携设备之间直接交换数据。 USB的连接器分为A、B两种,分别用于主机和设备;其各自的小型化的连接器是Mini-A, Mini-B 和 Micro-A, Micro-B,另外还有Mini-AB的插口。USB 3.1版本中导入支持正反面不区分插入的C型。 目前USB支持5种数据信号速率,USB设备应该在其外壳或者有时是自身上正确标明其使用的速率。USB-IF进行设备认证并为通过兼容测试并支付许可费用的设备提供基本速率和高速的特殊商标许可。 1.5 Mbps的低速速率。主要用于低速率人机接口设备,例如键盘、鼠标、游戏杆等等。 12 Mbps的全速速率。在USB 2.0之前是曾经是最高速率,后起的更高速率的高速接口应该兼容全速速率。多个全速设备间可以按照先到先得法则划分带宽;使用多个等时设备时会超过带宽上限也并不罕见。所有的USB连接端口支持全速速率。 480 Mbps的高速速率。并非所有的USB 2.0设备都是高速的。高速设备插入全速连接端口时应该与全速兼容。而高速连接端口具有所谓事务翻译器功能,能够隔离全速、低速设备与高速之间数据流,但是不会影响供电和串联深度。 5Gbps的超高速速率。相较于现有USB 2.0的480Mbps最高理论速度,USB 3.0可支持到5.0Gbps,是USB 2.0的10倍。若将USB 3.0应用到外置硬盘、U盘或蓝光刻录机等存储设备,将可大幅缩短资料传输时间。 10Gbps的超高速速率+。USB 3.1 Gen2最高10Gbps理论速度,是USB 3.0的两倍。 40Gbps的极速速率 USB 4 最高40Gbps理论速度,是USB 3.1 Gen2的四倍 USB信号使用分别标记为D+和D- 的双绞线传输,它们各自使用半双工的差分信号并协同工作,以抵消长导线的电磁干扰。 Mini USB除了第4针外,其他接口功能皆与标准USB相同。第4针成为ID,地线在mini-A上连接到第5针,在mini-B可以悬空亦可连接到第5针。 2007年1月4日,USB实装论坛颁布Micro-USB的插头标准。该标准将在许多新型智能手机和PDA上替代Mini-USB。Micro-USB插头的插拔寿命为10,000次,比Mini-USB插头高度减半,宽度相差无几。OMTP组织最近宣布,Micro-USB将成为移动设备数据和电源的标准接口。 2009年2月17日,全球移动通信联盟协会宣布在2012年前将使用Micro-USB作为全球统一的标准充电器规格。首批签署协议的厂商包括:诺基亚、乐金、摩托罗拉、三星、索尼移动、美国电话电报公司、法国电信、西班牙电信、T-Mobile与沃达丰。 USB使用NRZI编码方式:当数据为0时,电平翻转;数据为1时,电平不翻转。为了防止出现过长时间电平不变化现象,在发送数据时采用位填充处理。具体过程如下:当遇见连续6个高电平时,就强制插入一个0。经过位填充后的数据由串行接口引擎将数据串行化和NRZI编码后,发送到USB的差分数据线上。接收端完成的过程和发送端刚好相反。 一个USB主机通过Hub链可以连接多个设备。由于理论上一个物理设备可以承担多种功能,例如路由器同时也可以是一个SD卡读卡器,USB的术语中设备指的是功能。集线器由于作用特殊,按照正式的观点并不认为是Function。直接连接到主机的Hub是根Hub。 设备/功能与管道Pipe联系在一起,管道把主机控制器和被称为端点Endpoint的逻辑实体链接起来。管道和比特流有着相同的含意,而在USB词汇中术语端点经常和管道混用,甚至在正式文档中。 端点(和各自的管道)在每个方向上按照0-15编号,因此一格设备/功能最多有32个活动管道,16个进,16个出。(出(OUT)指离开控制器,而入(IN)指进入主机控制器。)两个方向的端点0总是留给总线管理,占用了32个端点中的2个。在管道中,数据使用不同长度的包传递,端点可以传递的包长度上限一般是displaystyle2ⁿ字节,所以USB包经常包含的数据量依次有8、16、32、64、128、256、512或者1024字节。 一个端点只能单向传输数据,自然管道也是单向的。每个USB设备至少有两个端点/管道:他们分别是进出方向的,编号为0,用于控制总线上的设备。按照各自的传输类型,管道被分为4类: 控制传输——一般用于短的、简单的对设备的命令和状态反馈,例如用于总线控制的0号管道。 同步传输——按照有保障的速度传输,可能有数据丢失,例如实时的音频、视频。 中断传输——用于必须保证尽快反应的设备,例如鼠标、键盘。 批量传输——使用余下的带宽大量地传输数据,例如普通的文件传输。 一旦设备通过总线的Hub附加到主机控制器,主机控制器就给它分配一个主机上唯一的7位地址。主机控制器通过投票分配流量,一般是通过轮询模式,因此没有明确向主机控制器请求之前,设备不能传输数据。 为了访问端点,必须获得一个分层的配置。连接到主机的设备有且仅有一个设备描述符,而设备描述符有若干配置描述符。这些配置一般与状态相对应,例如活跃和节能模式。每个配置描述符有若干接口描述符,用于描述设备的一定方面,所以可以被用于不同的用途:如一个相机可能拥有视频和音频两个接口。接口描述符有一个缺省接口设置和可能多个替代接口设置,它们都拥有如上所述的端点描述符。一个端点能够在多个接口和替代接口设置之间复用。 包含主机控制器和HUB的硬件为程序员提供了由硬件实现定义的接口主机控制器设备。而实际上它在计算机上就是端口和内存映射。 1.0和1.1的标准有两个竞争的HCD实现。康柏的开放主机控制器接口和Intel的通用主机控制器接口。VIA威盛采纳了UHCI;其他主要的芯片组多使用OHCI。它们的主要区别是UHCI更加依赖软件驱动,因此对CPU要求更高,但是自身的硬件会更廉价。它们的并存导致操作系统开发和硬件厂商都必须在两个方案上开发和测试,从而导致费用上升。因此USB-IF在USB 2.0的设计阶段坚持只能有一个实现规范,这就是扩展主机控制器接口。因为EHCI只支持高速传输,所以EHCI控制器包括四个虚拟的全速或者慢速控制器。这里同样是Intel和Via使用虚拟UHCI,其他一般使用OHCI控制器。 某些版本的Windows上,打开设备管理器,如果设备说明中是否有“增强”,就能够确认它是2.0版的。而在Linux系统中,命令lspci能够列出所有的PCI设备,而USB会分别命名为OHCI、UHCI或者EHCI,列出为32位地址的为EHCI,16位的为OHCI。命令lsusb能够显示所有USB设备的信息。命令dmesg能够显示OS启动时关于USB设备的信息。 USB的数据包格式和早期的互联网数据包格式非常相似,要了解USB连接原理就一定要先了解数据包格式。 BOT传输协议:BOT ,诞生于1999年,专为USB 1.1所设计,但至少到USB 3.1 Gen 2都可向下兼容它。在传输资料作业开始时,外接USB 3.0设备与电脑主板之间,在同一时间单位内,每次只传输单一指令,所以速度较UASP慢,属于“半双工传输模式”。 UASP传输协议:UASP ,与USB 3.0一同诞生于2008年,USB应用者论坛为改良BOT传输协议过慢的缺点,将SCSI架构改进并推出UASP,包括多命令平行处理能力、任务管理与控制等机制,也支持NCQ,速度比BOT传输模式快上许多,属于“全双工传输模式”。启动UASP虽然能提升传输性能,但也有许多限制,电脑用户必须具备支持UASP的外接USB 3.0设备内部的设备端控制器、主板上的主机端控制器、驱动程序,三者缺一不可。在OS支持度上,使用Windows 7的用户若想启动UASP,必须安装相应的驱动程序,如果用户使用Windows 8/Mac OS X 10.8.3以及之后陆续推出的10.9版本,因为其已内置UASP的驱动程序,所以直接原生支持UASP,如此可省去安装驱动程序的麻烦。UASP的设备端桥接芯片有:LucidPort USB 300、祥硕科技ASMedia ASM1053/ASM1042、智微JMS 569、德州仪器TUSB9261等等。 依附在总线上的设备可以是需要特定的驱动程序的完全定制的设备,也可能属于某个设备类别。这些类别定义设备的行为和接口描述符,这样一个驱动程序可能用于所有此种类别的设备。一般操作系统都为支持这些设备类别,为其提供通用驱动程序。 设备分类由USB设计论坛设备工作组决定,并分配ID。 如果一个设备类型属于整个设备,该设备的描述符的bDeviceClass域保存类别ID;如果它这是设备的一个接口,其ID保存在接口描述符的bInterfaceClass域。他们都占用一个字节,所以最多有253种设备类别。。当bDeviceClass设为0x00,操作系统会检查每个接口的bInterfaceClass以确定其类别。 每种类别可选支持子类别和协议子定义。这样可以用于主设备类型的不断修订。 常用设备类别和ID有: 接头是由USB协会所指定,接头的设计一方面为了支持众多USB的基本需求,另一方面也避免以往许多类似串行接头所出现的问题。 接头设计的相当耐用。许多以往使用的接头较脆弱,即使受力不大,有时针脚或零件也会折弯甚至断裂。而USB接头的金属导电部分周围有塑料作为保护,而且整个连接部分被金属的保护套围住,因此USB接头不论插拔,都不容易受损。由于金属保护套和外围塑料护套的保护,需要较大的力量才能造成USB接头明显的损坏。 具有防呆设计,方向相反的插头不可能插到插座里,方向正反很容易感觉出来。所以不可能把USB接口插错。 接头能相对便宜地大量生产。 在USB网络中,接头被强制使用定向拓扑。USB不支持环形网络,因此不兼容的USB设备之间接口也不兼容。不像其他通讯系统不能使用转换插头,防止环形USB网络产生。 适度的插拔力。USB电缆和小型USB设备能被插口卡住。只需要适当力量插拔即可连接周边设备。 由于接头的构造,在将USB插头插入USB座时,插头外面的金属保护套会先接触到USB座内对应的金属部分,之后插头内部的四个触点才会接触到USB座。金属保护套会连接到系统的地线,提供路径使静电可以放电,避免因静电通过电子零件而造成损坏。 USB电缆最长允许5米,更长的距离需要HUB。 USB接头默认提供一组5伏特的电压,可作为相连接USB设备的电源。实际上,设备接收到的电源可能会低于5V,只略高于4V。通过USB PD3.0、QC4等快速充电协议,现有USB接口的最大的可以达到20V,最低3V。 USB-IF规范1.1版定义USB端口最高供电可达到1.5A/1500mA,而最新的1.2版规范更是修正为最大5A/5000mA的供电,但是总和也不得超过5A。 一个USB的HUB最多只能提供500 mA的电流。如此的电流已足以驱动许多电子设备,不过连接在总线供电HUB的所有设备,需要共享500mA的电流额度。一个由总线供电的设备可以使用到它所连接端口上允许输出的所有电源。 总线供电的HUB可以将电源供给连接在HUB上的所有设备,不过USB的规范只允许总线供电的HUB下游串接一层总线供电的设备,因此,总线供电的HUB下游不允许再串接另一个由总线供电的HUB。许多HUB有外加电源,因此可以提供电源给下游的设备,不会消耗总线上的电源。若设备需要的电压超过5V,都需要使用外加电源。 相对于之前其他沟通接口仅能传递信息资料,USB插槽本身还能提供5V的主动电压,及0.5A的电流,因此对于一些小型设备而言,可以不必再外接电源供应设备,就能直接利用来自USB插槽的电力顺利运作。利用这特点,也有厂商开发出适当的排线,将USB拿来当作供电插座般使用,例如作为移动电话的充电器,或是提供小型桌灯及电风扇等的电力需要,反而与原本用来连接电脑用的主要用途无关。 USB使用USB大容量存储设备标准实现Storage设备的连接。它最初被用于传统的磁盘和光盘驱动,但是现在已经扩展到支持大量不同的设备。 USB有一个非常重要的优点,那就是它能够在不关闭电脑主机电源的情况下动态的安装和删除USB设备,这使它成为一种有用的外部设备。 在市面也可以找到USB 3.0 Dongle此类小型可插拔式的移动设备,尺寸如同U盘一样迷你,有厂商推出USB接口的Wi-Fi/蓝牙无线Dongle,只要将此Dongle插入液晶电视上,即可透过无线连接方式,将用户手机、平板、笔电中的影片、照片分享到液晶电视上观看,市面上已有厂商将Android操作系统直接写入Dongle,成为多功能电视棒的产品。 相关存储产品包括:主机板、磁盘阵列卡、硬盘外接盒、磁盘阵列系统、NAS网路储存设备、硬盘外接座等等。 USB没有完全取代PS/2键盘鼠标接口,但目前许多主板都取消了PS/2接口。 使用专用键盘鼠标接口的苹果电脑1999年1月也开始使用USB接口。最初iPod只有IEEE 1394接口;后来在第三代的iPod,苹果电脑开始支持USB2.0连接,但是还不能用作充电;现在的iPod,已经全面兼容USB,抛弃IEEE 1394接口,只用USB接口充电以及连接电脑主机。 USB 0.7:1994年11月发布。 USB 0.8:1994年12月发布。 USB 0.9:1995年4月发布。 USB 0.99:1995年8月发布。 USB 1.0 RC:1995年11月发布。 1996年1月发布,数据传输速率为1.5Mbit/s和12Mbit/s。无预测及通过检测功能,Full-Speed也难以达成,仅极少数出现在市场上。 1998年9月发布,修正1.0版已发现的问题,主要是关于USB Hubs及Full-Speed,最早被采用的修订版。 USB 2.0:2000年4月发布。增加更高的数据传输速率480Mbit/s,但受限于BOT传输协议和NRZI编码方式,实际最高传输速度只有35MByte/s左右。USB 2.0中最重要规范的ECN可以在USB.org查到: Mini-A和Mini-B Connector ECN:2000年10月发布。规范Mini-A和Mini-B的插头及插座标准。注意不要与Micro-B插头及插座混淆。 Errata as of December 2000:2000年12月发布。 Pull-up/Pull-down Resistors ECN:2002年5月发布。 Errata as of May 2002:2002年5月发布。 Interface Associations ECN:2003年5月发布。添加新的描述符以便将多重接口关联在在单一设备功能中。 Rounded Chamfer ECN:2003年10月发布。一项针对Mini-B接口坚固性的建议性、兼容性改进。 Unicode ECN:2005年2月发布。这项ECN指定了字符串可以使用UTF-16LE编码。USB 2.0曾指定可以使用Unicode,但没有指定编码。 Inter-Chip USB Supplement:2006年3月发布。 On-The-Go Supplement 1.3:2006年12月发布。USB直连允许两个USb设备不经独立USB主机端直接相互通讯。实际使用中,是其中一个USB设备作为其它设备的主机端。 Battery Charging Specification 1.0:2007年3月发布。添加对充电器的支持,当供电端和电池连接时,它允许瞬间通过100 mA的电流。如果一个USB设备连接到专用充电器或主端口时,最大瞬间电流可达1.5 A。 Micro-USB Cables and Connectors Specification 1.01:2007年4月发布。 Link Power Management Addendum ECN:2007年7月释出。在启用与待机间增加新的电源模式。当设备处于这个模式时不向其发送指令以减少电源消耗。所以,在启用及睡眠模式间切换要比在启用及待机模式间切换快得多。 High-Speed Inter-Chip USB Electrical Specification Revision 1.0:2007年9月发布。 USB 3.0于2008年11月发布,速度由480Mbps大幅提升到5Gbps。USB 3.0插座通常是蓝色的,并向下兼容USB 2.0和USB 1.x。USB 3.0引入了全双工传输,USB 1.x和USB 2.0则是半双工传输。 USB3.0推广小组于2013年7月31日宣布USB 3.1规格,传输速度提升为10Gb/s,比USB3.0的5Gb/s快上一倍,并向下兼容USB 2.0/1.0,如果要得到10Gb/s的传输速度仍需在主机、目标端同时具备对应的芯片才能达成,电力供应可高达100瓦。 注意:在USB 3.1公布一段时间后,USB 3.0就更名为USB 3.1 Gen 1。 USB 3.2的主要技术要点: 在USB Type-C接口上实现双通道,USB Type-A和Type-B不支持双通道 继续使用现有的超高速USB物理传输率和技术 一些小的规范更新,确保单双通道无缝切换。 速度方面,使用USB 3.2主机连接USB 3.2存储设备,可以实现两条通道10Gbps的传输速度,理论上也就是相当接近于20Gbps。 USB 3.2向下兼容USB 2.0和USB 1.x。另外,从USB 3.2开始,Type-C是唯一推荐的接口方案。 USB 3.0的双通道模式,速度可达10Gbps。必须使用USB Type-C接口才能达到10Gbps的速度。 USB 3.1 Gen 2的双通道模式,速度可达20Gbps。必须使用USB Type-C接口才能达到20Gbps的速度。 USB4于2019年9月3日发布。 USB4项目集成Thunderbolt 3协议,现有USB 3.2及USB 2.0也向下兼容。 USB4支持40Gbps的传输速度,但达到40Gbps的速度要求USB资料线、产品支持USB4。Type-C是唯一推荐的接口方案。 USB On-The-Go是USB2.0规格的补充标准。它可使USB设备,例如播放器或手机,从USB周边设备变为USB主机,与其他USB设备连线通信。 USB Power Delivery是USB开发者论坛在2012年7月5日发布的USB充电标准与技术。 PictBridge标准可以使得消费者使用的图形设备彼此互通。一般它使用USB做为其底层通信协议。 微软的Xbox游戏主机和IBM的UltraPort均使用自身独有的专用接口,有别于标准的USB;不同的是,前者使用的是标准的USB 1.1信号格式,后者则使用标准的USB信号格式,而供电能力也更强。 开源项目USB/IP 实现了USB数据包的网络传送,逻辑上将USB数据线无限延长。同时配合无线路由器等手段,可以实现无线USB传输。 正在开发中的一种无线数据传输标准。设计标准:在3米内达到480Mbp的传输速率,在10米内达到110Mbps的传输速率。 ACCESS.bus RAID 硬盘外接座 闪存盘 USB Type-C USB PD 串行端口 IEEE 1394 平行端口 WUSB Wireless USB Promoter Group Lightning Thunderbolt 防呆 USB Implementers Forum. USB.org... USB Document Library. USB.org... Universal Host Controller Interface . Intel.. –通过mit.edu. USB 3.0 Standard-A, Standard-B, Powered-B connectors. Pinouts guide.. Muller, Henk. How To Create And Program USB Devices. Electronic Design. July 2012.. Garney, John. An Analysis of Throughput Characteristics of Universal Serial Bus. June 1996.. Hershenhoren, Razi; Reznik, Omer. USB 2.0 Protocol Engine.