第1部分 USB总线接口技术基础
第1章 USB技术概述
1.1 USB总线技术的产生
1.2 认识USB总线接口
1.2.1 USB A型插座和插头
1.2.2 USB B型插座和插头
1.2.3 USB mini型插座和插头
1.2.4 USB micro型插座和插头
1.2.5 USB 3.0型插座和插头
1.2.6 USB电缆结构
1.3 USB总线版本
1.3.1 USB 1.0
1.3.2 USB 1.1
1.3.3 USB 2.0
1.3.4 USB 3.0
1.3.5 其他USB规范
1.4 USB规范概览
1.5 USB总线结构
1.5.1 USB主机
1.5.2 USB电缆
1.5.3 USB设备
1.6 USB总线特点
1.7 USB的竞争技术解析
1.7.1 IEEE 1394接口技术
1.7.2 eSATA接口技术
1.7.3 USB PLUS接口技术
1.7.4 Thunder Bolt超高速接口技术
1.7.5 USB接口与其他计算机接口
的对比
1.8 USB设备的开发
1.9 小结
第2章 USB电源管理
2.1 USB的供电
2.1.1 USB接口的电源指标
2.1.2 USB外设功率需求
2.2 典型USB外设的电源设计
2.2.1 USB根集线器
2.2.2 USB总线供电集线器
2.2.3 USB自供电集线器
2.2.4 USB总线供电低功率设备
2.2.5 USB总线供电高功率设备
2.2.6 USB自供电设备
2.2.7 USB设备功率需求的设置
2.3 USB电源管理
2.3.1 激活(ACTIVE)
2.3.2 挂起(SUSPEND)
2.3.3 空闲(FAST EXIT IDLE)
2.3.4 睡眠(SLOW EXIT IDLE)
2.3.5 USB 2.0与USB 3.0电源管
理的区别
2.4 小结
第3章 USB事务处理
3.1 USB事务处理概述
3.2 令牌阶段
3.2.1 同步字段
3.2.2 令牌包
3.3 数据阶段
3.3.1 同步字段
3.3.2 数据包
3.4 握手阶段
3.4.1 同步字段
3.4.2 握手包
3.5 USB事务处理
3.5.1 IN事务处理
3.5.2 OUT事务处理
3.5.3 SETUP事务处理
3.5.4 PING事务处理
3.5.5 SOF事务处理
3.5.6 SPLIT事务处理
3.5.7 PRE事务处理
3.6 USB设备的总线状态
3.7 USB设备的总线列举
3.7.1 连接USB设备
3.7.2 断开USB设备
3.8 小结
第4章 USB数据传输类型
4.1 USB数据传输概述
4.1.1 USB下传数据
4.1.2 USB上传数据
4.1.3 USB的数据传输类型
4.2 USB块传输
4.2.1 USB块传输方式
4.2.2 块传输的数据包长度
4.2.3 块事务处理
4.3 USB中断传输
4.3.1 USB中断传输方式
4.3.2 中断传输的数据包长度
4.3.3 中断事务处理
4.4 USB同步传输
4.4.1 USB同步传输方式
4.4.2 同步传输的数据包长度
4.4.3 同步事务处理
4.5 USB控制传输
4.5.1 USB控制传输方式
4.5.2 控制传输数据包长度
4.5.3 控制事务处理
4.6 USB 3.0与USB 2.0数据传输的对比
4.6.1 接口不同
4.6.2 数据传输方式不同
4.6.3 编码方式不同
4.6.4 数据传输对比
4.7 小结
第5章 USB设备配置
5.1 USB描述符概述
5.2 设备描述符(Device)
5.2.1 设备描述符定义
5.2.2 设备描述符示例
5.3 配置描述符(Configuration)
5.3.1 配置描述符定义
5.3.2 配置描述符示例
5.4 字符串描述符(String)
5.4.1 字符串描述符定义
5.4.2 字符串描述符示例
5.5 接口描述符(Interface)
5.5.1 接口描述符定义
5.5.2 接口描述符示例
5.6 端点描述符(Endpoint)
5.6.1 端点描述符定义
5.6.2 端点描述符示例
5.7 设备限定描述符(Device Qualifier)
5.7.1 设备限定描述符的定义
5.7.2 设备限定描述符示例
5.8 其他速率配置描述符(Other SpeedConfiguration)
5.8.1 其他速率配置描述符的定义
5.8.2 其他速率配置描述符示例
5.9 USB设备请求概述
5.9.1 标准USB设备请求概述
5.9.2 USB设备请求处理过程
5.10 读取状态请求(GetStatus)
5.10.1 读取设备
5.10.2 读取接口
5.10.3 读取端点
5.11 清除特性请求(ClearFeature)
5.11.1 清除设备特性
5.11.2 清除接口特性
5.11.3 清除端点特性
5.12 设置特性请求(SetFeature)
5.12.1 设置设备特性
5.12.2 设置接口特性
5.12.3 设置端点特性
5.12.4 设置测试特性
5.13 设置地址请求(SetAddress)
5.14 读取描述符请求(GetDescription)
5.15 设置描述符请求(SetDescriptor)
5.16 读取配置请求(GetConfiguration)
5.17 设置配置请求(SetConfiguration)
5.18 读取接口请求(GetInterface)
5.19 设置接口请求(SetInterface)
5.20 同步帧请求(SynchFrame)
5.21 设备请求示例
5.21.1 声明设备请求
5.21.2 设备请求的响应
5.22 小结
第6章 USB集线器配置
6.1 USB集线器简介
6.1.1 集线器设备类
6.1.2 集线器的配置
6.2 USB集线器描述符
6.2.1 集线器设备描述符
6.2.2 集线器配置描述符
6.2.3 集线器接口描述符
6.2.4 集线器端点描述符
6.2.5 集线器类描述符
6.3 USB集线器类请求
6.3.1 读取集线器状态请求GetHubStatus
6.3.2 读取下行端口状态请求GetPortStatus
6.3.3 禁止集线器的特性请求ClearHubFeature
6.3.4 禁止下行端口特性请求ClearPortFeature
6.3.5 使能集线器特性请求SetHubFeature
6.3.6 使能下行端口特性请求SetPortFeature
6.3.7 读取集线器描述符请求GetHubDescriptor
6.3.8 设置集线器描述符请求SetHubDescriptor
6.3.9 清除TT块请求ClearTTBuffer
6.3.10 复位TT块请求ResetTT
6.3.11 读取TT内部状态请求GetTTState
6.3.12 停止TT正常工作请求
StopTT
6.4 小结
第7章 USB HID设备配置
7.1 USB HID设备简介
7.2 USB HID设备描述符
7.2.1 USB HID设备的定义
7.2.2 USB HID基本描述符
7.2.3 USB HID类描述符
7.3 USB HID设备类请求
7.3.1 获取报告请求GetReport
7.3.2 获取空闲速率请求GetIdle
7.3.3 获取HID协议请求GetProtocol
7.3.4 设置报告请求SetReport
7.3.5 设置空闲速率请求SetIdle
7.3.6 设置HID协议请求SetProtocol
7.4 小结
第8章 常用的USB芯片
8.1 USB芯片分类概述
8.1.1 通用USB芯片
8.1.2 专用USB芯片
8.2 通用USB 接口芯片
8.2.1 高速USB接口芯片E