applicat
驱动牛犊
驱动牛犊
  • 注册日期2001-05-16
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2038回复:5

setup包的传输机制

楼主#
更多 发布于:2001-08-14 17:36
SETUP包向FIRMWARE询问DEVICE DESCRIPTOR的时候,因为这个描述符有18字节长,因此要分几次发给主机。
IN动作是由主机发起,DEVICE响应的,主机在收到一个包后,发现这个描述符传递不完整,就会自动产生IN请求,通知DEVVICE把后面的包传过来吗?这个IN请求维持多长的时间?我的板子在发出第一个包以后无法发送后面的包是怎么回事?

最新喜欢:

Jkw_DevJkw_De...
applicat
wp893
驱动牛犊
驱动牛犊
  • 注册日期2001-08-03
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-08-14 21:45
IN请求维持多长时间,我到不清楚,因为我用的是windriver,但你的发送方式是不是有问题,第一个包在收到请求以后直接发送,以后的包是在TX0中发送的,发送之前判断发送状态寄存器的状态。
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-08-15 10:17
host第一次会读8个字节的device descriptor,这8个字节里面有整个dexcriptor的长度,第二次host就会发这么长的一个IN来得到这个device desciptor。
至于不发送后续的IN,原因巨多。有可能是硬件的问题,也有可能是你的descriptor里面有错误。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
Pharos
驱动牛犊
驱动牛犊
  • 注册日期2001-08-13
  • 最后登录2005-02-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-08-15 18:01
SETUP包是专门用在USB控制传输上的一种令牌包,其作用是告诉Device接下来的数据是命令。
USB外设一共支持11种标准请求。
当Host开始对USB Device进行枚举的时候,要得到设备的描述符,
第一次只需要得到设备描述符的前八个字节,因为设备描述符的第八个字节里的内容就是这个设备所能支持的最大数据包的大小。然后,Host才能根据这个设备所能支持的最大数据包的大小向这个设备发命令,例如给这个设备分配USB地址,等。

我不是很清楚你问的问题具体是什么意思,希望这些能对你有所帮助。
没有我,你怎么办,你的泪水谁为你擦干; 谁为你打伞,安慰你心寒,失眠的夜你最怕孤单。
Levis75
驱动小牛
驱动小牛
  • 注册日期2001-08-06
  • 最后登录2006-06-28
  • 粉丝0
  • 关注0
  • 积分68分
  • 威望7点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-08-16 15:45
看看USB Spc.然后用SoftICE设断点跟跟就知道了。
guest
驱动牛犊
驱动牛犊
  • 注册日期2001-06-12
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-08-16 16:44
游客

返回顶部