目 录 1
第1章把I/O设备加到现代的PC 1
1-1动手上机的例子 2
1-2你需要怎样的技术背景 3
1-3本书的重点 3
1-4现代PC:一段简短的历史 4
1-4-1操作简单、价格低廉 5
1-5 USB术语 5
1-5-2 USB电缆 7
1-5-1 PC主机 7
2-3-1 开始帧令牌包(Start-of-Frame Token Packet) 1 8
1-5-3集线器设备 9
1-5-4 I/O设备 10
1-6 USB对PC主机的冲击 12
本章小结 14
第2章走近数据线 15
2-1 差动信号 16
2-2包的构成 17
2-3包的类型 18
6-3-4示例3——第4步:应用程序代码 1 18
6-4示例4:增加很多很多端口(与微控制器无关) 1 19
2-3-2 Setup,IN和OUT令牌包 19
2-3-4握手包 20
2-3-3数据传送包 20
2-4建立一个事务处理 21
2-4-1 中断传输 22
2-4-2块传输 23
2-4-3 同步传输 23
2-4-4控制传输 24
2-5 PC主机请求 27
2-7针对低速设备的一个不同点 29
2-6错误处理 29
2-8在总线上观察USB包 30
本章小结 31
第3章枚举过程 33
3-1设备检测 34
3-2枚举步骤 35
3-3设备描述符 36
3-3-1配置描述符 38
3-4选择一个设备驱动程序 39
3-3-2接口描述符 39
3-5定义一个HID 40
3-5-1 HID描述符 41
3-5-2报告描述符 42
3-6 I/O设备方面 43
3-7最小I/O设备 44
3-8复杂I/O设备 48
本章小结 51
第4章PC主机上的运行时间软件 53
4-1 Visual Basic简介 55
4-2示例1:USB设备显示 57
4-2-1 示例1—第1步:人机接口设计 58
4-2-2示例1—第2步:程序初始化 59
4-2-3示例1—第3步:选择一个主控制器 60
4-2-4示例1—第4步:描述符显示 64
4-3-1示例2—第1步:人机接口设计 67
4-3示例2:HID显示 67
4-3-2示例2—第2步:程序初始化 68
4-4与一个HID交换数据 69
4-3-3示例2—第3步:显示HID信息 69
4-4-1报告描述符 70
4-4-2设计例子 73
本章小结 74
第5章开发工具 75
5-1开发环境 76
5-2目标的实现 77
5-2-1一个外部链接方式的例子 78
5-2-2一个调试监视器的例子 79
5-2-3一个集成的调试监视程序的例子 80
5-2-4 USB外部设备的例子 81
5-2-5 USB ASIC例子 82
5-3软件开发工具 83
5-4 USB专用工具 84
5-4-1 USB单步 84
5-4-2 USB视图 85
5-4-3 HID视图 86
5-4-4 HID表格产生器 86
本章小结 87
第6章按钮和灯 89
6-1 示例1:简单的设计,集成的USB端口 90
6-1-1 示例1——第1步:设计硬件 91
6-1-2示例1——第2步:完成描述符 91
6-1-3示例1——第3步:实现微控制器代码 93
6-1-4示例1——第4步:应用程序代码 112
6-2示例2:简单设计,外部USB端口 113
6-2-1 示例2——第1步:设计硬件 113
6-2-2示例2——第2步:完成描述符 114
6-2-3示例2——第3步:实现微控制器代码 114
6-2-4示例2——第4步:应用程序代码 115
6-2-5示例2——设计小结 115
6-2-6示例2——真实世界产品实例 115
6-3示例3:加入更多的端口(与微控制器无关) 116
6-3-1 示例3——第1步:硬件设计 116
6-3-2示例3——第2步:完成描述符 118
6-3-3示例3——第3步:实现微控制器代码 118
6-4-1 示例4——第1步:设计硬件 119
6-4-2示例4——第2步:完成描述符 120
6-4-3示例4——第3步:实现微控制器代码 122
6-4-4示例4——第4步:应用程序代码 122
本章小结 122
第7章 从ISA迁移 125
7-1 IN和OUT的特殊性 127
7-2制作一个ISA卡 128
7-4从ISA迁移 129
7-3 即插即用ISA 129
7-4-1 软件移植 130
7-5 用户I/O示例 132
7-5-1 设计优化 136
本章小结 138
第8章 构建USB桥 139
8-1 USB到RS-232桥的设计 140
8-2串行通信外围设备的设计 144
8-2-1首先,看看通信标准 145
8-2-2直接线控制调制解调器例子 146
8-3并行设备例子 153
8-3-1软盘驱动器 153
8-3-2 SCSI设备 155
8-4另外的桥 156
8-5条形码扫描器例子 157
本章小结 159
第9章与数字世界相连接 161
9-1 I2C接口 162
9-1-1 I2C规范 162
9-1-2 I2C小结 165
9-2温度计应用 165
9-2-1例1:读温度 166
9-2-2例2:加温度限定值 168
9-2-3例3:使用一个多点的温度计 168
9-3-1 PC工业界红外标准 170
9-3红外子系统 170
9-2-4温度计应用小结 170
9-3-2例1:IrDA数据 171
9-3-3例2:IrDA控制 174
9-3-4例3:消费工业IR 176
9-3-5红外子系统小结 178
本章小结 179
第1 0章连接到现实世界 181
10-1输出信号调理 182
10-2电机控制 183
10-2-1例1:步进电机 183
10-2-2例2:直流电机 186
10-3-1例3:照明控制面板 187
10-3控制市电供电的设备 187
10-4现实世界中的模拟信号 189
10-4-1模拟转换例子 189
10-4-2传感器输入 193
10-5数据采集和仪器 195
10-5-1 USB模块例子 195
10-5-2 USB工业系列例子 199
10-5-3设备盒例子 200
本章小结 201
第1 1章我喜欢那样的声音 203
1 1-1创建数字声音 205
11-1-1采样的声音 205
11-1-2合成声音 206
1 1-2 MIDI协议 207
11-2-1 MIDI硬件接口 208
11-2-2 MIDI合成器 210
11-2-3 MIDI文件格式 210
11-3 USB对声音的支持 211
11-3-1例1:音频输出 211
11-3-2例2:音频输入 213
11-3-3软件的功能控制 215
11-4电话连接 217
11-4-1例3:电话设计 219
本章小结 220
第1 2章我能看见你 221
12-1调整视频数据大小 222
12-1-1视频压缩的重要性 223
12-2系列视频解决方案 224
12-2-1例1:视频会议摄像机 225
12-2-2例2:复合视频 226
12-2-3例3:数字视频创建 228
12-3 USB在视频领域的应用 230
12-3-1数字显微镜 230
12-3-2生物测量学 230
本章小结 232
第1 3章设计一个集线器 233
13-1基本的集线器 235
13-1-1集线器中继器 235
13-1-2集线器控制器 236
13-1-3电源控制 238
13-2构建一个复合设备 240
13-1-4基本集线器小结 240
13-3设计例子 241
13-3-1步骤1:加一个集线器 243
13-3-2步骤2:加I/O设备 245
13-3-3步骤3:扩充设计 245
本章小结 247
第1 4章把所有的东西组合到一起 249
14-1设计例子概述 250
14-1-1步骤1:调谐器前端子系统 251
14-1-2步骤2:视频转USB子系统 251
14-1-3步骤3:音频转USB子系统 252
14-1-4步骤4:集线器子系统 253
14-1-5步骤5:I2C控制子系统 253
14-1-7步骤7:设计优化 254
14-1-6步骤6:供电分配 254
14-1-8步骤8:PC主机应用 255
本章小结 256
第1 5章增加进入家庭的数据带宽 257
15-1 普通老式电话服务(POTS) 258
15-1-1 一个xDSL调制解调器的参考设计 259
15-1-2利用电话线的家庭连网 260
15-2重新审视有线电视同轴电缆 261
15-2-1线缆调制解调器例子 262
15-2-2电缆联网例子 264
15-3数字广播和PC 267
本章小结 270
附录A 271