没有合适的资源?快使用搜索试试~ 我知道了~
首页USB例程指南_飞思卡尔中文小组出品
资源详情
资源评论
资源推荐

1
USB 例程指南(基础篇)
目录
一 USB 基础讲解 ........................................................... 3
1.1 USB 简介 .......................................................... 3
1.2 USB 各版本基本区别 ................................................. 3
1.3 USB 的拓扑结构及基本概念 ........................................... 4
1.3.1 USB 拓扑 ...................................................... 4
1.3.2 USB 主机 ...................................................... 5
1.3.3 USB 设备 ...................................................... 6
1.3.4 USB 端点 ...................................................... 6
1.3.5 USB 通信管道 .................................................. 6
1.3.6 USB 应用分类 .................................................. 7
二 USB 的物理特性 ......................................................... 7
2.1 USB 接口定义 ...................................................... 7
2.2 USB 通信信号 ...................................................... 9
2.3 USB 总线状态 ..................................................... 10
2.4 USB 设备速度模式检测 .............................................. 10
三 USB 设备的描述符 ...................................................... 11
3.1 描述符定义及作用 ............................................... 11
3.2 描述符分类 ..................................................... 11
3.3 描述符类代码 ................................................... 12
3.3.1 USB 设备类 DeviceClass ........................................ 12
3.3.2 USB 接口类 InterfaceClass...................................... 13
3.3.3 USB 类的交叉与独享 ............................................ 14
3.4 标准描述符结构 ................................................. 19
3.4.1 设备描述符 ................................................. 19
3.4.2 配置描述符 ................................................. 21
3.4.3 接口描述符 ................................................. 22
3.4.4 端点描述符 ................................................. 24

2
3.4.5 字符串描述符 ............................................... 25
3.4.6 HID 相关描述符 ................................................ 27
四 USB 的通信协议 ........................................................ 32
4.1 USB 的包结构及分类 ................................................ 32
4.1.1 USB 的包结构 ................................................. 32
4.1.2 USB 的包分类 ................................................. 37
4.2 USB 通信中的事务处理 .............................................. 39
4.2.1 SETUP 事务处理 ................................................ 39
4.2.2 IN 事务处理 .................................................. 40
4.2.3 OUT 事务处理 ................................................. 40
4.3 USB 的传输类型 ................................................... 41
4.3.1 控制传输 ................................................... 41
4.3.2 批量传输 ................................................... 44
4.3.3 中断传输 ................................................... 45
4.3.4 同步传输 ................................................... 46
4.3.5 端点类型与传输类型的关系 .................................... 47
4.4 USB 的设备请求 ................................................... 47
4.4.1 设备请求格式 ............................................... 47
4.4.2 标准请求结构及讲解 ......................................... 49
4.5 USB 设备枚举过程 ................................................. 58
4.5.1 枚举过程中的状态 ........................................... 58
4.5.2 枚举过程讲解 ............................................... 58
4.6 USB 分析仪查看总线数据包 .......................................... 60
4.6.1 USB 分析仪接线 ................................................ 60
4.6.2 USB 分析仪软件抓取配置 ........................................ 60
4.6.3 USB 分析仪数据分析 ............................................ 61
参考文献: .............................................................. 63

