crazyqp
驱动小牛
驱动小牛
  • 注册日期2004-07-28
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分69分
  • 威望12点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1437回复:4

100分!!!请教USB数据实时采集的问题

楼主#
更多 发布于:2005-06-20 09:24
  51+D12准备做一个数据的实时采集系统,现在已经枚举成功,主机已经认出MASS STORAGE设备,现在就是比较的迷茫,不只到后面该怎么做???
1:我用的SCSI命令集,完成了INQUIRY(12H)的函数编写,我知道后面还需要READ(28H),WRITE(2AH),除此以外,我还需要对其他的scsi命令进行操作吗???
2:我看了一些关于USB驱动的书籍,已经安装了VC6+DRIVERSTUDIO+WIN2000DDK,我对于在实时采集系统中,上位机和下位机之间的流程不是非常得明白,能否给我讲讲这个方面的内容!!!
3:还有一个疑问,原来我参考一个朋友的程序编写了一个U盘的程序,在那个程序中,上位机的驱动程序我根本不用考虑,用的是WIN2000自带的,现在我想编写实时系统的驱动,不知道在设备描述符中需要做那些改动呢????
crazyqp
驱动小牛
驱动小牛
  • 注册日期2004-07-28
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分69分
  • 威望12点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-06-20 10:08
关于第三个问题,我在补充一下:设备枚举正确完成以后,主机就会报告用户找到新的USB设备,并为设备选择一个正确的驱动程序,但是,我的程序中没有出现要求添加驱动程序的对话框,估计是我是用的还是原来U盘的设备描述符的缘故,但是,我不知道该如何修改!!
VENDOR ID:0471(PHILIPS D12)
PRODUCT ID:0728(我自己任意定的)
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-06-20 10:37
把你的设备类改一下
把你得VID和PID改一下
应该就OK了
crazyqp
驱动小牛
驱动小牛
  • 注册日期2004-07-28
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分69分
  • 威望12点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-06-20 14:29
非常感谢jinghuiren,你在两个贴子中都回答了我的问题,尽管现在问题还没有解决,不过还是要多多感谢!!!
你说的方法我早就试过了,还是一样的!!
至于前面一个贴子《d12问题集,每个问题10分》中晶振20s以后自动消失的原因,我查阅了半天的资料,个人认为,是主机三次get description失败以后,就把usb总线挂起了,我观察过usb的中断,发现晶振消失以后,int引脚一直为低,中断寄存器中读出的数值也是一直为0,不过我对这个解释也始终不满意,可惜没有得到很好的解释!!!
后来,我把端点2in和out的中断程序补充完毕以后,发现晶振消失的问题莫名的没有了!!!非常奇怪!!
你那里有没有实时数据采集系统的设备描述符的例子啊??可不可以给我看看!!
crazyqp
驱动小牛
驱动小牛
  • 注册日期2004-07-28
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分69分
  • 威望12点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-06-20 14:43
我现在是彻底糊涂了,请看下面用bushound抓到的数据:
  14.0  CTL    GET DESCRIPTOR         420.1.0         31ms  80 06 00 01  00 00 40 00                            
  14.0  LEN    16                     420.2.0        4.8ms  10 00 00 00                                        
  14.0  DI     ................       420.3.0          6us  12 01 10 01  00 00 00 10  c4 07 00 04  13 01 00 00  
  14.0  CTL    GET STATUS             421.1.0         41us  a3 00 00 00  02 00 04 00                            
  14.0  LEN    4                      421.2.0         29us  04 00 00 00                                        
  14.0  DI     ....                   421.3.0          3us  03 01 00 00                                        
  14.0  CTL    SET FEATURE            422.1.0         21us  23 03 04 00  02 00 00 00                            
  14.1  LEN    1                      423.1.0         73ms  01 00 00 00                                        
  14.1  DI     .                      423.2.0          8us  04                                                  
  14.0  CTL    GET STATUS             424.1.0         19us  a3 00 00 00  02 00 04 00                            
  14.0  LEN    4                      424.2.0         25us  04 00 00 00                                        
  14.0  DI     ....                   424.3.0          3us  03 01 10 00                                        
  14.0  CTL    CLEAR FEATURE          425.1.0          8us  23 01 14 00  02 00 00 00                            
  14.0  CTL    SET ADDRESS            426.1.0         31ms  00 05 02 00  00 00 00 00                            
  14.0  CTL    GET DESCRIPTOR         427.1.0         15ms  80 06 00 01  00 00 12 00                            
  14.0  LEN    18                     427.2.0        4.8ms  12 00 00 00                                        
  14.0  DI     ................       427.3.0          2us  12 01 10 01  00 00 00 10  c4 07 00 04  13 01 00 00  
               ..                     427.3.16              00 01                                              
  14.0  CTL    GET DESCRIPTOR         428.1.0         23us  80 06 00 02  00 00 09 00                            
  14.0  LEN    9                      428.2.0        3.9ms  09 00 00 00                                        
  14.0  DI     .......@.              428.3.0          3us  09 02 2e 00  01 01 00 40  80                        
  14.0  CTL    SET CONFIG             429.1.0         18us  00 09 01 00  00 00 00 00                            
到了set config以后就不断的循环,又重新开始枚举,我跟踪断点,发现已经进入bulk-in 和out的中断服务程序,同时接受到了主机发来的cbw包,先是12H(INQUIRY),23H(READ CAPACITY),03H(REQUIRY SENSE).我用的是UFI命令集,更正一下!!!
但是现在我不是做U盘,所以那位兄弟指点一下,谢谢!!!
游客

返回顶部