找回密码
 注册
搜索
查看: 1092|回复: 3

[讨论] 开发U盘的疑问,大侠们快帮忙

[复制链接]
发表于 2006-4-11 22:00:00 | 显示全部楼层 |阅读模式
各位大虾,本人最近刚开始学习USB开发,用ARM7+USBN9603,想做个 U盘,有好多不明白的地方,想请教大家。
  1:都知道USB第一个过程是枚举,但本人至今不明白主机什么时候开始发送SETUP包,是在主机检测到有电流时开始发送还是等到芯片初始化后开始发送,发送之前怎么知道设备已经准备好接收数据了。 关于枚举过程中大多都要求返回数据,不知道主机是怎么处理这些数据的??
  2:还有就是如果我想模拟U盘的话,如果不单独做驱动,而用操作系统自带U盘驱动的话,枚举完了之后主机应该发送什么命令,??
  3:如果说前面都是控制传输都采用EP0的话,那接下来传输数据时都是用哪个端点传输数据呢,因为在发送数据时先发送IN/OUT包,而在这两个包里有端点域,规定了接收此包的端点,那Mass Storage协议是不是规定了用哪个端点来传输?还是协议规定在前面枚举阶段返回描述符时定义的??
  盼各位大侠们帮忙。
  本人QQ:67819379,Email:han.ge@byd.com.cn,希望初学者跟我一起交流,一起进步
发表于 2006-4-12 11:14:00 | 显示全部楼层
<P>首先前提是你的连接没有问题。</P><P>再者:当你把usb连接电脑上时,电脑检测你D+一个上拉1.5K电阻(有可能包含在了USBN9603内部),表示这时一个USB设备,电脑主机会主动发送setup包,也就是枚举的过程开始。枚举过程的数据你可以参考usb2.0协议的chap9.至于电脑主机怎么处理数据那是电脑驱动的事情,不用关心太多。如果你感兴趣的话可以研究一下DDK下面关于USB驱动的sample</P><P>再者:枚举完成后,电脑根据massstorage进行二次枚举主要是识别你U盘的大小,容量。包括一些厂商讯息可以参照massstorage协议。这个过程完毕后你就可以是用U盘了。</P><P>再者:端口的话ep0用于控制,一般ep2用于作bulk only传输的就是我们U盘是用。这个是在你作USB设备枚举的时候说明的。就是第一次枚举时候。masstorage协议没有定义。</P><P>顺便介绍一个网站给你bbs.zndev.com上面有一个专门的usb开发版块,很多sample。</P>[br]<p align=right><font color=red>+5 RD币</font></p>
点评回复

使用道具 举报

 楼主| 发表于 2006-4-12 18:15:00 | 显示全部楼层
非常感谢楼上的解答[em08]
点评回复

使用道具 举报

发表于 2006-4-12 19:51:00 | 显示全部楼层
<P>usb在function一侧的处理都已标准化了</P><P>你可以到USB org 上查询相应的spec</P>
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-23 06:31 , Processed in 0.045422 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表