- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
USB系列之二读取USB设备的描述符
USB USB
USB USB
UUSSBB系列之二:读取UUSSBB设备的描述符
作者:华松青
作者:华松青
作作者者::华华松松青青
在前面的文章中,我们已经给出了USB协议的链接地址,从这篇文章起,我们会涉及到许多
USB 1.1的内容,我们的指导思想是先从熟悉USB 1.1协议入手,先使用现成的HCD和USBD,直
接面对客户端驱动编程,尽快看到成果,使读者对USB的开发充满信心,进而去研究USBD和HCD
的编程方法。请读者自行阅读协议,文章中有关协议的详细情况,由于会涉及非常多的文字,恕
不能过多解释。
1、USB系统主机端的软件结构
一般来说,教科书或者协议上都会把USB主机端的软件说成有三层,第一层叫主机控制器驱
动程序HCD(Host Controller Driver),第二层叫USB驱动程序USBD(USB Driver),第三层叫客
户端驱动程序(Client Driver);实际上,我们实际看到的东西,往往HCD和USBD是由一个程序
完成的,比如windows就提供了HCD和USBD,如果你自己开发了一个USB设备,只需要在HCD
和USBD上面开发一个客户端驱动程序即可;linux也是同样,linux内核已经提供了HCD和USBD;
所以在windows和linux下我们基本上没有开发HCD和USBD的必要,而且linux还提供源代码;
但DOS就不一样了,DOS本身对USB没有任何支持,所以要想在DOS下彻底玩转USB,需要研究HCD、
USBD和客户端驱动程序。
2、DOSUSB介绍
很显然,HCD和USBD更加底层一些,需要理解的东西也更多一些;如果我们能够绕过 HCD
和USBD,直接从客户端驱动程序入手,将会容易许多。幸运的是我们可以找到一个免费的 DOS
下的USB驱动程序,叫DOSUSB,该驱动程序实现了大部分的HCD和USBD的功能,使我们进行USB
编程的好帮手。
DOSUSB目前还没有实现EHIC的驱动,也就是说还不支持USB2.0,这也是我们从USB 1.1开
始的原因之一,另一方面,由于USB2.0是兼容USB1.1的,所以,即便你在USB2.0的设备下,仍
然可以使用USB1.1的驱动程序,只不过不能实现480MB/秒的传送速度而已。
下面我们介绍一下DOSUSB。DOSUSB的官方网站如下:
可以从其官方网站上下载DOGUSB的最新版本,当前版本是1.1.1。或者在下面在下面网址下
载这个版本的DOSUSB。
/software/dosusb/dosusb.zip
DOSUSB可以在非商业领域免费使用,如果肯花费费用,可以购买到源代码,从其官方网站
的论坛上看到,在2006年9月作者开出的源代码的价格是1000欧元。
DOSUSB的安装十分简便,只需要解压缩到某一个目录下即可,比如放在c:\dosusb目录下,
请自行阅读DOSUSB自带的文档,使用也非常简单,在DOS提示符下键入dosusb执行即可。
c:\dosusbdosusb
缺省情况下,DOSUSB使用int 65h作为其驱动的调用软中断,如果和你的系统有冲突,在
运行dosusb时可以加参数/I,请自行阅读DOSUSB的文档。
DOSUSB通过一个叫做URB(USB Request Block)的数据结构与客户端驱动程序进行通讯,这
一点和linux非常相似,估计作者参考了linux下的源代码,在DOSUSB文档里给出了这个结构
的定义,如下:
struct {
BYTE transaction_type; // 设置事务(控制传输)(2Dh),输入事务(69h)输
出事务(E1h)
BYTE chain_end_flag; // 备用
BYTE dev_add; // 设备地址
BYTE end_point; // 端点号
BYTE error_code; // 错误吗
BYTE status;
您可能关注的文档
最近下载
- 2025年出境竹木草制品台帐表单各种表格.pdf VIP
- DB34T 4822-2024 地下水监测井建设技术规范.pdf
- 中国热射病诊断与治疗指南(2025版).pptx
- 第19课社会生活的变迁(课件)-八年级历史下册教学无忧备课课件(统编版).pptx VIP
- 铁路预应力混凝土桥梁智能张拉与压浆施工技术规程.pdf VIP
- DL∕T 1685-2017 油浸式变压器(电抗器)状态评价导则.pdf
- 2025春人教鄂教版(2024)小学科学一年级下册《纸制品》教案及反思.docx VIP
- 建设工程标准化协会标准:TCECS 717-2020 城镇排水管道非开挖修复工程施工及验收规程.pdf
- XX县压缩天然气城市气化工程初步设计说明书.doc
- 调 式 中 的 音 程.pptx VIP
文档评论(0)