USB的枚举过程

当USB device 插入,和 host 连接后,host 会对 device 进行枚举。
通过枚举:获取设备的描述符信息。(主机根据此信息,加载对应驱动,确定通信方式等等)

  • 枚举过程如下:
    1、usb host 检测到 usb device 插入后,发送总线复位信号,复位 device。
    device 复位完成后,地址为0。
    host 向 地址0 的 endpoint 0 发送数据,请求设备描述符。
    device 收到主机请求后,发送 设备描述 给 host。
    host 接收并确认 device 发来的设备描述符后,向 device 回发一个 确认数据包(ACK)。
    2、host 再次复位 device,进入地址设置阶段。
    host 向 地址0 的 endpoint 0 发送设置地址请求数据包,包里就存放着 新的设备地址,因此无数据过程。
    device 收到后,向 host 回发一个0字节的状态数据包。
    host 收到这个 0字节状态数据包 以后,向 device 会发一个确认包(ACK)。
    device 在收到这个ACK包后,就开始使用新的地址了。
    3、host 向 新的设备地址 endpoint 0 发送请求设备描述符包,这一次 host 要获取整个设备描述符。
    4、类似于 步骤3,host 接下来以此获取 配置描述符、配置集合、字符串描述符 等等
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值