注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

还东国的博客

行之苟有恒,久久自芬芳

 
 
 

日志

 
 

USB端点和管道的关系  

2013-06-29 18:36:29|  分类: USB系列 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
USB端点和管道的关系 

     管道是对主机和usb设备间通信流的抽象。 
     管道和usb设备中的端点一一对应,一个usb设备含有多少个端点,其和主机进行通信时就可以使用多少条管道,且端点的类型决定了管道中数据的传输类型。 开的端点数是由软件决定的,所以管道自然也是软件决定的。
       端点: 每一个USB设备在主机看来就是一个端点的集合。主机只能通过端点与设备进行通讯,以使用设备的功能。每个端点实际上就是一个一定大小的数据缓冲区,这些端点在设备出厂时就已定义好。在USB系统中每一个端点都有唯一的地址,这是由设备地址和端点号给出的。每个端点都有一定的特性,其中包括传输方式,总线访问频率,带宽端点号,数据包的最大容量等等。端点必须在设备配置后才能生效(端点0除外)。端点0通常为控制端点,用于设备初始化参数等。端点1,2等一般用作数据端点,存放主机与设备间往来的数据。 
      管道: 一个USB管道是驱动程序的一个数据缓冲区,与一个外设端点的连接。它代表了一种在两者之间移动数据的能力。管道有两种类型:数据流管道(其中的数据没有USB定义的结构)和消息管道(其中的数据必须有USB定义的结构)。管道只是一个逻辑上的概念。所有的设备必须支持端点0以作为设备的控制管道。通过控制管道,可以获取完全描述USB设备的信息。一个USB设备可以分为三个层:最底层是总线接口,用来发送与接收包;中间层处理总线接口与不同的端点之间的数据流;最上层就是USB设备所提供的功能。 
     Hub:Hub提供了附加的USB节点(又叫端口)。Hub可以检测出每一个下行端口的状态,并且可以给下端的设备提供电源。
     这里重点还要说一下,在赛普拉斯的USB芯片上,其端点号和管道号是一一对应的,但只是一个映射,并不相同 ,比如2端点可能对应着0管道。端点不一定是连续的,但管道一般是连续的。另外,在新的驱动层面上,端点的序号和硬件中的端点的序号又有不同,新的驱动层面上,端点和管道一样连续了,但硬件的端点号仍然是不连续的。
做USB的东西比较少,要认真参透其中的深层次的东西,还要有相当长的路要走。努力,就从今天开始。
  评论这张
 
阅读(616)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017