首页 理论教育 通用设备总线应用于微型计算机原理

通用设备总线应用于微型计算机原理

时间:2023-11-03 理论教育 版权反馈
【摘要】:与此同时,在In-tel和微软倡导下,同样支持热插拔和即插即用的通用串行总线也在1996年公布了其1.0版标准规范,从而形成了USB和IEEE 1394两种高速串行通用设备总线竞争市场的格局。等到苹果公司调整策略意图重占市场的时候,USB已经成为了微机中通用设备总线的事实标准。但是这两种通用设备总线在体系结构上非常接近,而且IEEE 1394的使用范围也相对较窄,本节中将以USB为主介绍当前的通用设备总线技术。

通用设备总线应用于微型计算机原理

虽然由于成本和售价居高不下,SCSI试图成为通用设备总线的努力最终归于失败,但是在20世纪90年代初的几年里,随着多媒体和网络技术的不断发展,外围设备的种类不断增加,以及外设对传输速率要求的不断提高,微型计算机高速、廉价和热插拔的通用外围设备总线的需求越来越迫切。这种迫切的需求直接带来了两种现在非常常见的通用外部总线技术——USB和IEEE 1394。

1986年,苹果公司非常有远见地开始了一种高速串行外围设备传输协议的开发工作并将其命名为火线(FireWare)。1995年,该技术被IEEE批准为标准,即IEEE 1394。IEEE1394使用了分层协议,定义了由物理层链路层事务层组成的体系结构,并使用成熟的SCSI命令集为基础,形成了一套基于差分信号的高速串行外设传输协议。与此同时,在In-tel和微软倡导下,同样支持热插拔和即插即用的通用串行总线(Universal Serial Bus,USB)也在1996年公布了其1.0版标准规范,从而形成了USB和IEEE 1394两种高速串行通用设备总线竞争市场的格局。

虽然同样使用半双工串行差分传输,但是从技术上来讲IEEE 1394明显比USB技术更加先进和稳定。一方面,IEEE 1394使用成熟的SCSI命令集为基础,并使用对称的无中心结构,传输的稳定性和架构上的扩展性要优于USB;另一方面,IEEE 1394在传输率上也高于USB,在2000年USB2.0公布之前,USB总线所能够提供的最高传输率只有USB1.1规定“全速(Full-Speed)”的12 Mbit/s,而1995年所发布IEEE 1394标准中就已经规定了高达400 Mbps的最高传输速率。看起来IEEE 1394战胜USB已经成为必然,但是市场的反应却令人们大跌眼镜。USB的市场占有率节节攀升,各种外围设备迅速推出USB接口的版本,USB迅速一统江湖成为了实际的胜利者,而占领了技术和标准两个制高点的IEEE 1394技术仅仅在DV传输以及一些对稳定性要求特别高的场合(如军事设备)中获得了优势。

究其原因,USB的成本优势在其中起到了关键作用。在当时,除了一些特殊的应用场合,大部分外围设备,如键盘、鼠标、摄像头、打印机等对于传输率的要求并不是很高,USB 1.1所规定的12 Mbit/s对于这些设备已经绰绰有余,IEEE 1394的100 Mbit/s~400 Mbit/s传输率对于这些设备来讲并没有优势可言。为了实现如此高的传输率,IEEE 1394接口不可避免地在实现成本上要高于USB接口,而这直接导致IEEE 1394接口的设备在价格上的劣势。与此同时,苹果公司也出了昏招,在性能和标准双重优势的情况下,苹果公司狮子大开口地要求每生产一个IEEE 1394接头必须付给其1~2美元的许可费用,这直接导致了大部分公司对IEEE 1394的抵制。借此机会,Intel和微软力推其USB标准,在微机中普及了USB接口,迅速占领了市场。等到苹果公司调整策略意图重占市场的时候,USB已经成为了微机中通用设备总线的事实标准。IEEE 1394虽然具有更好的性能(如最高可达3.2 Gbit/s的传输率),但是只能作为某些领域(如数字视频)的特殊标准而存在了。

虽然USB和IEEE 1394在某些地方有些不同,比如USB在连接时必须有一台微机作为其主控设备,并通过Hub实现互联,而IEEE 1394则没有主机(控制器)的要求,互联也不需要使用Hub。但是这两种通用设备总线在体系结构上非常接近,而且IEEE 1394的使用范围也相对较窄,本节中将以USB为主介绍当前的通用设备总线技术。

