图书介绍

USB 2.0硬件设计pdf电子书版本下载

USB 2.0硬件设计
  • 萧世文编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:7302059373
  • 出版时间:2002
  • 标注页数:331页
  • 文件大小:29MB
  • 文件页数:344页
  • 主题词:接口

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页 直链下载[便捷但速度慢]   [在线试读本书]   [在线获取解压码]

下载说明

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.0 4

1.1.3 IEEE-1394 4

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 ACK 35

2.4.4 NYET 36

2.4.3 STALL 36

2.4.2 NAK 36

2.4.5 ERR 37

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_Feature 86

4.5.2 Get_Configuration 87

4.5.3 Get_Descriptor 87

4.5.4 Get_Interface 88

4.5.5 Get_Status 89

4.5.6 Set_Address 90

4.5.7 Set_Configuration 90

4.5.8 Set_Descriptor 91

4.5.9 Set_Feature 91

4.5.10 Set_Interface 92

4.5.11 Synch_Frame 93

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 CPU 96

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 enCoRe 107

5.3.1 CPU 结构 107

5.3.2 USB 控制器 107

5.4 Cypress EZ-USB 108

5.4.1 CPU 结构 108

5.4.2 USB 控制器 110

5.5 Microchip PIC 16C7x5 111

5.5.1 结构 111

5.5.2 USB 控制器 112

5.6 Netchip NET2888 113

5.6.1 结构 113

5.7 National Semiconductor USBN9603 114

5.6.2 USB 控制器 114

5.7.1 结构 115

5.7.2 USB 控制器 116

5.8 Philips Semiconductor PDIUSBD11/12 116

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/O 135

6.6.1 一般用途的 I/O 135

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 暂停 CPU 146

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 USB 171

7.8.3 WinDriver USB 172

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 HIDView 208

9.2 测试仪器 209

9.2.1 协议分析器 209

9.2.2 USB Expert 的硬件 210

9.2.3 USB Expert 的软件 210

9.2.4 CATC Traffic Generator 212

9.2.5 Root 1 Test Adapter 213

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 K 229

10.5.2 高速 Data J 与 K 状态 229

10.5.4 高速 Squelch 229

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_Report 278

13.3.2 Set_Report 279

13.3.3 Get_Idle 279

13.3.4 Set_Idle 280

13.3.5 Get_Protocol 280

13.3.6 Set_Protocol 281

13.4 传输数据 281

13.4.1 传送数据给主机 281

13.4.2 从主机接收数据 282

13.5.1 HID Descriptor Tool 285

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 DirectX 302

14.2 调用 API 函数 303

14.2.1 使用 Visual C++ 303

14.2.2 使用 Visual Basic 304

14.3 取得 HID 类别的 GUID 305

14.3.1 使用 Visual C++ 306

14.3.2 使用 Visual Basic 306

14.4 取得 HID 信息的结构数组 307

14.4.1 使用 Visual c++ 307

14.4.2 使用 Visual Basic 307

14.5 识别 HID 接口 308

14.5.1 使用 Visual C++ 308

14.4.3 详解 308

14.5.2 使用 Visual Basic 309

14.5.3 详解 309

14.6 取得设备的路径 310

14.6.1 使用 Visual C++ 310

14.6.2 使用 Visual Basic 311

14.7 取得设备的代号 312

14.7.1 使用 Visual C++ 313

14.7.2 使用 Visual Basic 313

14.8 取得厂商与产品 ID 314

14.8.1 使用 Visual C++ 314

14.8.2 使用 Visual Basic 314

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 Basic 316

14.9.3 详解 316

14.10.2 使用 Visual Basic 317

14.10.3 详解 318

14.11 取得数值的能力 318

14.12 传送输出报表给设备 318

14.12.1 使用 Visual C++ 318

14.12.2 使用 Visual Basic 319

14.12.3 详解 320

14.13 从设备读取输入报表 320

14.13.1 使用 Visual C++ 320

14.13.2 使用 Visual Basic 320

14.13.3 详解 321

14.14.1 使用 Visual C++ 322

14.14 使用重叠 ReadFile 读取报表 322

14.14.2 使用 Visual Basic 323

14.15 使用多线程的 ReadFile 读取报表 325

14.15.1 使用 Visual C++ 325

14.15.2 使用 Visual Basic 326

14.16 传送特征报表给设备 326

14.16.1 使用 Visual C++ 327

14.16.2 使用 Visual Basic 327

14.17 从设备读取特征报表 327

14.17.1 使用 Visual C++ 327

14.17.2 使用 Visual Basic 328

14.18 关闭通信 328

14.18.1 使用 Visual C++ 328

14.18.2 使用 Visual Basic 329

附录 A USB 参考资料 330

精品推荐