首页 > 技术文章 > 学习USB协议笔记<一>

M-Bing 2013-07-21 10:34 原文

学习USB协议笔记<一>

最近比较闲,开始学习一下USB协议,及利用STM32开发板的来实现USB设备。在这里记录一下学习过程中的点点滴滴。

 一、USB描述符

                                                          设备描述符   ---只有一个,决定该设备有多少种配置,包含USB协议版本号,设备类型,端点0                                                                  /     |          \       最大包大小,VID,PID 等设备信息

             配置描述符1     配置描述符2     配置描述符3 。。---定义了该配置有多少个接口,配置编号、供电方式、电流需求等

                                                           /      |     \

             接口描述符1   接口描述符2   接口描述符3  。。。---定义该接口有多少个端点,接口号,类,子类,协议等

                                                             /      |     \         

                                             端点描述符1     端点描述符2   端点描述符3 。。。。。。 ---定义了每个端点的大小、类型,方向,最大包                                                                                                                                                   长,查询时间间隔等

                                                          

 在主机获取描述符时,首先获取设备描述符,在获取配置描述符,然后根据配置描述符中的配置集合的总长度,一次将配置描述符、接口描述符、类描述符(如果有)、端点描述符一次读回。

二、USB设备枚举流程

         控制传输模式包括三个过程:建立过程,可选数据过程,状态过程

推荐阅读