USB最早作为一个标准提出是在1994年11月,当时的版本为0.7,1996年1月,USB标准的第一个正式版本1.0正式公布。1.0版本的USB标准规定了两种不同的传输速率,分别被称作“低速”(Low-speed)和“全速”(Full-speed)。其中“低速”最大带宽为1.5Mbit/s,“全速”的最大带宽也只有12Mbit/s。虽然对于诸如键盘、鼠标、游戏杆这类外设来讲这个传输率已经足够,但是对于诸如大规模存储设备、网络设备等需要更高传输率的外围设备这个数值就显得有些不够了。于是在1998年发布以修正问题为主的USB 1.1标准之后,2001年底所发布的USB 2.0标准在保持和1.1标准向下兼容的基础上定义了一个被称为“高速”(Hi-speed)的传输速率,该传输速率的最大带宽达到了480 Mbit/s,基本上满足了各种外围设备的带宽需求,为USB成为通用设备总线的事实标准打下了良好的基础。目前,USB可以连接的外设有鼠标、键盘、游戏手柄、游戏杆、扫描仪数码相机、打印机、硬盘和网络部件等。由于大大简化了与计算机的连接,USB也逐步取代并口成为打印机的主流连接方式。对于类似数码相机这样的多媒体外设,USB已经是默认接口。事实上,USB已经成为微型计算机外设连接的第一选择。

USB的设计为非对称式的,它由一个主机控制器和若干通过集线器设备以树形连接的设备组成(见图7-52)。一个控制器下最多可以有5级Hub,因为在设计时是使用7位寻址字段,包括Hub在内,最多可以连接27=128个设备。经常提到的USB连接设备数最多127个是因为在连接时需扣除一个连接主机的USB地址编码(这个编码一般为0)。一台计算机可以同时有多个USB主机控制器,但是这种情况并不多见,因为当前微型计算机所连接的外设数量通常不会达到USB所规定的127个的上限,不需要使用多个主机控制器来提供更多的设备连接能力。

978-7-111-46342-9-Chapter07-241.jpg

图7-52 USB的基本拓扑结构(www.xing528.com)

在主机控制器的控制之下,USB设备之间通过点到点的传输通路进行USB分组(USB Packet,又译作USB包)的传输与交换,从而完成数据的传输工作。USB定义了一系列的分组,包括握手包、令牌包、数据包等,不同的分组代表不同的含义。每一次总线的传送由三个分组组成。

①由主机发出的令牌包,内含USB设备地址,读/写操作方式等。

②通过地址译码,被选中的USB设备接收(写)或发送(读)数据包,这是信息传输实体内容。

③接收数据包方发出的握手包,表示传输的正确与否。

USB各种包传送时,都采用了信息的CRC校验方式,通过CRC校验,主机或目的设备都能判断包内容的正确与否,作出相应的处理。

在物理层,USB使用一对半双工差分信号传输以NRZI(翻转不归零制,电平保持时传送逻辑1,电平翻转时传送逻辑0)方式进行编码的数据,这对差分信号被命名为D+和D-,一般由一对双绞线承载。除此之外USB连接线缆还提供一条+5 V的电源线和一条地线,用来为一些小型设备(如优盘、鼠标等)提供电流不超过500 mA的电源供应(USB2.0规范的规定)。在2008年公布的USB 3.0标准规范中,为了实现其最高达5 Gbit/s速率的全双工传输,在保持和USB 2.0向下兼容的基础上增加了5个新的连接,从而使得USB3.0定义的信号达到了9个(同时其编码也由NRZI改成效率更高的8B/10B编码)。但是,到目前为止,由于成本上的原因,USB 3.0设备仍然不多,USB 2.0仍然是市场上的主流。

由于USB使用非对称式的拓扑结构,传输只能在一个主机控制器的控制下完成,在没有计算机的情况下,缺乏主机控制器将导致其他USB设备之间,尤其是便携式USB设备之间无法进行数据传输,这就带来了一些不方便。为了解决这个问题,USB-IF(USB实现者论坛,USB Implementers Forum,USB标准的制定者)在2001年制定了USB On-The-Go,作为USB 2.0的补充标准。USB On-The-Go简称USB OTG,它定义了能够负担一定主机控制器功能的两用OTG设备(Dual-role Device),并为其定义了更具节能性的电源管理策略。这样在没有微型计算机的情况下,两用OTG设备就可以在一定程度上负担起主机控制器的角色,实现便携设备之间的数据传输。类似地,为了满足从数码相机直接通过打印机打印数字图像的需求,照相机影像机器工业会(CIPA)在USB的基础上提出了一个用于直接打印的工业标准,被称作PictBridge,该标准以USB为传输介质,也可以被视为USB的一个特殊应用。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