第1章 深入理解USB信号 1
1.1 USB的电气特性和信号 2
1.1.1电气特性 3
1.1.2驱动特性 7
1.1.3 USB信号特性 9
1.1.4数据包编码 18
1.2连接和断开的检测 20
1.2.1连接状态的检测 21
1.2.2断开状态的检测 24
1.3速度检测 28
1.3.1低速和全速设备识别 28
1.3.2高速设备识别 29
第2章 深入理解USB协议 35
2.1通信协议 36
2.1.1概要 38
2.1.2包 39
2.1.3事务 44
2.1.4传输 55
2.1.5数据翻转 62
2.1.6标准USB设备请求 69
2.2 USB描述符 71
2.2.1设备描述符 73
2.2.2配置描述符 74
2.2.3接口描述符 75
2.2.4端点描述符 76
2.2.5字符串描述符 77
2.2.6接口关联描述符 78
2.2.7设备限定描述符 79
2.2.8其他速度模式下的配置描述符 79
2.3枚举 80
2.3.1设备状态 80
2.3.2枚举流程 83
2.4挂起和恢复 90
2.4.1挂起 90
2.4.2恢复 92
2.4.3高速模式下的挂起信号和复位信号的区别 98
2.5端点停止 100
2.5.1功能停止 100
2.5.2协议停止 103
2.6 OTG简介 104
2.6.1角色 105
2.6.2协议 105
2.6.3 OTG设备状态迁移 111
2.6.4 OTG工作流程 118
第3章USB硬件控制器 121
3.1增强主机控制器接口 122
3.1.1寄存器接口 123
3.1.2 EHCI连接/断开检测 125
3.1.3 EHCI速度检测 128
3.1.4 USB主机传输调度机制 130
3.1.5 USB设备传输调度机制 137
3.1.6 EHCI枚举的软件实现 139
3.1.7 EHCI挂起和恢复 140
3.1.8 EHCI异常处理 142
3.2 Kinetis主机控制器接口 143
3.2.1外围硬件设计 144
3.2.2控制器接口 145
3.2.3 KHCI连接/断开检测 151
3.2.4 KHCI速度检测 154
3.2.5 KHCI传输实现 155
3.2.6 KHCI枚举的软件实现 158
3.2.7 KHCI挂起和恢复 158
3.2.8 KHCI端点停止处理 161
第4章USB音频演示程序 163
4.1 USB音频 164
4.1.1 USB音频功能实现拓扑 164
4.1.2音频控制接口和描述符 165
4.1.3音频流接口和描述符 172
4.1.4 USB音频描述符实例 177
4.1.5音频设备请求 182
4.1.6 USB音频类2.0简介 184
4.2 USB音频流同步 187
4.2.1反馈端点同步方案 188
4.2.2调节时钟同步方案 192
4.3 USB音频演示程序代码分析 192
4.3.1连接/断开检测代码分析 192
4.3.2速度检测代码分析 198
4.3.3枚举、挂起和恢复代码分析 202
4.3.4音频流同步代码分析 208
4.3.5 USB音频示例演示 212
第5章USB认证 215
5.1 USB认证的简介 216
5.2 USB认证的流程 218
5.2.1获得供应商识别码 218
5.2.2准备USB兼容性测试清单 219
5.2.3送USB授权实验室进行测试 220
5.2.4获得合格报告及证书 221
5.3典型的测试用例 221
5.3.1不受支持的设备信息 222
5.3.2最大集线器层次数 222
5.3.3电源预算指示 222
5.3.4 PET测试 223
5.3.5 USB测试模式 223
5.3.6 USB特殊单步测试用例 226
第6章USB Type-C及供电协议 231
6.1 Type-C 232
6.1.1接口定义 233
6.1.2角色定义 235
6.1.3热拔插检测 239
6.1.4正反插检测 240
6.1.5供电功能 243
6.1.6附属模式 243
6.2供电协议 244
6.2.1供电协议规范定义 245
6.2.2供电规则 252
6.2.3供电协商 252
6.2.4供电切换 255
6.2.5通信功能协商 257
6.2.6复用模式 258
6.3解决方案 262
6.3.1硬件支持 262
6.3.2演示程序 265
参考文献 271