新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > USB数据流的模式与管线的概念

USB数据流的模式与管线的概念

作者:时间:2011-07-15来源:网络收藏
在USB规范标准中也定义了两种外围设各:①单机设备,如鼠标等;②复合性设备,如数码照相机和音频处理器共享一个USB通信端口等。每个接口设各都具有“端点(endpoint)”地址,它是由令牌封包内的4位字段(ENDP)所构成的。而主机与端点的通信,是经过“虚拟管线(virtual plpe)”所完成的。而一旦虚拟管线建立好之后,每个端点就会传回“描述(descriptor)”此设备的相关信息(即描述符)给主机。这种“描述”信息内含了:群组特性、传输类别、最大封包大小与带宽等关于此外围设备的重要信息。目前USB的数据传输类别有4种类型:控制、中断(interrupt)、批量(bulk)与等时(1-sochronous)。稍后的章节中,将会对传输类型与描述符做更深人的说明。

USB对于与设各之间的通信提供了特殊的协议。虽然USB系统的总线是呈阶梯式星形的结构,但实际USB主机与设备的连接方式却是如图1所示的一对一形式,用户称之为USB设各的逻辑连接;而数据流的模式则是以这些逻辑连接为基本的架构。

  图1 USB设备的逻辑连接   

对于USB的通信,用户可以将其视为一种虚拟,如图2所示。在整个USB的通信中包含了一个大的虚拟管线(12 Mbps)以及高达127个小的虚拟管线,而每一个小的虚拟管线可比拟为USB的设各。这是由于在USB令牌封包中都含有7个用来寻址的位(位于令牌封包的地址数据域ADDR),因此最多可寻址到128个设各。但是由于地址0是预设地址,且用来指定给所有刚连上的设各,这也就是为什么USB总线上最多能连接到127个设备的原因。

  图2 虚拟   

每一个连接到设备的小虚拟管线又可再细分为许多的微虚拟管线。这些微虚拟管线可比拟为端点(endpoint)。由于在令牌封包中,包含了4个位的端点地址(位于端点数据域,ENDP)以及一个位于端点描述符中的输人/输出方向(IN/OUT)位,所以在一个单独的小虚拟管线内最多可再分割成16组微虚拟管线(端点),也就是可对16个输人/输出的端点(共32个端点)寻址,并可将USB的令牌封包中定义为IN(设备至主机)或OUT(主机至设备)两类型令牌封包。如果设备收到了一个IN令牌封包,它将会传送数据给主机;反之如果收到了一个OUT令牌封包,则它将会从主机接收到数据。当然,如图2所示的架构是一种“虚拟”的,用户需要有一点想像的空间   这种端点(或微虚拟管线)的概念非常重要,对于全速或高速的设备而言,更是这样。



评论


技术专区

关闭