基于USB3.0设备自定义请求实现方法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于USB3.0设备自定义请求实现方法

基于USB3.0设备自定义请求实现方法   摘要: 该文主要讨论了一种新方法,实现了主机通过一种新的自定义设备请求,获取存储于USB3.0设备固件中详细的UI信息。从而可使OEM/IHV厂商不必再随其生产的USB3.0设备分发任何特定的安装媒体。   关键词: USB3.0;设备自定义;固件;UI;设备请求   中图分类号:TP31 文献标识码:A 文章编号:1009-3044(2013)07-1648-03   1 背景   USB(Universal Serial Bus)即通用串行总线,是一种灵活,快速的总线接口。USB技术的出现让IT产业的接口产生了巨大的革命。其主要特征是低成本,同步,高速,双向,高速,可即时连接,是对当今计算机体系结构的一种工业标准扩展,因此支持USB的设备现在已经十分广泛。主机通过USB总线对设备的操作,完成对其连接,配置,使用和断开等功能。随着硬件设备的不断发展进步,更高的传输速度和更大的带宽越来越被人们所重视,由此各界对USB 3.0的需求也愈来愈高。2008年11月发行的USB 3.0通用串行总线( Universal Serial Bus)是最新规范,该规范由英特尔等大公司发起,其最高传输速度可达5 Gb/ s,并且兼容USB 2. 0 及以下接口标准。   2 设备请求介绍   设备请求是USB3.0的重要组成部分。设备的信息和功能都存在它的设备描述符(descriptor)中,要想得到这些信息,或是修改这些信息,就要对描述符进行读写操作,完成这些读写的行为称为设备请求。   设备请求包括标准请求、设备类请求和厂商自定义请求。   1) 标准请求:USB3.0协议定义了一系列所有USB3.0设备都必须支持的请求。它们用于配置一个设备、控制USB接口的状态,还有其他特征。   2) 设备类请求:每个USB3.0设备类都可以定义类的特定请求,除了集线器设备之外,这些请求由设备类的协议说明文档定义,它们并不包含在USB3.0协议的主体部分。   3) 厂商自定义请求:一个USB3.0设备可以支持设备厂商自定义的请求,这些请求和设备厂商对设备的具体实现相关。厂商自定义的请求只有设备和主机端对应的设备驱动程序知道。   所有的设备在设备的缺省控制通道处对主机的请求发出响应。这些请求是通过使用控制传输来发送的,请求及请求的参数通过Setup阶段的数据包发向设备,主机负责设置Setup数据包内的每个域的值,每个Setup包有8个字节,见表1。   3 设备自定义请求的实现   高层主机的应用程序和操作系统厂商,会根据实际应用需要对设备定义一些特定的设备请求与响应。而底层的硬件制造商(OEMs)和独立硬件商(IHVs),即设备生产和发行方,会对主机软件和操作系统的这些额外的自定义设备请求提供支持。虽然USB3.0协议主体中规范了多种类型的设备请求,但并没有对上述的主机自定义请求进行详细说明。   一般情况下设备安装过程为: USB3.0设备与主机连接后,用户需要安装OEM/IHV提供的光盘或应用程序。安装程序通常包括设备特定的设置和资源,如下所示:   A.设备驱动   B.用户界面(UI),包含图标,字体,图片,标志,帮助页面,通用资源定位符(URL)。   C.详细的说明,设置和资源定位信息文件。   在安装过程中,操作系统通过设备提供的USB标准类和子类信息码,来判断此设备是否为通用设备,或可用默认驱动来控制此设备。通常情况下大部分USB3.0设备都可使用系统默认驱动控制,所以用户就可不必再安装OEM/IHV提供驱动。   随着USB3.0设备大范围的普及,OEM/IHV厂商们更希望操作系统能够自行加载设备某些自定义信息(如,图标,字体,图片,标志,帮助页面,通用资源定位符(URL)),这样即使用户不用安装任何额外的程序或驱动,操作系统也能为设备提供恰当的UI和信息。如果解决了这个问题,将大大简化了设备安装过程,提高了设备的易用性。同样,也降低了OEM/IHV厂商的成本。   本文根据这个问题,提出一种解决方案。即把设备自定义的UI信息存储于USB3.0设备固件中。当主机与设备通信时,设备响应主机的请求,把设备的UI,配置信息传输给主机。设备使用系统默认驱动时,不用安装厂商提供的任何文件,也能完成对设备的正确配置。   如图1示例系统,设备自定义的设置和资源信息都存储于固件中。操作系统或应用程序可以通过主机自定义请求读取这些信息,从而为用户提供恰当的UI和设备信息。   系统由主机与设备组成,两部分通过USB总线相连。主机一般为PC或其他类型计算机。主机中具有一个或多个处理器,存储设备(如内存,硬盘等)。操作系统如(Windows)和各种应用程序会存

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档