USB设备程序编程接口(USBDI).PDFVIP

  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文档。上传文档
查看更多
华北电力大学硕士学位论文 4.2.3USB设备程序编程接口 (USBDI) USB设备驱动程序在和其硬件设备进行通信时,一般需要使用USB总线驱动 程序接口(USBDI)oUSBDI是Window:操作系统提供的,它实现了USB数据传 输的底层协议。USB设备驱动程序可以直接使用该接口与物理设备进行通信,而不 考虑诸如总线如何列举、数据如何传输等细节问题[261 USBDI是WDM分层结构的一部分,它通过使用IRP(U0请求包)管理USB 设备驱动程序栈之间的通信。这些 IRP具有相 同的主要功能代码 IRPeeMJINTERNAL一DEVICE_CONTROL,且其下一个I/0栈单元的IoControlCode 代码必须被设置成为USBDI的内部IOCTL,以指明该IRP的功能。见图4-5所示 USBDI在WDM的分层结构[271 USB设备驱动程序 I USBHUB.SYS ‘一 USB主机驱动程序栈 图4一5 4.2.4US日2.0数据采集系统驱动程序具体实现 基于EZ-USBFX2的二次枚举的特性,我们在编制驱动程序时需编制两个:一 个驱动程序loader.sys将在主机上编写好的固件程序在主机系统启动时下载至FX2 的RAM中;另一个驱动程序USBBULK.SYS为实际安装的驱动程序。另外,为实 现在系统启动时,自动安装两次驱动程序,还需编写特殊的 INF文件实现。 CYPRESS公司提供的对EZ-USBFX2的开发包中,包含有驱动程序例程,从而简 化了编写驱动的过程,我们可以在其提供例程的基础上按照需要进行修改。 I、loader.sys 首先我们需要将用KeilC编写好的固件程序编译连接成为Intel十六进制文件 43 华北电力大学硕士学位论文 通过CYPRESS公司提供的工具软件HEX2C转化成C语言格式文件,在与CYPRESS 公司提供的完成下载固件的ezloader,。一起编译,即可得到所需的下载固件的驱动 程序loader.syso 2,usbbulk.sys usbbulk.sys是实际使用的驱动程序,其功能主要是实现高速USB的块传输功 能。在头文件usbdriver.h中,我们添加了块传输的结构和工OCTL代码的定义,其 中,BULKTRANSFERCONTROL用于控制块传输,IOCTLEZUSBBULKREAD 用于主机读取USB设备发出的块数据。其结构定义如下: typedefstruct一ULK一TRANSFER-CONTROL { ULONGpipcNum; }BULK-TRANSFER-CONTROL,*PBULK-TRANSFE凡CONTROL; //以上为控制块传输结构定义 #defineIOCTL EZUSB BULK READ CTL_CODE(FILE~DEVICE_UNKNOWN,\ EzusbJOCTL一INDEX+19,\ METHOD-OUT-DIRECT,\ FILE_ANY一CCESS) //以上为块传输读结构定义 在usbbulk.sys的分发例程中,对IOCTL代码IOCTLEZUSB_BULKREAD进 行处理 ,它处理 的例程为 Bulk一eadesWrite,该程序首先调用 USB_ENDPOINT_DIRECTIONIN宏判断块传输的方向是NI还是OUT,然后调用 DDK函数UsbBuildInteurpptOrBu

文档评论(0)

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

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

1亿VIP精品文档

相关文档