Chinaunix首页 | 论坛 | 博客
  • 博客访问: 201704
  • 博文数量: 45
  • 博客积分: 945
  • 博客等级: 准尉
  • 技术积分: 360
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-19 10:36
文章分类

全部博文(45)

文章存档

2016年(1)

2015年(1)

2014年(2)

2013年(4)

2012年(8)

2011年(29)

我的朋友

分类: IT业界

2011-04-07 10:11:33

     管道是对主机和usb设备间通信流的抽象。
     管道和usb设备中的端点一一对应,一个usb设备含有多少个端点,其和主机进行通信时就可以使用多少条管道,且端点的类型决定了管道中数据的传输类型。
开的端点数是由软件决定的,所以管道自然也是软件决定的咯。
 
 
       端点: 每一个USB设备在主机看来就是一个端点的集合。主机只能通过端点与设备进行通讯,以使用设备的功能。每个端点实际上就是一个一定大小的数据缓冲区,这些端点在设备出厂时就已定义好。在USB系统中每一个端点都有唯一的地址,这是由设备地址和端点号给出的。每个端点都有一定的特性,其中包括传输方式,总线访问频率,带宽端点号,数据包的最大容量等等。端点必须在设备配置后才能生效(端点0除外)。端点0通常为控制端点,用于设备初始化参数等。端点1,2等一般用作数据端点,存放主机与设备间往来的数据。 
      管道: 一个USB管道是驱动程序的一个数据缓冲区,与一个外设端点的连接。它代表了一种在两者之间移动数据的能力。管道有两种类型:数据流管道(其中的数据没有USB定义的结构)和消息管道(其中的数据必须有USB定义的结构)。管道只是一个逻辑上的概念。所有的设备必须支持端点0以作为设备的控制管道。通过控制管道,可以获取完全描述USB设备的信息。一个USB设备可以分为三个层:最底层是总线接口,用来发送与接收包;中间层处理总线接口与不同的端点之间的数据流;最上层就是USB设备所提供的功能。

     Hub:Hub提供了附加的USB节点(又叫端口)。Hub可以检测出每一个下行端口的状态,并且可以给下端的设备提供电源。

 

 

本文皆来自网上摘录,但网址不一,不便标明,特此感谢

阅读(2730) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~