致谢辞
前言
第一部分 USB的出现
第一章 对USB的需求
1.1 目前PC的I/O模式的缺点
1.2 技术问题
1.3 终端用户所关心的问题
第二章 解决方案
2.1 设计目标
2.2 新解决方案的挑战
2.3 对可能的解决方案的分析
2.4 USB——最好的平衡点
2.5 USB模式
2.6 怎样得到USB的规范说明文档
第二部分 USB解决方案
第三章 USB的总体情况
3.1 概述
3.2 硬件和软件元素
3.3 USB的通信模型
3.4 设备构架(设备如何让软件识别自己)
3.5 USB外围连接
3.6 拓扑
第四章 物理环境
4.1 连接器
4.2 数据线
4.3 电气和机械规范说明书
第五章 信号环境
5.1 概述
5.2 检测设备连接和速度
5.3 NRZI编码
5.4 位填充
5.5 差分信号
5.6 USB信号状态的小结
第六章 USB传输
6.1 概述
6.2 客户启动传输
6.3 基于时间片的传输
6.4 传输类型
第七章 USB事务处理
7.1 概述
7.2 信息包——USB事务处理的基本构成单位
7.3 令牌包
7.4 事务处理
第八章 错误恢复
8.1 概述
8.2 信息包错误
8.3 总线超时
8.4 错误的EOP
8.5 数据触发出错
8.6 特殊情况:在控制传输中的数据触发机制
8.7 串扰
8.8 活动丢失(LOA)
8.9 串扰/LOA检测和恢复
8.10 同步传输(无保证的发送)
8.11 中断传输的错误恢复
8.12 块传输错误恢复
8.13 控制传输错误恢复
第九章 USB供电分配
9.1 USB的供电
9.2 集线器
9.3 总线供电的集线器
9.4 总线供电的集线器设备
9.5 自供电的集线器
9.6 自供电设备
第十章 USB电源管理
10.1 供电保持——挂起
10.2 全局挂起
10.3 选择性挂起
10.4 在全局挂起之后的选择性挂起
10.5 通过复位恢复
第三部分 USB配置
第十一章 配置处理
11.1 概述
11.2 配置模型
11.3 根集线器的配置
第十二章 集线器配置
12.1 集线器的配置
12.2 读取集线器的端点描述符
12.3 给集线器供电
12.4 检查集线器的状态
12.5 集线器端口状态概述
第十三章 集线器请求
13.1 概述
13.2 集线器请求类型
13.3 集线器类的请求
13.4 获得/设置位描述符
13.5 获取集线器状态的请求
13.6 设置/清除集线器的特征请求
13.7 获取端口状态请求
13.8 设置/清除端口特征
13.9 获取总线状态
第十四章 USB设备配置
14.1 概述
14.2 读取和解释USB的描述符
14.3 设备类
14.4 设备描述符
14.5 配置描述符
14.6 接口描述符
14.7 端点描述符
14.8 设备状态
第十五章 设备请求
15.1 概述
15.2 标准设备请求
15.3 设置/清除特征
15.4 设置/获取配置
15.5 设置/获取描述符
15.6 设置/获取接口
15.7 获取状态
15.8 同步时间片
第四部分 USB主机软件
第十六章 USB主机软件
16.1 USB软件
16.2 USB驱动程序(USBD)
16.3 配置管理
16.4 总线管理
16.5 数据的传输管理
16.6 提供客户程序服务
第五部分 USB设备类
第十七章 设备类
17.1 概述
17.2 设备类
17.3 音频设备类
17.4 通信设备类
17.5 显示设备类
17.6 海量存储设备类
17.7 人机接口设备类
第六部分 主控制器和集线器:实现实例
第十八章 通用主控制器
18.1 概述
18.2 通用主控制器的事务处理安排
18.3 传输描述符
18.4 UHC控制寄存器
第十九章 开放主控制器
19.1 概述
19.2 开放主控制器传输安排
19.3 端点描述符
19.4 传输描述符
19.5 开放主控制器寄存器
第二十章 TUSB2040集线器
20.1 概述
20.2 供电控制
附录 USB2040集线器
概述
能力
实现