whmjack
驱动小牛
驱动小牛
  • 注册日期2003-09-17
  • 最后登录2007-04-26
  • 粉丝0
  • 关注0
  • 积分290分
  • 威望29点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
阅读:970回复:1

usb 协议应答的请教!

楼主#
更多 发布于:2004-03-30 09:46
在学习D12固件的时候,关于usb协议的应答中有些不是很清楚的地方,主要是设备应答的部分。现在向大哥们请教一下,usb的一个控制传输有2个或3个阶段:
1.setup stage
     SETUP  ADDR  ENDP  CRC5
     0xB4   0X02  0X00  0X15
     DATA0  DATA                       CRC16
     0XC3   86 06 00 02 00 09 00       0XA123
     ACK
     0X4B      ----设备第一次应答
2.data stage
     IN    ADDR   ENDP  CRC5
     0X96  0X02   0X0   0X15
     DATA1 DATA                        CRC16
     0XD2 09 02 2E 00 01 01 00 60 01   0XC134
     ACK
     0X4B     ----------主机应答
3.status stage
    OUT   ADDR  ENDP  CRC5
    0X87  0X02  0X00  0X15
    DATA1 DATA  CRC16
    0XD2   空   0X0000
    ACK
    0X4B     ------------设备第二次应答
有三个问题:
1。设备的两次应答是程序控制的还是硬件自动回复?
2。在d12 smart board 中的端点0 out的中断程序里,
//向控制输出端点发送应答建立命令以重新使能下一个建立阶段
D12_AcknowledgeEndpoint(0);
D12_AcknowledgeEndpoint(1);
回应的是那个应答呢?
3。第三个阶段中,对于空包的回应是在哪进行的呢?
请高手给我指点指点,谢谢!
greenwillow
驱动牛犊
驱动牛犊
  • 注册日期2002-04-03
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-03-30 16:56
UP,学习
最笨的人!^_^
游客

返回顶部