3
一 USB 基础讲解
1.1 USB 简介
USB ,是英文 Universal Serial Bus(通用串行总线)的缩写,而其中文简称
为“通串线”,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是
应用在 PC 领域的接口技术。与传统计算机接口相比,它克服了对硬件资源独占,
限制对计算机资源扩充的缺点,以较高的数据传输速率和即插即用等优点,逐步发
展成为计算机与外设的标准连接方案。
USB 接口的优点有如下几点:
(1)USB 为所有的 USB 外设提供了单一的易于使用的标准的连接类型。
(2)整个的 USB 的系统只有一个端口和一个中断节省了系统资源。
(3)USB 支持热插拔(hot plug)和 PNP(Plug-and-Play) 。
(4)USB 在设备供电方面可以通过 USB 电缆供电;也可以通过电池或者其它的电
力设备来供电;或使用两种供电方式的组合,并且支持节约能源的挂机和唤醒模式。
(5)为了适应各种不同类型外围设备的要求,USB 提供了四种不同的数据传输类
型:控制传输、数据传输、中断数据传输和同步数据传输。
(6)USB 提供全速 12Mbps 的速率和低速 1.5Mbps 的速率来适应各种不同类型的
外设,USB2.0 还支持 480Mbps 的高速传输速率,USB3.0 支持超速 5.0Gb/s。
(7)USB 的端口具有很灵活的扩展性,一个 USB 端口串接上一个 USB Hub 就可以
扩展为多个 USB 端口。
更多关于 USB 协议的详细内容,可以查看链接:http://www.usb.org
1.2 USB 各版本基本区别
USB 开始的第一版是 USB1.0,经过多次升级更新已经到了 USB3.0,下面给出
USB1.0 USB2.0 USB3.0 之间的比较情况。
表 1-1 USB 版本区别
比较项
USB1.0
USB1.1
USB2.0
USB3.0
最大速度
1.5Mbps
12Mbps
480Mbps
5G-10Gbps
支持设备
低速
低速、全速
低速、全速、高
速
低速、全速、高
速、超速
输出电流
250mA
250mA
500mA
900mA
推出时间
1996 年 1 月
1998 年 9 月
2000 年 4 月
2008 年 11 月
本文主要以 USB2.0 为讲解基础。

4
1.3 USB 的拓扑结构及基本概念
1.3.1 USB 拓扑
USB 是一种主从结构系统。USB 系统是通过一根 USB 电缆线将外设与 PC 连接起
来,PC 即主机,外设即 USB 设备。主机具有一个或者多个 USB 主控制器和根集线
器。主控制器主要负责数据的处理,而根集线器则提供一个连接主控制器与设备之
间的接口和通路。图 1-1 给出了 USB 连接拓扑结构。
图 1-1 USB 总线拓扑结构
一个 USB 系统中只能有一个主机。主机内设置的根集线器(roothub),提供
了外设在主机上的初始附着点。包括根集线器上的一个 USB 端口在内,最多可以级
联 127 个 USB 设备,层次最多为 7 层。一个 USB 主控制器最多可以接 127 个设备,
是因为协议规定每个 USB 设备具有一个 7bit 的地址,范围为 0-127,而地址 0 是
保留给未初始化的设备使用的。
Hub 提供了附加的 USB 节点(又叫端口)。Hub 可以检测出每一个下行端口
的状态,并且可以给下端的设备提供电源。在 USB 系统中,将指向 USB 主机的数据
传输方向称为上行通信;将指向 USB 设备的数据传输方向称为下行通信。

5
关于电脑中 USB 主控制器和 USB 根集线器的情况,可以通过“我的电脑”的
“设备管理器”查看。如图 1-2 所示,在“通用串行总线控制器”栏目下,可以看
到具体的主控制器个数,一个主控制器带有一个根集线器。
图 1-2 USB 主控制器和根集线器的查看
1.3.2 USB 主机
USB 主机指的是包含 USB 主控制器,并且能够控制完成主机和 USB 设备之间数
据传输的设备。主机控制所有的对 USB 的访问。一个 USB 设备想要访问总线必须由
主机给予它使用权。主机还负责监督 USB 的拓朴结构。USB 主机可分为三个不同功
能的模块,分别为:客户软件、USB 系统软件和 USB 总线接口。
客户软件,一般包括 USB 设备驱动程序和界面应用程序两部分,它负责和 USB
设备的功能单元通信,从而实现特定的功能。客户软件不能直接访问 USB 设备,必
须要经过 USB 系统软件和 USB 总线接口模块。
USB 系统软件,一般包括 USB 总线驱动程序和 USB 主控制器驱动程序两部分,
它负责和 USB 逻辑设备进行配置同行,并管理客户软件启动的数据传输。
USB 总线接口,包括主控制器和根集线器两部分。主控制器负责完成主机和
USB 设备之间数据的实际传输;根集线器为 USB 系统提供连接起点,用于给 USB 系
统提供一个或多个连接点即端口。
剩余62页未读,继续阅读

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0