正文

USB 设备的枚举过程 2006-05-22 13:34:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/ainterly/14517.html

分享到:

USB 设备枚举的数据传输过程 以下是一个程序枚举数据传输的全过程: (1) 主机检测到有设备插上,总线复位 当设备与主机连接时,主机就会检测到一个连接条件,并且D+的数据线被拉至Vse以上2.5微秒(30个全速数据比特周期),主机就开始进行总线复位。 (2) 主机读取设备描述符 主机使用默认地址(地址0)读取设备描述符,在这里主机使用地址0对设备的设备描述符进行读取。由于PDIUSBD12的端点0的缓冲区只有16个字节,所以单片机就先发送16个字节的设备描述符。当主机接收到这16个字节的字符后,就认为真正有设备连接了,即发送1个0字节的数据包到设备作为状态应答。 (3) 地址分配 在地址分配阶段里,主机分配给设备一个地址。在以后的通信里设备就只对这个地址的信息作出应答。 (4) 主机从新的地址获取设备描述符 分配好了设备地址后,主机就从新的地址获取设备描述符。由于受PDIUSBD12芯片的限制,设备分2次把设备描述符经过端点0发送出去,第一次发送16个字节,第2次发送2个字节。最后主机发送0字节的数据包作为状态应答。 (5) 主机读取配置描述符 主机读取完设备描述符后就读取设备的配置描述符 (6) 读取描述符集合 主机除了读取设备描述符和配置描述符外,还要读取接口描述符和端口描述符。在这里主机使用再次读取配置的方法来读取配置描述符、接口描述符和端点描述符的集合。 (7) 设置配置 主机读取完描述符后,就需要对设备进行配置,使得设备从地址状态进入配置状态。 (8) 读取配置状态 主机设置完配置以后,设备即可使用。主机有时会对设备的配置状态进行读取。 (9) 读取接口状态 在配置完成后,主机会对接口的状态进行读取,这和读取配置一样也是可选的。

阅读(7122) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册