详解USB枚举过程:从总线复位到设备描述

需积分: 48 18 下载量 97 浏览量 更新于2024-09-18 2 收藏 108KB PDF 举报
本文是一篇详细的图解教程,主要讲解了USB枚举过程,它是USB设备初次与主机交互的关键步骤。文章以一位博主购买并使用HD-USB12协议分析仪为例,通过实际操作和示例图片来阐述USB设备如何在USB总线上被识别和配置。 首先,当USB设备插入总线时,系统会进行一次总线复位,此时Index[4-5]代表这一事件(图一)。紧接着,主机(通常是电脑)向设备的默认地址0发送GET_DESCRIPTOR指令,以获取设备的基本信息,如设备描述符,这个过程由Index[7-8]指示(图二)。 设备收到GET_DESCRIPTOR指令后,会发送设备描述数据,Index[16]处显示了这一阶段的信息。主机接收并处理这些数据后,会以空应答确认,Index[18-19]即为这一过程的标志。 接着,主机会再次复位总线,并通过SET_ADDRESS指令包设定设备的唯一地址,以便后续的交互。图三中的Index[22-23]标识了这次总线复位。然后,主机向新设定的地址发送SET_ADDRESS指令,具体细节在图四中展示。 设备接收到SET_ADDRESS后,同样发送空应答,表明其已接收并理解新的地址设置(Index[29-31])。最后,主机再次发送GET_DESCRIPTOR指令到设备的新地址,以获取完整的设备描述(图五)。 整个过程涉及了USB设备的初始化、地址配置和数据交换,对于理解和调试USB设备的行为至关重要。通过这个图解教程,初学者可以更直观地了解USB枚举过程的各个环节,有助于他们在USB固件开发中避免常见问题。作者 Avatar 的分享不仅实用,也体现了对USB协议入门知识的深入理解。