maggie_s
驱动牛犊
驱动牛犊
  • 注册日期2002-07-17
  • 最后登录2007-07-26
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
阅读:1820回复:15

为了送分,只有再发新贴

楼主#
更多 发布于:2002-08-12 11:22
感谢大家不吝赐教!
没想到usb的东西这么复杂,我要用51通过sl811hs读写优盘,
谁能详细地告诉我到底都要做哪些工作?



dahello
驱动中牛
驱动中牛
  • 注册日期2001-06-16
  • 最后登录2004-06-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-08-12 12:06
在usb协议中有关于枚举的详细的描述。
大体是:
设备描述符
分配地址
配置描述符
...
激活配置
每一个请求都是不同的命令,80060000...什么的
如果需要,我可以帮你详细的写出来,不过得看给多少分了 :D
不懂就问 :D
dahello
驱动中牛
驱动中牛
  • 注册日期2001-06-16
  • 最后登录2004-06-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-08-12 12:57
填充firmware的内容也不是很复杂,我知道cypress和国半的片子一般都附带firmware,其他的没用过

主机枚举过程setup包如下:
1。80 06 00 01 00 00 12 00得到设备描述字
2。00 05 ** ** 00 00 00 00给设备分配地址
3。80 06 02 00 00 00 2E 00读配置描述子
4。00 09 01 00 00 00 00 00激活设备的一个配置
大体的过程就是这样不同的芯片可能会又不同
比如主机得到设备描述字的前8个字节可能就给设备分配地址了
不过你在固件中都做好了肯定能通过祝你好运!
多交流! :D
不懂就问 :D
maggie_s
驱动牛犊
驱动牛犊
  • 注册日期2002-07-17
  • 最后登录2007-07-26
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-08-12 13:44
你说的这些我能明白,我认为这应该是主机的程序
是在完成了填充firmware后就可以实现吗?
dahello
驱动中牛
驱动中牛
  • 注册日期2001-06-16
  • 最后登录2004-06-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-08-12 14:32
很遗憾,刚才都写完了,由于网速的问题吧,没留上 :(
你在firmware中完成了对主机请求的响应,就可以实现了。
比如主机要设备描述符,你检测到中断后,发送设备描述符,就可以了。
你很聪明,相信很快就能掌握了。
 good luck!
不懂就问 :D
maggie_s
驱动牛犊
驱动牛犊
  • 注册日期2002-07-17
  • 最后登录2007-07-26
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-08-12 15:32
设备描述符应该是根据设备的不同而定的,
它不是设备发出的吗?
joyup
驱动牛犊
驱动牛犊
  • 注册日期2002-03-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望4点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-08-12 15:38
感谢大家不吝赐教!
没想到usb的东西这么复杂,我要用51通过sl811hs读写优盘,
谁能详细地告诉我到底都要做哪些工作?
 


你是要作为USB Host来读写优盘?还是要作为USB Device实现优盘的功能?Device好做一些。
joyup
驱动牛犊
驱动牛犊
  • 注册日期2002-03-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望4点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-08-12 15:47
设备描述符应该是根据设备的不同而定的,
它不是设备发出的吗?
 


看来你是要作为HOST来读写U盘,我想可能工作无非是
配置sl811hs芯片
检测DEVICE的拔插
查询、获得DEVICE的各种描述符,判断是否为U盘
利用BULK ONLY的协议,发送接收数据

建议看一下USB MASS STORAGE想关的文档,或用工具抓一下U盘与PC工作的流程
maggie_s
驱动牛犊
驱动牛犊
  • 注册日期2002-07-17
  • 最后登录2007-07-26
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-08-12 16:01
过程看上去就是这样,可具体实现太难了!

谁来救救我!
joyup
驱动牛犊
驱动牛犊
  • 注册日期2002-03-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望4点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-08-12 16:24
那你现在卡在哪里了呢
dahello
驱动中牛
驱动中牛
  • 注册日期2001-06-16
  • 最后登录2004-06-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-08-12 16:43
设备描述符应该是根据设备的不同而定的,
它不是设备发出的吗?
 


当然是设备发出的呀!而且描述符的内容还是你定的呢!
不懂就问 :D
joyup
驱动牛犊
驱动牛犊
  • 注册日期2002-03-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望4点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-08-12 17:04
[quote]设备描述符应该是根据设备的不同而定的,
它不是设备发出的吗?
 


当然是设备发出的呀!而且描述符的内容还是你定的呢!
 [/quote]

老大,他在做USB Host
maggie_s
驱动牛犊
驱动牛犊
  • 注册日期2002-07-17
  • 最后登录2007-07-26
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-08-12 17:15
我要昏倒了!:(

你们到底谁能帮我啊!
dahello
驱动中牛
驱动中牛
  • 注册日期2001-06-16
  • 最后登录2004-06-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-08-12 17:46
我要昏倒了!:(

你们到底谁能帮我啊!  


你也不用昏倒,做 usb host 的人不是很多。
usb host 也不是很难,大家也只是帮你想办法解决问题,具体的就要有你来试了。
请原谅,我还以为你再做usv device呢,不过大体流程差不多,只是协议和命令不同罢了。
不懂就问 :D
maggie_s
驱动牛犊
驱动牛犊
  • 注册日期2002-07-17
  • 最后登录2007-07-26
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-08-12 17:56
不用客气,只要不嫌我烦就好了
真的很感激大家!
希望能在你们的帮助之下完成!
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2002-08-13 09:38
虽然没有做过,但想来应该不是很难.
首先在811上面完成枚举的代码,把它调通.如果这部分工作完成,那后面的就好办了.而且这部分代码没有必要实现所有的standard request.
然后就是研究一下BOT的协议.可以去看看98的UMSS.SYS的源代码.其实就是把RBC命令封装在USB协议里面.这时候,如果你的代码能够正确的发出INQUIRY命令,并且得到正确的数据,那就说明你的方向是正确了,其他的RBC命令也按照这样来实现.
总之,一步一步来.虽然没有多少人做过HOST,但这种嵌入式的HOST从原理上来说还是比较简单的.如果USB协议熟悉的话,那重点工作就是SCSI/RBC了.
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
游客

返回顶部