sseeker
驱动牛犊
驱动牛犊
  • 注册日期2004-06-21
  • 最后登录2004-09-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3179回复:12

USB通讯协议入门问题

楼主#
更多 发布于:2004-09-17 15:16
在USB设备枚举完成后,DEVICE 和 HOST 是如何通讯的.
比如说: HOST 有数据要发送到 DEVICE , 它怎么通知 DEVICE 接收.这里HOST 向 DEVICE 发送什么包, DEVICE 如何动作.
反之 DEVICE-->HOST 也一样. 我翻遍了手边的资料也没有说明.

请告诉我具体过程, 或者告诉我具体去看什么资料.

谢谢了
sseeker
驱动牛犊
驱动牛犊
  • 注册日期2004-06-21
  • 最后登录2004-09-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-09-23 09:34
楼上的hongjuanguodong兄,
"枚举完成了设备空闲吗?主机不发送类命令吗"你这个话是什么意思?是我理解的不对么? 如果是请说出正确的是什么?

还有,你上一个回复里面的"主机发送CBW(命令块包)",这个CBW应该已经是上层软件完成的工作了.我要问的是协议层的问题, 在完成枚举后,HOST发送什么包.
hongjuanguodong
驱动牛犊
驱动牛犊
  • 注册日期2004-04-27
  • 最后登录2004-10-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-09-22 17:49
给你一个网站http://embedusb.51.net/html/download.htm
枚举完成了设备空闲吗?主机不发送类命令吗
sseeker
驱动牛犊
驱动牛犊
  • 注册日期2004-06-21
  • 最后登录2004-09-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-09-22 17:09
楼上的hongjuanguodong兄,
(1) "主机发送CBW(命令块包)"是什么东西. 我刚才在usb1.1协议里面找了没有这个东西的说明. 拜托能不能具体说明一下,或者具体告诉我哪儿有说明

(2) 关于如何知道已经枚举成功:在枚举的最后步骤 HOST 读取"设备接口信息"成功以后,USB设备应该处于IDLE(空闲)状态.这个时候不就是枚举成功了么?
hongjuanguodong
驱动牛犊
驱动牛犊
  • 注册日期2004-04-27
  • 最后登录2004-10-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-09-22 16:41
批量传输中是主机发送CBW(命令块包)来告诉设备执行什么命令,你的枚举完成了,是如何知道枚举完成了呢
sseeker
驱动牛犊
驱动牛犊
  • 注册日期2004-06-21
  • 最后登录2004-09-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-09-22 16:30
别沉了
wdy9927
驱动老牛
驱动老牛
  • 注册日期2003-08-04
  • 最后登录2017-02-04
  • 粉丝0
  • 关注0
  • 积分89分
  • 威望143点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
  • 社区居民
6楼#
发布于:2004-09-22 11:51
uhci ohci 不在usb1.1 规范里。 他们是主机规范。你搜一下就知道了。

如果你要做的是从机根本就不需要看。很麻烦的。

附件名称/大小 下载次数 最后更新
2004-09-22_uhci.rar (376KB)  16
sseeker
驱动牛犊
驱动牛犊
  • 注册日期2004-06-21
  • 最后登录2004-09-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-09-22 11:22
路上的hero_fy兄,
你所说的setup包是不是指如下的东西:

SYNC  OUT(PID) ADDR  ENDP ----- 对于OUT ( HOST-->DEVICE )
SYNC  IN (PID) ADDR  ENDP ----- 对于IN  ( DEVICE-->HOST )  
sseeker
驱动牛犊
驱动牛犊
  • 注册日期2004-06-21
  • 最后登录2004-09-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-09-21 10:11
楼上的兄弟,你说的那2个我在USB1.1协议上没有找到.你能不能具体一点告诉我是那一章的,大概什么位置.
wdy9927
驱动老牛
驱动老牛
  • 注册日期2003-08-04
  • 最后登录2017-02-04
  • 粉丝0
  • 关注0
  • 积分89分
  • 威望143点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
  • 社区居民
9楼#
发布于:2004-09-18 08:21
usb1.1 or usb2.0

usb1.1 参看 uhci 和 ohci 主机协议

usb2.0 参看 ehci 主机协议。

搜索一下就知道了。

sseeker
驱动牛犊
驱动牛犊
  • 注册日期2004-06-21
  • 最后登录2004-09-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-09-17 19:08
不太明白.
"1、HOST先发setup令牌包,令牌包时面的数据是申请,如果要向DEVICE发送数据,就是控制OUT传输的申请,如果要读取DEVICE的数据,就控制IN传输的申请"

HOST 发送 setup 包,应该在setup 后面紧跟着 ADDR+ENDP
"令牌包时面的数据是申请", 那这个申请里面发什么命令呢? 我在usb的协议里面没有找到.能不能解释的详细一点,或者告诉我看什么资料.
我的qq:395567332,能不能+我,可以方便请教
sseeker
驱动牛犊
驱动牛犊
  • 注册日期2004-06-21
  • 最后登录2004-09-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-09-17 19:07
不太明白.
"1、HOST先发setup令牌包,令牌包时面的数据是申请,如果要向DEVICE发送数据,就是控制OUT传输的申请,如果要读取DEVICE的数据,就控制IN传输的申请"

HOST 发送 setup 包,应该在setup 后面紧跟着 ADDR+ENDP
"令牌包时面的数据是申请", 那这个申请里面发什么命令呢? 我在usb的协议里面没有找到.能不能解释的详细一点,或者告诉我看什么资料.
hero_fy
驱动牛犊
驱动牛犊
  • 注册日期2004-06-30
  • 最后登录2004-10-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2004-09-17 17:42
简单的理解如下:
1、HOST先发setup令牌包,令牌包时面的数据是申请,如果要向DEVICE发送数据,就是控制OUT传输的申请,如果要读取DEVICE的数据,就控制IN传输的申请
2、DEVICE收到令牌包后,解析里面的申请,如果是OUT申请,就接收数据,如果是IN申请,就发送数据给HOST
3、然后就是相应的握手包
大家一起讨论啊!  ;)
游客

返回顶部