数据通信
通用串行总线(USB)是自1997年末开始为PC主板所采用的一种开放接口标准。1998年,推出了仅有两个I/O接口,即USB及以太网接口的Apple iMac。最初的USB标准(1.0及1.1)支持的最大传输率为每秒1M字节,净传输速率达12 Mbps。Windows 98是最先支持USB的操作系统,它内置了各种设备的驱动程序,其中包括鼠标、键盘及扬声器。
ISO传输的特点
USB支持两种类型的数据传输:大数据块(bulk)传输方式,对不能容差的数据进行移动;同步(isochronous,ISO)传输方式,对不允许时延的数据进行移动。数据块传输可确保数据能可靠传输,不会丢失或干扰数据,但不能确保给定时间内的数据传输量。在没有其他数据流量时,块数据即指那些仅使用总线的填充数据。同步传输是以主机PC与设备相互协调确定的速率来进行的,但数据可能会受到干扰,而且不能持续传输。
选择同步传输还是选择块数据传输是非常简单的。如果数据的完整性是最重要的,就采用块数据传输;但如果准时传输数据比准确率更重要的话,还是选择ISO传输。虽然乍看起来选择ISO并不合乎逻辑,因为ISO是用准时发送的受干扰数据来代替晚发的正确数据,但在某些不能及时传送数据的区域可能会存在数据根本不能到达的情况。电话里的音频流就是一个简单例子,丢失了几小片数据总比让受话方一直落后乃至不能赶上要好。在视频中也是如此,用户还是宁愿选择丢失一个帧以保持图像的实时传输。
USB带宽被分为每秒1000帧。USB 1.1中的同步传输限制在每个帧的每个设备端点传输一个数据包。最大的包大小为1023字节,每秒总数据传输率为1 Mbps。USB 2.0不仅将数据率提高到480 Mbps,还将每个帧分成8个微帧,以降低对设备缓存的需求。USB 2.0还将每个设备的每个微帧1024字节的包容量扩大到3个数据包的容量。这样USB 2.0中ISO数据率从1 Mbps提高到24 Mbps (每秒1000帧 × 每帧8微帧 × 每微帧3个数据包 × 每数据包1024字节)。
图1 应用带宽分析图
ISO传输的应用
USB 2.0高速ISO推出后支持的最佳产品便是并不昂贵的摄像机。USB摄像机早已问世,但全速USB的带宽限制令人们对图像的分辨率及帧速率大失所望。全速USB摄像机的带宽仅能以每秒5帧的速度传输未压缩CIF (352 × 288)视频。该设备需占用90%以上的带宽,而这个带宽是系统内所有USB设备共享的。而通过高速ISO,相同摄像机可以每秒30帧的速度工作,仅占用可用带宽的10%。作为一个实例,该技术已在DV(数码视频)摄像机中得到了应用,以每秒4.5Mbyte的恒定速率传输复合视频和音频。高速ISO功能在这类领域中完全游刃有余。图1所示为各类流协议所需带宽与USB1.1全速及USB2.0高速所能利用的ISO带宽的对比情况。
USB的作用并非在数据到达CPU时即告终止。USB 2.0还可以将数据由CPU传输到外部硬盘、DVD-RAM或CDRW驱动器等存储设备中。如今采用USB 2.0标准的大量数据存储设备的运行速率已高达20 Mbps,并且有望继续提高。
Windows支持的USB基于分层结构,可使所需的常规设备驱动降至最少,甚至无需常规设备驱动。分层结构的最底层是USBD,即通用串行总线驱动。位于USBD之上的是类驱动(class drivers),这种驱动对于具有类似特性的设备是通用的。要支持ISO,类驱动必须采用流类驱动程序(Stream Class Driver,stream.sys)。音频和视频驱动则位于stream.sys之上。Windows 98包含了对于音频设备的支持,而Windows 2000、ME和XP则通过减少其他操作系统任务延迟音频数据的可能性增强了这种支持功能。Windows(r) 2000、ME和XP还增加了某些支持数码视频相机的功能。USB 2.0高速设备可利用流驱动获得高达24 Mbps的带宽。
支持USB 2.0规范的PCI主机已在今年四月投放在零售市场上。支持USB 2.0新标准的微控制器现在也已开始发售。例如Cypress的EZ-USB FX2(tm),这是一种兼容USB 2.0规范,并能以高达每秒24Mbyte的持续速率进行ISO传输的8位微控制器。该器件采用了灵活的外部接口,从而便于与诸如摄像机ASIC(专用集成电路)等等的多媒体数据源相连接。该器件的开发工具包中包括了一些固件和驱动程序范例,这有助于推动ISO的开发,并能够加快和保证高效的开发速度。而另一种名为ISD-300的USB 2.0器件使生产商能够设计出实际运行速率比共享IDE控制器的驱动器更快的外部CDRW和DVD驱动器。
全部0条评论
快来发表一下你的评论吧 !