图书介绍
USB 2.0硬件设计 第2版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 萧世文,宋延清编著 著
- 出版社: 北京:清华大学出版社
- ISBN:7302139792
- 出版时间:2006
- 标注页数:431页
- 文件大小:30MB
- 文件页数:444页
- 主题词:电子计算机-接口-程序设计
PDF下载
下载说明
USB 2.0硬件设计 第2版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 USB简介1
1.1 USB的发展史2
1.1.1 规范的版本3
1.1.2 USB 2.04
1.1.3 IEEE-13944
1.2 USB的优点4
1.2.1 容易使用4
1.2.2 传输速度快5
1.2.3 低价位6
1.2.4 低功耗6
1.2.5 可靠性6
1.2.6 操作系统的支持7
1.2.7 外围设备的支持7
1.2.8 灵活性7
1.3.1 缺乏对旧硬件的支持8
1.2.9 USB实施者论坛8
1.3 USB的缺点8
1.3.2 缺乏点对点的通信能力9
1.3.3 速度的限制9
1.3.4 距离的限制9
1.3.5 硬件的错误或故障9
1.3.6 协议的复杂性9
1.3.7 费用9
1.4 与其他接口的比较10
1.5 PC的软硬件要求11
1.5.1 主机控制器11
1.5.2 操作系统11
1.5.3 组件12
1.5.4 总线拓扑13
1.6 主机的责任15
1.5.5 连接端口15
1.7 外围设备的责任16
1.8 传输速度19
1.9 开发流程20
1.9.1 所需的链路元件20
1.9.2 开发工具20
1.9.3 开发步骤21
第2章 USB传输23
2.1 传输的基础23
2.1.1 配置通信23
2.1.2 应用程序通信23
2.1.3 管理总线的数据24
2.1.4 主机速度和总线速度25
2.2.1 设备的端点26
2.2 传输要素26
2.2.2 管道27
2.2.3 传输类型27
2.2.4 消息管道与流管道29
2.2.5 传输的初始化29
2.3 事务30
2.3.1 事务的步骤31
2.3.2 信息包的顺序33
2.3.3 定时约束和保障34
2.3.4 分割事务34
2.4 联络信号36
2.4.1 ACK37
2.4.2 NAK37
2.4.3 STALL37
2.4.5 ERR38
2.4.6 无响应38
2.4.4 NYET38
2.4.7 控制传输的状态39
2.5 错误的检验39
2.5.1 错误校验位39
2.5.2 数据交替位40
2.6 控制传输41
2.6.1 结构41
2.6.2 信息包的大小44
2.6.3 传输速度44
2.6.4 检测错误45
2.7 批量传输46
2.7.1 结构46
2.7.4 检测错误47
2.8 中断传输47
2.7.2 信息包大小47
2.7.3 传输速度47
2.8.1 结构48
2.8.2 信息包大小48
2.8.3 传输速度48
2.8.4 检测错误49
2.9 等时传输49
2.9.1 结构49
2.10 时间关键的传输51
2.10.1 总线的带宽51
2.9.2 信息包大小51
2.9.4 检测错误51
2.9.3 传输速度51
2.10.2 设备的能力52
2.10.3 主机软件的能力52
2.10.4 Windows的延迟52
3.1 检测设备的过程54
第3章 检测设备54
3.1.1 检测的步骤55
3.1.2 检测集线器58
3.1.3 移除设备58
3.2 描述符59
3.2.1 类型59
3.2.2 设备描述符60
3.2.3 Device_Qualifier描述符62
3.2.4 配置描述符64
3.2.5 Other_Speed_Configuration描述符65
3.2.6 接口描述符66
3.2.7 端点描述符68
3.2.8 字符串描述符70
3.3 USB 2.0兼容设备的描述符73
4.1 设置阶段75
第4章 控制传输75
4.1.1 令牌信息包76
4.1.2 数据信息包77
4.1.3 联络信息包79
4.2 数据阶段80
4.2.1 令牌信息包81
4.2.2 数据信息包81
4.2.3 联络信息包81
4.3 状态阶段81
4.3.1 令牌信息包82
4.3.2 数据信息包82
4.3.3 联络信息包82
4.4 检测错误83
4.5 请求83
4.5.1 Clear_Feature84
4.5.3 Get_Descriptor85
4.5.2 Get_Configuration85
4.5.4 Get_Interface86
4.5.5 Get_Status87
4.5.6 Set_Address88
4.5.7 Set_Configuration88
4.5.8 Set_Descriptor89
4.5.9 Set_Feature89
4.5.10 Set_Interface90
4.5.11 Synch_Frame91
4.5.12 类别特定的请求91
4.5.13 厂商特定的请求92
第5章 USB控制器芯片93
5.1 USB控制器的组成93
5.1.1 USB连接端口93
5.1.4 程序内存94
5.1.2 数据缓冲区94
5.1.3 CPU94
5.1.5 数据存储器95
5.1.6 寄存器95
5.1.7 其他接口95
5.1.8 其他特性96
5.2 USB控制器芯片结构96
5.2.1 专为USB设计的芯片96
5.2.2 与现有的芯片兼容98
5.2.3 需要外部微处理器接口的芯片99
5.2.4 芯片的文件102
5.2.5 固件示例程序102
5.2.6 驱动程序103
5.2.7 调试工具103
5.2.8 开发计划的考虑104
5.3 Cypress enCoRe105
5.3.1 CPU结构105
5.3.2 USB控制器106
5.4 Cypress EZ-USB106
5.4.1 CPU结构107
5.4.2 USB控制器109
5.5 Microchip PIC 16C7x5109
5.5.1 结构109
5.5.2 USB控制器111
5.6 Netchip NET2888111
5.6.1 结构111
5.6.2 USB控制器112
5.7.1 结构113
5.7 National Semiconductor USBN9603113
5.7.2 USB控制器114
5.8 Philips Semiconductor PDIUSBD11/12114
5.8.1 结构115
5.8.2 USB控制器115
第6章 Cypress enCoRe116
控制器芯片116
6.1 选择适合的芯片116
6.2 汇编语言编译器116
6.2.1 汇编程序的基础118
6.2.2 汇编语言码119
6.2.3 汇编语言编译器的用法120
6.3 C编译器122
6.3.1 C语言的优点122
6.4.1 特性和限制123
6.4.2 芯片内部123
6.4 芯片的结构123
6.3.2 C编译器的用法123
6.4.3 内存124
6.4.4 程序堆栈指针127
6.4.5 数据堆栈指针127
6.5 USB通信127
6.5.1 设备地址129
6.5.2 模式129
6.5.3 端点状态及控制131
6.5.4 USB状态及控制131
6.6 其他I/O133
6.6.1 一般用途的I/O133
6.6.2 内部电路133
6.6.3 中断135
6.6.4 SPI连接端口136
6.6.5 PS/2接口137
6.7 定时器的功能138
6.7.1 执行定时工作138
6.7.2 测量时距139
6.8 中断的处理140
6.8.1 中断服务例程140
6.8.2 GPIO中断141
6.8.3 USB端点中断142
6.8.4 定时器中断142
6.8.5 中断状态143
6.9 CPU的状态、控制及脉冲144
6.9.1 暂停CPU144
6.9.2 重置144
6.9.4 电源的管理146
6.10 硬件的工作146
6.9.3 选择和控制脉冲146
6.11 固件的工作147
6.11.1 端点0中断147
6.11.2 传送数据给主机149
6.11.3 从主机接收数据151
6.11.4 处理中断传输153
6.11.5 其他的响应153
6.12 硬件开发工具154
6.12.1 平台板154
6.12.2 监视/调试器155
第7章 驱动程序157
7.1 设备驱动程序157
7.2 设备驱动程序的来源158
7.2.1 标准设备类型158
7.4 Win32驱动程序模型159
7.3 设备驱动程序的执行模式159
7.2.2 客户化设备159
7.5 分层的驱动程序161
7.5.1 USB驱动程序层161
7.5.2 函数驱动程序161
7.5.3 总线驱动程序162
7.6 通信的流程163
7.6.1 用户的角色163
7.6.2 应用程序的角色163
7.6.3 设备驱动程序的角色165
7.6.4 集线器驱动程序的角色166
7.6.5 总线类别驱动程序的角色166
7.6.6 主机控制器驱动程序的角色167
7.6.7 设备的角色167
7.6.8 响应167
7.8 编写客户化的驱动程序168
7.7.2 厂商提供的驱动程序168
7.7 驱动程序的类型168
7.7.1 Windows提供的驱动程序168
7.6.9 通信的终结168
7.8.1 工具软件169
7.8.2 WinRT for USB169
7.8.3 WinDriver USB171
7.8.4 提供函数库的工具软件172
7.9 Windows如何选择驱动程序173
7.9.1 .inf文件173
7.9.2 注册表174
7.9.3 检测特定的设备175
7.9.4 检测通用的设备176
7.10 .inf文件简介176
7.10.1 语法178
7.10.3 ClassInstall区段179
7.10.2 Version区段179
7.10.4 Manufacturer区段180
7.10.5 DestinationDirs区段180
7.10.6 Strings区段182
7.10.7 HID的通用.inf文件182
7.10.8 建立.inf文件的工具182
7.10.9 使用.inf文件的技巧183
第8章 设备类别185
8.1 类别185
8.1.1 类别规范185
8.1.2 类别的定义186
8.2 标准类型的设备188
8.2.1 键盘、鼠标和游戏杆188
8.2.2 大容量存储设备188
8.2.3 打印机192
8.2.4 数码相机和扫描仪193
8.2.5 音频195
8.2.6 调制解调器196
8.3 非标准类型的设备197
8.3.1 以中等速度传输数据的设备197
8.3.2 更新RS-232设备197
8.3.3 POS设备199
8.3.4 取代非标准并行端口设备199
8.3.5 PC到PC的连接200
8.3.6 无线连接200
第9章 设备测试202
9.1 USB测试工具202
9.1.1 测试203
9.1.2 HIDView207
9.2.1 协议分析器208
9.2 测试仪器208
9.2.2 USB Expert的硬件209
9.2.3 USB Expert的软件209
9.2.4 CATC Traffic Generator211
9.2.5 Root 1测试适配器212
9.3 测试和标记212
9.3.1 USB实施者论坛的合格计划213
9.3.2 USB标志214
9.3.3 Windows硬件品质实验室测试214
9.3.4 驱动程序签名214
第10章 电源管理和信号编码216
10.1 电源的管理216
10.1.1 电压216
10.1.2 可以使用总线电源的设备216
10.1.3 电源要求217
10.2 集线器电源218
10.1.4 通知主机218
10.2.1 电的来源219
10.2.2 过流保护221
10.2.3 电源开关222
10.3 节省电能222
10.3.1 全局挂起和选择挂起222
10.3.2 挂起设备的限制222
10.3.3 恢复通信223
10.4 低速和中速的总线状态223
10.4.1 Differential 1和Differential 0状态224
10.4.5 闲置状态225
10.4.8 信息包结束225
10.4.7 信息包开始225
10.4.6 恢复状态225
10.4.4 Data J和Data K状态225
10.4.3 Single-ended 1状态225
10.4.2 Single-ended 0状态225
10.4.9 未连接状态226
10.4.10 连接状态226
10.4.11 重置状态226
10.5 高速的总线状态226
10.5.1 高速Differential 1和Differential 0状态227
10.5.2 高速Data J和Data K状态228
10.5.3 Chirp J和Chirp K228
10.5.4 高速Squelch228
10.5.5 高速闲置228
10.5.6 高速信息包开始228
10.5.7 高速信息包结束228
10.6 数据编码229
10.6.1 维持同步229
10.5.8 高速未连接状态229
10.6.2 位填充230
10.6.3 SYNC字段230
10.6.4 信息包结尾231
10.6.5 时序正确性231
10.7 信息包格式232
10.7.1 SYNC字段232
10.7.2 PID字段232
10.7.3 地址字段233
10.7.4 端点字段233
10.7.5 帧号码字段233
10.7.6 数据字段233
10.7.7 CRC字段234
10.7.8 信息包间的延迟234
10.8 测试模式234
11.1 接收器与信号237
第11章 电路接口237
11.2 低速和中速接收器238
11.3 高速接收器240
11.3.1 电路240
11.3.2 转换速度241
11.3.3 检测高速设备的移除242
11.3.4 高速的挂起和恢复242
11.4 信号电压243
11.4.1 低速和中速243
11.4.2 高速243
11.5 电缆246
11.5.1 连接器248
11.5.2 可拆分的与捕获性的电缆249
11.6.2 平衡线250
11.6.1 噪声250
11.6 信号的品质250
11.5.3 电缆长度250
11.6.3 双绞线251
11.6.4 边缘速率251
第12章 集线器252
12.1 集线器的基础252
12.1.1 避免设备进入挂起状态253
12.1.2 可串联的集线器数目253
12.2 集线器中继器254
12.2.1 低速和中速的中继器254
12.2.2 高速的中继器254
12.3 事务转换器255
12.4 集线器控制器256
12.5 速度257
12.6 集线器类别257
12.6.1 标准描述符258
12.6.2 集线器描述符260
12.6.3 标准请求261
12.6.4 集线器类别请求262
12.6.5 连接端口指示器265
第13章 HID设备266
13.1 HID简介266
13.1.1 硬件要求267
13.1.2 固件要求268
13.2 HID的描述符269
13.2.1 描述符的内容272
13.2.2 HID类别描述符272
13.2.3 报表描述符274
13.3 HID特定请求278
13.3.3 Get_Idle279
13.3.1 Get_Report279
13.3.2 Set_Report279
13.3.4 Set_Idle280
13.3.5 Get_Protocol281
13.3.6 Set_Protocol281
13.4 传输数据281
13.4.1 发送数据给主机282
13.4.2 从主机接收数据283
13.5 报表的结构285
13.5.1 HID Descriptor Tool286
13.5.2 短项目287
13.5.3 长项目287
13.6 Main项目类型288
13.6.1 Input、Output和Feature项目288
13.7 Global项目类型291
13.6.2 Collection与End Collection标记291
13.7.1 识别报表292
13.7.2 数据的使用293
13.7.3 转换原始数据294
13.7.4 数据的大小与格式296
13.7.5 Global项目的储存与恢复296
13.8 Local项目类型296
13.9 填充298
13.10 实体描述符298
第14章 HID程序设计300
14.1 主机的通信300
14.1.1 说明文件301
14.1.2 HID函数301
14.1.3 DirectX302
14.2.1 使用Visual C++303
14.2 调用API函数303
14.2.2 使用Visual Basic304
14.3 取得HID类别的GUID305
14.3.1 使用Visual C++306
14.3.2 使用Visual Basic306
14.4 取得HID信息的结构数组307
14.4.1 使用Visual C++307
14.4.2 使用Visual Basic307
14.4.3 详解307
14.5 识别HID接口308
14.5.1 使用Visual C++308
14.5.2 使用Visual Basic308
14.5.3 详解309
14.6 取得设备的路径309
14.6.1 使用Visual C++310
14.6.2 使用Visual Basic311
14.7 取得设备的代号312
14.7.1 使用Visual C++312
14.7.2 使用Visual Basic313
14.8 取得厂商与产品ID314
14.8.1 使用Visual C++314
14.8.2 使用Visual Basic314
14.8.3 详解315
14.9 取得包含设备能力的缓冲区指针315
14.9.1 使用Visual C++315
14.9.2 使用Visual Basic315
14.9.3 详解316
14.10 取得设备的能力316
14.10.1 使用Visual C++316
14.11 取得数值的能力317
14.10.2 使用Visual Basic317
14.10.3 详解317
14.12 发送输出报表给设备318
14.12.1 使用Visual C++318
14.12.2 使用Visual Basic318
14.12.3 详解319
14.13 从设备读取输入报表319
14.13.1 使用Visual C++320
14.13.2 使用Visual Basic320
14.13.3 详解321
14.14 使用重叠ReadFile读取报表321
14.14.1 使用Visual C++322
14.14.2 使用Visual Basic323
14.15 使用多线程的ReadFile读取报表324
14.15.1 使用Visual C++324
14.16.1 使用Visual C++326
14.16.2 使用Visual Basic326
14.15.2 使用Visual Basic326
14.16 发送特征报表给设备326
14.17 从设备读取特征报表327
14.17.1 使用Visual C++327
14.17.2 使用Visual Basic327
14.18 关闭通信327
14.18.1 使用Visual C++328
14.18.2 使用Visual Basic328
第15章 HID设备开发实例330
15.1 HID设备开发综述330
15.2 HID温度计开发示例333
15.3 用C语言来设计固件400
附录 USB参考资料430
热门推荐
- 146532.html
- 2662399.html
- 3616698.html
- 1302753.html
- 2383507.html
- 3454838.html
- 1163679.html
- 3784629.html
- 691478.html
- 1232804.html
- http://www.ickdjs.cc/book_2896714.html
- http://www.ickdjs.cc/book_2214838.html
- http://www.ickdjs.cc/book_1731721.html
- http://www.ickdjs.cc/book_2757504.html
- http://www.ickdjs.cc/book_580008.html
- http://www.ickdjs.cc/book_3794011.html
- http://www.ickdjs.cc/book_764094.html
- http://www.ickdjs.cc/book_294566.html
- http://www.ickdjs.cc/book_739438.html
- http://www.ickdjs.cc/book_3422965.html