clear_zcl
驱动牛犊
驱动牛犊
  • 注册日期2002-05-30
  • 最后登录2002-07-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1956回复:7

请教关于USB设备插上后的枚举过程,主机到底会发来哪些标准请求?设备怎样去应答主机?

楼主#
更多 发布于:2002-06-11 10:24
    我在驱动开发论坛上看到liuzheng的帖子---D12-C51驱动程序开发,感觉对我的帮助很大,现在我有一些问题和困惑冒昧向各位高手请教。
    我这里要做的事情是要把PDA上面的三星FLASH做成可即插即用式的USB移动硬盘。三星FLASH我想应该属于MASS STORAGE设备,我采用的USB芯片是D12,只不过PDA上采用的CPU不是8052而已。
    我请教了一个做过USB的硬件人员,对开发移动硬盘的过程终于心里有了点轮廓:由于WIN ME 和2000都已经内嵌了对标准 USB mass Storage类设备的主机端驱动程序(即system32\\usbstor.sys),所以ME 和2000上的WDM设备驱动程序不需要我再开发,也就是说当带三星FLASH的PDA通过USB口插到装有ME或2000的PC上时, 根据您讲到的USB设备启动流程:

1.USB设备接入USB口,发出连接USB命令(我这里采用硬连接,设备并没有向主机发命令,主机探测到D12芯片的D+线拉高即可知道设备连上了)
2.主机发出读设备描述符两次。
3.设备根据主机发来的命令,理解这些命令并把设备描述符按主机要求的标准格式分别发给主机。
4.主机根据设备描述符――厂商ID、产品ID,启动相应设备驱动程序。
5.设备驱动程序初始化USB设备:
  a.读设备描述符
  b.读配置描述符
  c.选择接口、端点(管道),确定传输方式

    主机在完成第五步后,知道是一个USB Mass Storage类的设备连在主机上,主机端的设备驱动程序并会给操作系统WINDOWS分配一个盘符,我的初步工作也就可以实现了。也就是说,在ME和2000的操作系统中,我所要做的事情都集中在第3步了,即设备端如何理解枚举时主机发来的每一次标准请求,然后向主机回复这些请求。看来关键还是得理解主机都发来了哪些请求,关于这部分向各位做过U盘的有经验的高手们请教,希望得到大家的点拨。
panda_lu8888888
驱动小牛
驱动小牛
  • 注册日期2002-06-03
  • 最后登录2002-07-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-06-11 15:33
看看bulk only 的specifications
风儿
panda_lu8888888
驱动小牛
驱动小牛
  • 注册日期2002-06-03
  • 最后登录2002-07-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-06-11 15:37
还有usb 1.1 specifications 的第九章
风儿
clear_zcl
驱动牛犊
驱动牛犊
  • 注册日期2002-05-30
  • 最后登录2002-07-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-06-12 16:01
你说的这些都已经看过了,也基本上有些理解了,标准请求我也都处理了,可是理论离实践还是有差距,到底来的特定类请求该如何处理?更为糟糕的是我发现主机端根本没有发来特定类请求包。这是什么原因?
takaya
驱动小牛
驱动小牛
  • 注册日期2002-02-10
  • 最后登录2006-05-16
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望3点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-06-12 17:14
你可以看看plasma的代码.写得很清楚.虽然它不是给store用的.但可以参考.
我是只可爱的小猫咪,高枕无忧................................. QQ:2745071
clear_zcl
驱动牛犊
驱动牛犊
  • 注册日期2002-05-30
  • 最后登录2002-07-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-06-13 11:47
plasma的代码是MASS STORAGE类设备,使用BULK ONLY传输协议吗?
panda_lu8888888
驱动小牛
驱动小牛
  • 注册日期2002-06-03
  • 最后登录2002-07-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-06-13 12:55
不是
风儿
panda_lu8888888
驱动小牛
驱动小牛
  • 注册日期2002-06-03
  • 最后登录2002-07-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-06-13 18:43
请问plasma有没有RBC设备开发的经验,望不吝赐教,谢谢
风儿
游客

返回顶部