图书介绍

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

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

热门推荐