微控制器USB的技术及应用入门
作者:工业和信息化部人才交流中心
出版社:电子工业出版社
出版时间:2018-07-01
ISBN:9787121345869
定价:¥68.00
第1章 USB基础及协议概述 1
1.1 简介 2
1.1.1 背景 2
1.1.2 USB的特点 2
1.2 系统架构 4
1.2.1 USB总线架构 4
1.2.2 USB主机和设备 5
1.2.3 USB分层结构 6
1.2.4 USB物理连接 7
1.2.5 USB2.0电气特性 9
1.2.6 USB2.0设备速度的识别 10
1.2.7 USB2.0电源 11
1.3 USB2.0事务处理及数据传输 12
1.3.1 包 13
1.3.2 事务 15
1.4 USB2.0数据传输类型 15
1.4.1 控制传输 16
1.4.2 批量传输 19
1.4.3 中断传输 21
1.4.4 同步传输 22
1.5 USB2.0设备 24
1.5.1 USB设备状态 24
1.5.2 USB总线枚举 27
1.5.3 描述符 27
1.5.4 设备请求 35
1.5.5 枚举过程 38
1.6 USB2.0主机 40
1.6.1 USB主机结构 40
1.6.2 USB主控制器功能 42
1.6.3 客户软件 45
1.6.4 系统软件 46
1.6.5 主控制器驱动程序 48
1.6.6 总线驱动程序 49
1.6.7 嵌入式USB主机控制器 51
1.7 USB调试辅助工具 51
1.7.1 Bus Hound 52
1.7.2 Ellisys的USB Explorer系列 52
1.7.3 LeCroy的Mercury系列 54
第2章 USB硬件设计 55
2.1 USB接口简介 56
2.2 USB电气特性 58
2.2.1 低速USB驱动器电气特性 59
2.2.2 全速USB驱动器电气特性 60
2.2.3 高速USB驱动器电气特性 63
2.2.4 低速和全速接收器特性 63
2.2.5 器件速度识别 64
2.2.6 信号电平 65
2.2.7 数据编码/解码 66
2.2.8 电源分布 68
2.2.9 电压跌落要求 71
2.2.10 信号质量的评定 72
2.3 USB电路设计 72
2.3.1 设备 73
2.3.2 主机 74
2.3.3 OTG应用 74
2.3.4 USB信号的防护 75
2.3.5 信号完整性电路设计 76
2.4 硬件电路常见的问题 77
第3章 基于SDK的USB协议栈 79
3.1 简介 80
3.2 Device协议栈 81
3.2.1 协议栈架构 81
3.2.2 协议栈初始化流程 82
3.2.3 协议栈工作流程 86
3.2.4 协议栈接口 91
3.2.5 控制器驱动接口 95
3.2.6 HID类接口 97
3.2.7 MSC类接口 98
3.2.8 CDC类接口 98
3.2.9 Audio类接口 99
3.2.10 Video类接口 100
3.3 Host协议栈 101
3.3.1 协议栈架构 101
3.3.2 协议栈初始化流程 102
3.3.3 协议栈工作流程 104
3.3.4 Host驱动接口 107
3.3.5 控制器驱动接口 113
3.3.6 HID类接口 115
3.3.7 MSC类接口 116
3.3.8 CDC类接口 117
3.3.9 Audio类接口 118
第4章 USB HID类应用开发 119
4.1 简介 120
4.1.1 什么是HID 120
4.1.2 HID类 120
4.1.3 子类及编码 121
4.1.4 协议编码 121
4.1.5 接口 122
4.2 描述符及请求 123
4.2.1 基础知识 123
4.2.2 描述符 127
4.2.3 请求 133
4.3 代码实例 139
4.3.1 工程关键文件及代码介绍 139
4.3.2 运行工程查看结果 144
4.3.3 枚举过程详细解析 144
4.3.4 报告过程详细解析 150
4.4 HID类的其他应用 151
第5章 USB MSC类应用开发 152
5.1 简介 153
5.1.1 MSC设备的一般工作流程 154
5.1.2 USB MSC协议简介 155
5.2 请求及描述符 156
5.2.1 MSC设备接口描述符 156
5.2.2 MSC设备端点描述符 157
5.2.3 MSC类标准请求 157
5.2.4 Buck-Only Transport协议的数据流模型 160
5.2.5 批量数据的传输具体细节 163
5.3 代码实例 173
5.3.1 MSC设备入门例程 173
5.3.2 SD卡读卡器例程 176
第6章 USB CDC类应用开发 178
6.1 简介 179
6.1.1 USB CDC类 180
6.1.2 CDC类设备的组成 180
6.2 请求及描述符 181
6.2.1 CDC设备配置描述符 181
6.2.2 通信接口描述符 182
6.2.3 数据接口描述符 186
6.2.4 CDC类请求 187
6.3 代码实例 189
第7章 USB Audio类应用开发 192
7.1 简介 193
7.1.1 音频接口集与音频接口关联 194
7.1.2 音频接口类、子类及协议 195
7.1.3 音频功能类别 196
7.1.4 音频同步类型 196
7.1.5 声道间同步 197
7.1.6 音频功能拓扑 198
7.1.7 编码与解码 206
7.1.8 复制保护 206
7.1.9 操作模型 206
7.2 描述符、请求与中断 208
7.2.1 描述符 208
7.2.2 请求 221
7.2.3 中断 230
7.3 代码实例 232
7.3.1 SDK USB音频类应用 232
7.3.2 SDK USB音频类的实现 233
第8章 USB组合类应用开发 235
8.1 简介 236
8.2 请求及描述符 237
8.2.1 设备描述符的修改 238
8.2.2 使用IAD时的用户编程模型 238
8.2.3 接口联合描述符 239
8.2.4 其他 240
8.3 代码实例 241
8.3.1 SDK中composite类例程 241
8.3.2 U盘+虚拟串口例程 241
第9章 USB Hub应用开发 244
9.1 简介 245
9.2 请求与描述符 246
9.2.1 标准描述符 246
9.2.2 Hub描述符 246
9.2.3 Hub请求 247
9.3 SDK的实现 249
9.3.1 主机识别Hub 249
9.3.2 主机识别Hub上设备连接 251
9.3.3 主机识别Hub上设备断开 252
9.3.4 Hub转发传输 253
第10章 USB兼容性测试 261
10.1 简介 262
10.2 测试要求 262
10.2.1 测试设备 263
10.2.2 测试软件 265
10.3 电气测试流程 266
10.3.1 低/全速USB测试 266
10.3.2 高速USB测试 272
10.3.3 主机高速信号测试 278
10.4 常见问题和解决办法 283
10.4.1 主设备信号质量测试 283
10.4.2 USB信号布线 284
10.4.3 ESD器件的影响 285
10.4.4 USB收发器电气特性 285
10.4.5 设备(全速)反向电压测试 286
10.4.6 设备(全速)浪涌电流测试 286
10.4.7 主机电压跌落测试 287
参考文献 289