USB通用串行总线接口综述(第1稿)南京大学计算机系俞建新2001年7月29日2020/7/11南京大学计算机系俞建新2目录一、USB的由来二、USB的基本特点三、USB的体系结构概述四、USB的同类产品—IEEE1394五、USB的今后发展六、USB设备使用知识2020/7/11南京大学计算机系俞建新3一、USB的由来USB(UniversalSerialBus)是由Compaq、HP、Intel、Lucent(朗讯)、Microsoft、NEC和Philips七家公司联合推出的新一代标准接口总线。该总线是一种连接外围设备的机外总线,最多可连接127个设备,为微机系统扩充和配置外部设备提供了方便。USB规范有多种版本,最早的版本是1994年11月推出的USB0.7版。1996年1月推出了标准版本USBl.0,目标是为中低速的外围设备提供双向、低成本的总线,数据传输率最高为12Mb/s。YUJIANXIN:马鸣锦P3242020/7/11南京大学计算机系俞建新4USB新规范—USB2.0随着微机系统及其外设性能和功能的增强,需处理的数据量越来越大,2000年4月又推出了新的USB规范—USB2.0。在新版本中,增加了一种480Mb/s的数据传输率,以满足日益复杂的高级外设与PC机之间的高性能连接需求。USB2.0是USB的自然升级,它在保留原有USB规范的基础上又提供了更高的带宽,并且与现有的外设保持完全兼容。YUJIANXIN:马鸣锦P3242020/7/11南京大学计算机系俞建新5PC机的主要外设总线回顾串行总线RS232(1969年,EIA颁布)IEEE1394(1995年,IEEE颁布)USB(1994年,七家公司联合推出)并行总线STD(8位,Pro-Log公司1978年推出)ISA(16位,IBM公司1984年推出)EISA(16位,Compaq等公司1989年推出)PCI(32位,1992年Intel倡导下推出1.0版)2020/7/11南京大学计算机系俞建新6USB基本概念(1)近年来USB技术已经成为了计算机领域发展最快的技术之一,并为越来越多的个人计算机界人士所接受。Windows98的问世,使USB的操作系统支持问题得到了解决。从此各种USB设备不断涌现。可以认为在Windows98操作系统推动下,带来了USB技术的飞速发展和普及。现在,不管买什么样的个人电脑,你都能找到USB端口。USB技术并不仅限于PC行业,现在每一个计算机硬件的生产商都在尝试在他自己的平台上应用USB技术。YUJIANXIN:张念淮P32020/7/11南京大学计算机系俞建新7USB基本概念(2)我们通常所用的鼠标和调制解调器都是连接在串口上的。但USB并不完全是一个串口,它实际上是一种串行总线。这意味着你的机箱后盖上的USB端口可以连接许多设备,这些设备可以相互连接在一起。而且不同类型的设备组成可以通过一种称为USB集线器的硬件分离开来,这些都是与传统的串口上只能链接一个设备有着本质区别的。USB用来把串口、并口等不同的接口统一起来,使用一个4针插头作为标准插头。通过这个标准插头,采用菊花链形式(星型结构)可以把所有的外设连接起来,并且不会损失带宽。YUJIANXIN:张念淮P32020/7/11南京大学计算机系俞建新8USB基本概念(3)今后USB将取代当前PC上的串口和并口。当我们提到USB时,与其将它想象成一个串口,还不如将它想象成一个连接有不同设备的网络,就像我们所熟悉的以太网一样。给出了一个典型的USB设备网络配置的示意图。YUJIANXIN:张念淮P32020/7/11南京大学计算机系俞建新9典型的USB配置图2020/7/11南京大学计算机系俞建新10二、USB的基本特点与传统的总线接口相比,USB有以下七方面的优点。下面分别介绍。2020/7/11南京大学计算机系俞建新11USB总线的主要性能特点(1)每个USB系统中有一个主机,采用“级联”方式USB总线可连接多个外部设备。每个USB设备用一个USB插头连接到上一个USB设备的USB插座上,而其本身又提供一或多个USB插座供下一个或多个USB设备连接使用。这种多重连接是通过集线器Hub来实现的,整个USB网络中最多可连接127个设备,支持多个设备同时操作。YUJIANXIN:马鸣锦P3242020/7/11南京大学计算机系俞建新12USB总线的主要性能特点(2)USB提供机箱外的热即插即用功能,连接外设不必再打开机箱,也不必关闭主机电源,USB可智能地识别USB链上外围设备的动态插入或拆除,具有自动配置和重新配置外设的能力,因此连接设备方便。YUJIANXIN:马鸣锦P3242020/7/11南京大学计算机系俞建新13USB总线的主要性能特点(3)适用于带宽范围在几千位/秒(Kb/s)—几百兆位/秒(Mb/s)的设备。USB总线既可连接键盘、鼠标、摄像头、游戏设备、虚拟现实外设这样的低速设备,也可连接电话、声频、麦克风、压缩视频这样的全速设备,还可连接视频、存储器、图像这样的高速设备。此外,USB总线还允许复合设备(即具有多种功能的外设)连接到PC机。YUJIANXIN:马鸣锦P3242020/7/11南京大学计算机系俞建新14USB总线的主要性能特点(4)低成本的电缆和连接器。USB通过一根四芯的电缆传送信号和电源,电缆长度可变,可长达5m。USB统一的4针插头将取代机箱后部众多的串行口、并行口、键盘接口等插头。USB具有错误检测和处理机制,可识别设备的错误。较低的协议开销带来了高的总线性能,且适合于低成本外设的开发。支持主机与设备之间的多数据流和多消息流传输,且支持同步和异步传输类型。YUJIANXIN:马鸣锦P3242020/7/11南京大学计算机系俞建新15过去接口方案存在缺点今天的微型计算机上所使用的大多数外围设备仍然是基于接口实现的,这些接口最早由IBM公司在20世纪80年代早期设计。这些接口的设计有很多缺陷,它们不仅给设计者带来了许多麻烦,而且也给用户带来诸多不便。下面我们将对这些缺点进行总结和回顾。在这个过程中我们将会注意到:这些缺点中的很多直接导致了人们需要更好的解决方案来实现外围设备与计算机之间的连接。YUJIANXIN:《USB系统体系》P22020/7/11南京大学计算机系俞建新16PC的I/O模式的缺点下图表示了传统的I/O模式,在那里外围设备通常被映射为CPU的I/O地址空间,并且被分配一个指定的IRQ(中断请求),在某种情况下它们也可以是一个DMA通道。这些系统资源被分配给指定的外围设备,这些地址的分配通常是由IBM公司和其他设备制造商指定。而且在事实上,这种地址分配方法已经成为一种标准。软件开发者要利用这些关于中断请求和DMA通道的信息对指定的设备进行访问。YUJIANXIN:《USB系统体系》P32020/7/11南京大学计算机系俞建新17传统外围设备所用的系统资源YUJIANXIN:《USB系统体系》P3I/O地址空间应用程序或者操作系统游戏端口(游戏杆)并行端口(打印机)串口(绘图仪)串口2(调制解调器)键盘(鼠标)声卡Slave8259A可编程中断控制器Master8259A可编程中断控制器IRQ8IRQ9(IRQ2)IRQ10IRQ11IRQ12IRQ13IRQ14IRQ15IRQ0IRQ1IRQ3IRQ4IRQ5IRQ6IRQ7CPU中断传统外围设备所用的系统资源示意图2020/7/11南京大学计算机系俞建新18中断在大多数情况下,许多关键的系统资源问题都涉及到中断请求分配,因为PC上所用到的很多设备都要求使用中断。这一点对于那些通过ISA总线和PC相连的外围设备来说尤其是这样,因为ISA总线不能可靠地支持共享式中断。下表列出了每个IRQ以及使用每个IRQ的典型设备。从这个表中我们可以看到,很多IRQ指定给特定的设备,这种做法完全是出于传统的考虑。但是还有一些IRQ可以被很多种外围设备使用。基于PCI总线的系统也包括ISA或EISA两种总线。YUJIANXIN:《USB系统体系》P32020/7/11南京大学计算机系俞建新19典型的设备占用中断情况表2020/7/11南京大学计算机系俞建新20I/O地址和非共享式接口在PC的环境中,I/O地址冲突是十分常见的。注意外围设备通常需要大块的I/O地址单元,这样他们才能够报告设备的状态信息并且给设备发送命令。尽管x86处理器有能力访问64KB的I/O地址单元,但是传统的扩展卡通常只能对16条地址线中的10个进行解码。这就导致了最多只能有1KB的地址空间块可以被ISA的扩展卡所使用。标准PC的外围设备接口支持单个设备的连接。由于在一个给定的时刻只有一个外围设备可以连接,这样,连接的灵活性就被最小化。由于这个限制,所以通常是做一块专用的扩展卡插到扩展总线上,通过它来为新的外围设备建立一个连接点,但是这种做法相对来说成本比较昂贵。YUJIANXIN:《USB系统体系》P42020/7/11南京大学计算机系俞建新21终端用户遇到的问题种类繁多的数据线扩展卡的安装和配置外围设备不能热插拔成本YUJIANXIN:《USB系统体系》P52020/7/11南京大学计算机系俞建新22三、USB的体系结构概述我们讨论USB的以下几个方面系统描述物理接口电源总线协议健壮性系统配置数据流类型YUJIANXIN:马鸣锦P325-P3302020/7/11南京大学计算机系俞建新233.1USB系统描述一个USB系统由三部分来描述:USB主机、USB设备和USB互连。USB设备USB设备分为Hub(集线器)和Function(功能)两大类。USB主机在任一USB系统中只有一个主机。到主计算机系统的USB接口被称作主机(主控制器)。USB互连USB互连指的是USB设备与主机的连接和通信方式,它包括总线拓扑结构、内层关系、数据流模型和USB调度表。YUJIANXIN:马鸣锦P3252020/7/11南京大学计算机系俞建新24USB总线拓扑结构2020/7/11南京大学计算机系俞建新253.2USB物理接口USB总线的电缆有4根导线一对标准尺寸的双绞信号线和一对标准尺寸的电源线USB总线支持的数据传输率有三种:高速信令位传输率为480Mb/s;全速信令位传输率为12Mb/s;低速信令位传输率为1.5Mb/s。USB2.0支持在主控制器与Hub之间用高速传输全速和低速数据,而Hub与设备之间以全速或低速传输数据,参看下图。YUJIANXIN:马鸣锦P3262020/7/11南京大学计算机系俞建新26USB电缆示意图2020/7/11南京大学计算机系俞建新273.3电源USB的电源规范包括两个方面:电源分配用来处理USB设备如何使用主机通过USB总线提供的电源。电源管理用来处理USB系统软件和设备如何适应主机上的电源管理系统。2020/7/11南京大学计算机系俞建新283.4总线协议USB是—种查询(Polling)总线,由主控制器启动所有的数据传输。USB上所挂连的外设通过由主机调度的(Host-Scheduled)、基于令牌的(Token-Based)协议来共享USB带宽。主机与设备端点之间的USB数据传输模型被称作管道,管道有两种类型:流和消息。消息数据具有USB定义的结构,而流数据没有。YUJIANXIN:马鸣锦P3272020/7/11南京大学计算机系俞建新29总线协议(续)管道与数据带宽、传输服务类型、端点特性(如方向性和缓冲区大小)有关。当USB设备被配置时,大多数管道就形成了。一旦设备加电,总是形成一个被称作缺省控制管道的消息管道,以便提供对设备配置、状态和控制信息的访问。YUJIANXIN:马鸣锦P3272020/7/11南京大学计算机系俞建新303.5健壮性(Robustness)USB采取以下措施提高它的健壮性:采用数据管道和控制管道结构,以保证功能之间的独立性。使用差分驱动器和接收器以及屏蔽保护,以保证信号的完整性。控制域和数据域的CRC保护校验。连接和断开检测及系统级资源配