一、USB2.0规范
USB是英文Universal Serial Bus的缩写,中文含义是“通用串行总线”。它是一种应用在PC领域的接口技术,是由Intel、NEC、Compaq、DEC、IBM、Microsoft、Northern Telecom联合制定。不过USB不属于总线标准,而是电脑系统与外围设备连接的输入/输出接口标准。USB通过一个4针的标准插头,采用菊花链形式把所有的外设连接起来,理论上USB可以挂接127台设备。USB系统的硬件部分一般由3个部分组成:USB主机控制器/根集线器、USB集线器、USB设备。
小知识:每个USB设备使用7bit的数据来定址,2的7次方为128,减去主机占用的00地址,最多支持127个设备。当然127个只是个理论值,实际上并不一定能达到,目前一般只能连接111个外设。
目前,USB的规格主要有V1.1和V2.0。二者相比,USB2.0除了拥有USB1.1中规定的1.5Mbps和12Mbps两个传输模式以外,还增加了480Mbps高速数据传输模式(注:第二版USB2.0的传输速率将达800Mbps,最高理想值1600Mbps)。虽然USB2.0的传输速度大大提升了,但其工作原理和模式是完全与USB1.1一样的,而提高到480 Mbps的传输速度的最关键技术就是提高单位传输速率:USB1.1的单位数据传输时间是1毫秒,而USB2.0的单位数据传输时间则达到了125微秒。
同时USB2.0采用向下兼容设计,USB2.0中的“增强主机控制器接口”(EHCI)定义了一个与USB1.1相兼容的架构,采用了一组通讯协议的延伸技术与针对连结端口研发的全新硬件组件:传输转译器。传输转译器的缓冲存储器,可以利用全速与低速传输装置进行存取,直接与连结埠进行连结传输。这样它可以用USB2.0的驱动程序驱动USB1.1设备来实现向下兼容功能。不过USB2.0 HUB并不像USB1.1 HUB那样可以直接利用12Mbps的传输速率来进行数据传输,这里要经过识别、转换过程:即USB2.0 HUB首先辨别所插入的USB设备具体是USB1.1还是USB2.0,如果使用的是USB1.1设备,则要将USB2.0的480Mbps转换成USB1.1的12Mbps。
小提示:USB2.0的最高传输速率为480Mbps,即60MB/s。不过,大家要注意这是理论传输值,如果几台设备共用一个USB通道,主控制芯片会对每台设备可支配的带宽进行分配、控制。如在USB1.1中,所有设备只能共享1.5MB/s的带宽。如果单一的设备占用USB接口所有带宽的话,就会给其他设备的使用带来困难。这有点类似于共享上网的情况。
二、IEEE 1394规范
1987年,Apple公司在SISI接口的基础之上推出了一种高速串行总线──Fire Wire,希望能取代并行的SCSI总线。后来IEEE联盟在此基础上制定了IEEE 1394标准(SONY称为i.Link)。
IEEE 1394采用菊花链式配置,也允许采用树形结构配置,不过仍是以线性连接菊花链组成树形结构的各种线性分支。IEEE 1394总线也需要一个主适配器和系统总线相连。通常我们将主适配器及其端口称为主端口。主端口是IEEE 1394总线树形配置结构的根节点。一个主端口最多可连接63台设备,这些设备称为节点,它们可构成亲子关系(如图),两个相邻节点之间的线缆最长为4.5m,但两个节点之间进行通信时中间最多可经越15个节点的转接再驱动,因此通信的最大距离是72m,线缆不需要终端器。
与USB不同的是,IEEE 1394标准接口结构的所有资源都是以统一存储编址形式,并用存储变换方式识别,实现资源配置和管理。因此从这种意义上来说,IEEE 1394可以看做等同于PCI总线的总线体系结构。此外与USB相比,IEEE 1394具有支持同步和异步传输的特点。异步传输是传统的传输方式,它在主机与外设传输数据的时候,不是实时地将数据传给主机,而是强调分批地把数据传出来,数据的准确性却非常高,这是它的主要特点。而同步传输则强调其数据的实时性,利用这个功能设备可以将数据直接通过IEEE 1394的高带宽和同步传输直接传到电脑上,从而少了以往的昂贵缓冲设备。这也是数码摄像机一直采用IEEE 1394作为标准接口的原因之一。
目前IEEE 1394只有两种规格。一种是IEEE 1394a,是目前的主流规格,主要支持两种模式──Backplane模式和Cable模式,其中Backplane模式只支持12.5Mbps、25.5Mbps或50Mbps的传输速率,而Cable模式则提供了我们需要的100Mbps、200Mbps和400Mbps。不过,IEEE 1394的传输速度是遵守从低原则:由于其在同一网络里数据可以使用不同的速率进行交换,但如果两个传输速率为400Mbps的设备中间加入了一个200Mbps的设备,数据的传输速度则会以200Mbps为准。另一种是IEEE 1394b,这是为下一代PC所制定的标准,它将由IEEE 1394a的400Mbps直接扩大到800Mbps和1600Mbps,如果使用光纤的话,最高传输速率提高到了3.2Gbps。此外与IEEE 1394a相比,IEEE 1394b使用连接距离达到100米(注意:这要以降低传输速率为代价,此时传输速率将减低到100MB/s)及提供内部设备供电解决方案。除此之外,IEEE联盟在IEEE 1394b规格中又引入了一种称为“Betamode”的新物理层配置,用来提高IEEE 1394b系统的管理能力。
三、谁胜谁负
1.成本高低
在成本方面,USB2.0较占优势。因为目前的主板芯片组中都内建了USB主控制器,并且目前大多数外设都以USB接口为标配。因此用户基本上不需要再投入其他费用,就可以享受USB所带来的便利。而对于IEEE 1394来说,IEEE 1394控制器的结构较复杂,要想将它集成进主板芯片组中,无论在技术上还是在成本上都有一定难度,所以目前市面上几乎很少有集成IEEE 1394控制器的芯片组。要想实现IEEE 1394功能,除了主板以集成附加芯片的形式提供外,我们一般只能通过插接IEEE 1394扩展卡来实现,这样直接导致的的结果就是使用成本上升了。
2.易用性
在易用性方面,IEEE 1394则占优势。虽然这两种规范都支持热拔插功能,USB2.0在操作系统方面,需要Windows XP SP1才能提供支持(注:虽然Windows 2000/XP都对USB提供了支持,但此时只支持USB1.1标准,因此USB2.0的传输速率大打折扣,而在Windows2000以下版本的操作系统则需要安装驱动才能使用)。而从Windows 98开始,便提供了对IEEE 1394的全力支持,安装IEEE 1394无须任何驱动便可以使用,这点USB2.0完全比不上。而且IEEE 1394支持点对点的功能,如果两台电脑相连,我们也不必对计算机进行IP或任何设置就可以直接使用。此外,USB2.0只提供了5V的直流电压和0.5A的电流,虽然对于一般的设备来说已经够用了,不过如果是像外置刻录机、MO驱动器和打印机等耗电比较大的设备时,就必须外接电源才能使用;而IEEE 1394提供了8V~40V的电压及5A的电流,理论上最大可以提供200W(40V×5A)的功率,远远高于USB2.0(如果要达到如此高的功率需要更为强劲的电源,不过只有在串连很多IEEE 1394设备的情况下才会用到这么高的电力。有谁会一下子使用如此多的IEEE 1394设备呢?)。
3.传输速度
虽然USB2.0可以提供480Mbps,略高于IEEE 1394a提供的400Mbps,那么是否意味着USB2.0更具优势呢?答案是否定的。在一般情况下,USB2.0的实际传输速度只有USB1.1的2~13倍,远远达不到其理论值,而且如果几台设备共用一个USB通道,主控制芯片会对每台设备可以支配的带宽进行分配、控制,这时的传输速度就更低了。而目前主流的IEEE 1394a则很少存在这种情况。从相关的对比测试来看(见表),IEEE 1394a在突发传输率、平均读速率/写速率、工作站性能、文件拷贝速率等方面都要远优于USB2.0,可以想象IEEE 1394b的优势将更为明显。不过,IEEE 1394有一个缺点,就是IEEE 1394总线需要占用大量的资源,因此要让其达到最佳传输速率需要高速CPU来配合。
可以说,IEEE 1394从性能、应用面来说都比USB2.0较具优势。但由于IEEE 1394最先的定位是在多媒体应用这方面,与USB的大众化路线不一样,所以IEEE 1394的设备相对于USB设备会贵很多,加上IEEE 1394还要收高额的专利费,造成了使用成本居高不下。这是IEEE 1394的最大弱点。但随着未来芯片组整合IEEE 1394控制器,相信这个问题将有所缓解。此外值得注意的是:IEEE 1394由于使用非主从架构的设计模式,周边设备毋需通过电脑即可采用点对点相互传输资料,这是USB2.0所不能比的,这也是IEEE 1394存在的主要空间。
因此未来一段时间内,IEEE 1394和USB2.0这二种接口标准仍将并。