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

- 萧世文编著 著
- 出版社: 北京:清华大学出版社
- ISBN:7302059373
- 出版时间:2002
- 标注页数:331页
- 文件大小:29MB
- 文件页数:344页
- 主题词:接口
PDF下载
下载说明
USB 2.0硬件设计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 信道14
1.5.5 连接端口15
1.6 主机的功能16
1.7 外围设备的功能17
1.8 传输速度19
1.9 开发的流程20
1.9.1 所需组件20
1.9.2 开发工具20
1.10 开发计划的步骤21
1.10.1 初步决定21
1.10.2 检测设备21
1.10.3 交换数据21
第2章 USB 传输22
2.1 传输的基础22
2.1.1 配置22
2.1.2 应用程序22
2.1.3 数据的管理23
2.1.4 总线速度24
2.2 传输的要件24
2.2.1 设备的端点25
2.2.2 管道26
2.2.3 传输类型26
2.2.4 消息管道与流管道27
2.2.5 传输的初始化28
2.3 事务28
2.3.1 事务的相位30
2.3.2 信息包的串行化32
2.3.3 时间的限制32
2.3.4 分割事务32
2.4 联络信号35
2.4.1 ACK35
2.4.4 NYET36
2.4.3 STALL36
2.4.2 NAK36
2.4.5 ERR37
2.4.6 没有响应37
2.4.7 控制传输的状态37
2.5 错误的检验38
2.5.1 错误校验位38
2.5.2 数据交替位38
2.6 控制传输39
2.6.1 结构40
2.6.2 信息包大小42
2.6.3 传输速度43
2.6.4 检测错误44
2.7 批量传输45
2.7.1 结构45
2.7.3 传输速度46
2.7.2 信息包大小46
2.7.4 检测错误48
2.8 中断传输48
2.8.1 结构48
2.8.2 信息包大小48
2.8.3 传输速度48
2.8.4 检测错误50
2.9 实时传输51
2.9.1 结构51
2.9.2 信息包大小52
2.9.3 传输速度52
2.9.4 检测错误54
2.10 时间关键的传输54
2.10.1 总线的带宽54
2.10.2 设备的能力54
2.10.4 Windows 的延迟55
2.10.3 主机软件的能力55
第3章 检测设备56
3.1 检测设备的过程56
3.1.1 检测的步骤57
3.1.2 检测集线器60
3.1.3 移除设备60
3.2 描述符61
3.2.1 类型61
3.2.2 设备描述符62
3.2.3 Device_Qualifier 描述符64
3.2.4 配置描述符66
3.2.5 Other_Speed_Configuration 描述符67
3.2.6 接口描述符68
3.2.7 端点描述符70
3.2.8 字符串描述符72
3.3 USB 2.0兼容设备的描述符75
第4章 控制传输77
4.1 设置阶段77
4.1.1 令牌信息包78
4.1.2 数据信息包79
4.1.3 联络信息包81
4.2 数据阶段82
4.2.1 令牌信息包83
4.2.2 数据信息包83
4.2.3 联络信息包83
4.3 状态阶段83
4.3.1 令牌信息包84
4.3.2 数据信息包84
4.3.3 联络信息包84
4.5 要求85
4.4 检测错误85
4.5.1 Clear_Feature86
4.5.2 Get_Configuration87
4.5.3 Get_Descriptor87
4.5.4 Get_Interface88
4.5.5 Get_Status89
4.5.6 Set_Address90
4.5.7 Set_Configuration90
4.5.8 Set_Descriptor91
4.5.9 Set_Feature91
4.5.10 Set_Interface92
4.5.11 Synch_Frame93
4.5.12 类别特定的要求93
4.5.12 厂商特定的要求94
5.1.1 USB 连接端口95
5.1 USB 控制器的组件95
第5章 USB 控制器芯片95
5.1.2 数据缓冲区96
5.1.3 CPU96
5.1.4 程序内存96
5.1.5 数据存储器97
5.1.6 寄存器97
5.1.7 其他接口97
5.1.8 其他特性98
5.2 芯片的结构98
5.2.1 专为 USB 设计的芯片98
5.2.2 与现有的芯片兼容100
5.2.3 需要外部微处理器接口的芯片101
5.2.4 芯片的文件103
5.2.7 调试工具104
5.2.6 驱动程序104
5.2.5 固件示例程序104
5.2.8 开发计划的考虑106
5.3 Cypress enCoRe107
5.3.1 CPU 结构107
5.3.2 USB 控制器107
5.4 Cypress EZ-USB108
5.4.1 CPU 结构108
5.4.2 USB 控制器110
5.5 Microchip PIC 16C7x5111
5.5.1 结构111
5.5.2 USB 控制器112
5.6 Netchip NET2888113
5.6.1 结构113
5.7 National Semiconductor USBN9603114
5.6.2 USB 控制器114
5.7.1 结构115
5.7.2 USB 控制器116
5.8 Philips Semiconductor PDIUSBD11/12116
5.8.1 结构116
5.8.2 USB 控制器117
第6章 Cypress enCoRe 控制器芯片118
6.1 选择适合的芯片118
6.2 汇编语言编译器118
6.2.1 汇编程序的基础120
6.2.2 汇编语言码121
6.2.3 汇编语言编译器的用法122
6.3 C 编译器124
6.3.1 C 语言的优点124
6.4.2 芯片内部125
6.4.1 特性与限制125
6.4 芯片的结构125
6.3.2 C 编译器的用法125
6.4.3 内存126
6.4.4 程序堆栈指针129
6.4.5 数据堆栈指针129
6.5 USB 通信129
6.5.1 设备地址131
6.5.2 模式131
6.5.3 端点状态与控制133
6.5.4 USB 状态与控制133
6.6 其他 I/O135
6.6.1 一般用途的 I/O135
6.6.2 内部电路135
6.6.3 中断137
6.6.4 SPI 连接端口138
6.6.5 PS/2接口139
6.7 定时器的功能140
6.7.1 执行定时工作140
6.7.2 测量时距141
6.8 中断的处理142
6.8.1 中断服务例程142
6.8.2 GPIO 中断143
6.8.3 USB 端点中断144
6.8.4 计时器中断144
6.8.5 中断状态145
6.9 CPU 的状态、控制与脉冲146
6.9.1 暂停 CPU146
6.9.2 重置146
6.9.4 电源的管理148
6.10 硬件的工作148
6.9.3 选择与控制脉冲148
6.11 固件的工作149
6.11.1 端点 O 中断149
6.11.2 传送数据给主机151
6.11.3 从主机接收数据153
6.11.4 处理中断传输155
6.11.5 其他的响应155
6.12 硬件开发工具156
6.12.1 平台板156
6.12.2 监视/调试器157
第7章 驱动程序159
7.1 设备驱动程序159
7.3 设备驱动程序的执行模式160
7.2.2 客户化设备160
7.2.1 标准设备类型160
7.2 设备驱动程序的来源160
7.4 Win32驱动程序模型161
7.4.1 程序语言162
7.5 分层的驱动程序162
7.5.1 USB 驱动程序层162
7.5.2 函数驱动程序162
7.5.3 总线驱动程序164
7.6 通信的流程164
7.6.1 用户的角色165
7.6.2 应用程序的角色165
7.6.3 设备驱动程序的角色166
7.6.4 集线器驱动程序的角色168
7.6.5 总线类别驱动程序的角色168
7.6.6 主机控制器驱动程序的角色168
7.7.1 Windows 提供的驱动程序169
7.7 驱动程序的类型169
7.7.2 厂商提供的驱动程序169
7.6.7 设备的角色169
7.6.9 通信的终结169
7.6.8 响应169
7.8 编写客户化的驱动程序170
7.8.1 工具软件170
7.8.2 WinRT for USB171
7.8.3 WinDriver USB172
7.8.4 提供函数库的工具软件173
7.9 Windows 如何选择驱动程序174
7.9.1 .inf 文件174
7.9.2 注册表175
7.9.3 检测特定的设备176
7.9.4 检测通用的设备177
7.10 .inf 文件简介177
7.10.1 语法179
7.10.2 Version 区段180
7.10.3 ClassInstall 区段180
7.10.4 Manufacturer 区段181
7.10.5 DestinationDirs 区段181
7.10.6 Strings 区段183
7.10.7 HID 的通用.inf 文件183
7.10.8 建立.inf 文件的工具183
7.10.9 使用.inf 文件的技巧184
第8章 设备类别186
8.1 类别186
8.1.1 类别规范186
8.1.2 类别的定义187
8.2 标准类型的设备188
8.2.2 大容量存储设备189
8.2.1 键盘、鼠标与游戏杆189
8.2.3 打印机193
8.2.4 数码相机与扫描仪194
8.2.5 音频196
8.2.6 调制解调器197
8.3 非标准类型的设备198
8.3.1 以中等速度传输数据的设备198
8.3.2 更新 RS-232设备198
8.3.3 POS 设备200
8.3.4 取代非标准并行端口设备200
8.3.5 PC 到 PC 的连接201
8.3.6 无线连接201
第9章 设备测试203
9.1 USB 测试工具203
9.1.1 测试204
9.1.2 HIDView208
9.2 测试仪器209
9.2.1 协议分析器209
9.2.2 USB Expert 的硬件210
9.2.3 USB Expert 的软件210
9.2.4 CATC Traffic Generator212
9.2.5 Root 1 Test Adapter213
9.3 测试与标志213
9.3.1 USB 实施者论坛合格计划214
9.3.2 校验表214
9.3.3 合格测试214
9.3.4 USB 标志215
9.3.5 Windows 硬件品质实验室测试215
9.3.6 驱动程序签名216
10.1.2 可以使用总线电源的设备217
10.1.1 电压217
10.1 电源的管理217
第10章 电源管理与信号编码217
10.1.3 电源要求218
10.1.4 通知主机219
10.2 集线器电源219
10.2.1 电的来源220
10.2.2 过流保护222
10.2.3 电源开关223
10.3 节省电能223
10.3.1 全域与选择挂起223
10.3.2 挂起设备的限制223
10.3.3 恢复通信224
10.4 低速与全速的总线状态224
10.4.1 Differential 1与 Differential 0状态225
10.4.2 Single-ended 0状态226
10.4.3 Single-ended 1状态226
10.4.4 Data J 与 K 状态226
10.4.5 闲置状态226
10.4.6 恢复状态226
10.4.7 信息包开始226
10.4.8 信息包结束226
10.4.9 未连接状态227
10.4.10 连接状态227
10.4.11 重置状态227
10.5 高速的总线状态227
10.5.1 高速 Differential 1与 Differential 0状态228
10.5.7 高速信息包结束229
10.5.6 高速信息包开始229
10.5.5 高速闲置229
10.5.3 Chirp J 与 Chirp K229
10.5.2 高速 Data J 与 K 状态229
10.5.4 高速 Squelch229
10.5.8 高速未连接状态230
10.6 数据编码230
10.6.1 维持同步230
10.6.2 位填充231
10.6.3 SYNC 字段231
10.6.4 信息包结尾232
10.6.5 时序正确性232
10.7 信息包格式233
10.7.1 SYNC 字段233
10.7.2 PID 字段233
10.7.4 端点字段234
10.7.5 帧号码字段234
10.7.3 地址字段234
10.7.6 数据字段235
10.7.7 CRC 字段235
10.7.8 信息包间的延迟235
10.8 测试模式235
第11章 电路接口238
11.1 接收器与信号238
11.2 低速与全速接收器239
11.3 高速接收器241
11.3.1 电路241
11.3.2 转换速度242
11.3.3 检测高速设备的移除243
11.3.4 高速的挂起与恢复243
11.4 信号电压243
11.4.1 低速与全速243
11.4.2 高速244
11.5 电缆246
11.5.1 连接器248
11.5.2 可拆分的与捕获性的电缆249
11.5.3 电缆长度250
11.6 信号的品质250
11.6.1 噪声250
11.6.2 平衡线250
11.6.3 双绞线251
11.6.4 边缘速率251
第12章 集线器252
12.1 集线器的基础252
12.1.1 避免设备进入挂起状态253
12.1.2 可串联的集线器数目253
12.2.2 高速的中继器254
12.2.1 低速与全速的中继器254
12.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.2 HID 的描述符268
13.1.2 固件要求268
13.2.1 描述符的内容271
13.2.2 HID 类别描述符272
13.2.3 报表描述符273
13.3 HID 特定要求278
13.3.1 Get_Report278
13.3.2 Set_Report279
13.3.3 Get_Idle279
13.3.4 Set_Idle280
13.3.5 Get_Protocol280
13.3.6 Set_Protocol281
13.4 传输数据281
13.4.1 传送数据给主机281
13.4.2 从主机接收数据282
13.5.1 HID Descriptor Tool285
13.5 报表的结构285
13.5.2 短项目286
13.5.3 长项目287
13.6 Main 项目类型288
13.6.1 Input、Output 与 Feature 项目288
13.6.2 Collection 与 End Collection 项目290
13.7 Global 项目类型291
13.7.1 识别报表292
13.7.2 数据的使用292
13.7.3 转换原始数据294
13.7.4 数据的大小与格式295
13.7.5 Global 项目的储存与恢复296
13.8 Local 项目类型296
13.9 填充298
13.10 实体描述符298
14.1 主机的通信300
第14章 HID 程序设计300
14.1.1 说明文件301
14.1.2 HID 函数301
14.1.3 DirectX302
14.2 调用 API 函数303
14.2.1 使用 Visual C++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.5 识别 HID 接口308
14.5.1 使用 Visual C++308
14.4.3 详解308
14.5.2 使用 Visual Basic309
14.5.3 详解309
14.6 取得设备的路径310
14.6.1 使用 Visual C++310
14.6.2 使用 Visual Basic311
14.7 取得设备的代号312
14.7.1 使用 Visual C++313
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.10.1 使用 Visual C++316
14.10 取得设备的能力316
14.9.2 使用 Visual Basic316
14.9.3 详解316
14.10.2 使用 Visual Basic317
14.10.3 详解318
14.11 取得数值的能力318
14.12 传送输出报表给设备318
14.12.1 使用 Visual C++318
14.12.2 使用 Visual Basic319
14.12.3 详解320
14.13 从设备读取输入报表320
14.13.1 使用 Visual C++320
14.13.2 使用 Visual Basic320
14.13.3 详解321
14.14.1 使用 Visual C++322
14.14 使用重叠 ReadFile 读取报表322
14.14.2 使用 Visual Basic323
14.15 使用多线程的 ReadFile 读取报表325
14.15.1 使用 Visual C++325
14.15.2 使用 Visual Basic326
14.16 传送特征报表给设备326
14.16.1 使用 Visual C++327
14.16.2 使用 Visual Basic327
14.17 从设备读取特征报表327
14.17.1 使用 Visual C++327
14.17.2 使用 Visual Basic328
14.18 关闭通信328
14.18.1 使用 Visual C++328
14.18.2 使用 Visual Basic329
附录 A USB 参考资料330
热门推荐
- 3684309.html
- 2363208.html
- 111359.html
- 1973046.html
- 704957.html
- 1135666.html
- 2985634.html
- 863906.html
- 3031579.html
- 3364890.html
- http://www.ickdjs.cc/book_750485.html
- http://www.ickdjs.cc/book_2444050.html
- http://www.ickdjs.cc/book_2871830.html
- http://www.ickdjs.cc/book_3864288.html
- http://www.ickdjs.cc/book_2509889.html
- http://www.ickdjs.cc/book_101615.html
- http://www.ickdjs.cc/book_2427093.html
- http://www.ickdjs.cc/book_1358712.html
- http://www.ickdjs.cc/book_3870435.html
- http://www.ickdjs.cc/book_378285.html