《USB2.0原理与工程开发》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:王成儒,李英伟编著
  • 出 版 社:北京:国防工业出版社
  • 出版年份:2004
  • ISBN:7118033642
  • 页数:466 页
图书介绍:本书介绍USB2.0总线规范、USB设备驱动程序的开发等。

目录 1

第1章USB概述 1

1.1 USB的产生 1

1.1.1 背景 1

1.1.2 USB的特点 2

1.1.3 USB的发展历史及前景展望 4

1.2 USB系统描述 5

1.2.2 USB设备 6

1.2.1 USB主机 6

1.2.3 USB的连接 8

1.3 USB接口芯片 11

1.3.1USB主控制器芯片 11

1.3.2 USB集线器芯片 11

1.3.3 USB功能设备芯片 12

1.4 USB系统的开发 14

1.4.1选择芯片 14

1.4.2开发环境 15

1.4.3设计调试 16

第2章USB系统 18

2.1 USB系统的结构 18

2.1.1 USB主机 18

2.1.2 USB设备 21

2.2USB系统的分层 23

2.2.1 功能层 24

2.2.2 USB设备层 25

2.2.3 USB总线接口层 26

2.3 USB通信流 27

2.3.1 USB传输管理 28

2.3.2传输中的事务处理 29

第3章USB信号和电源 30

3.1 USB信号 30

3.1.1 USB信号的发送 30

3.1.2 USB信号的接收 32

3.1.3 高速USB信号的眼图 33

3.1.4 USB设备速度的识别 36

3.1.5 USB信号状态 37

3.2.1 电源分配 44

3.2 USB电源 44

3.2.2电源管理 45

第4章USB事务处理 46

4.1字段的格式 46

4.1.1 同步字段(SYNC) 46

4.1.2 包标识字段(PID) 47

4.1.3 地址字段(ADDR) 48

4.1.4 端点字段(ENDP) 48

4.1.7 CRC字段 49

4.1.6数据字段 49

4.1.5帧号字段 49

4.2信息包的格式 50

4.2.1令牌包 50

4.2.2数据包 52

4.2.3握手包 53

4.3事务处理 54

4.3.1 IN事务处理 54

4.3.2 OUT事务处理 55

4.3.4 SETUP事务处理 56

4.3.3 PING事务处理 56

4.3.5 SOF事务处理 57

4.3.6 SPLIT事务处理 57

4.3.7 PRE事务处理 59

第5章USB数据传输 61

5.1状态机制 61

5.1.1 主控制器状态机制 62

5.1.2设备状态机制 63

5.2传输类型 65

5.2.1 块传输 66

5.2.2 中断传输 72

5.2.3 同步传输 77

5.2.4控制传输 82

5.3差错控制 88

5.3.1信息包错误控制机制 88

5.3.2总线超时控制机制 89

5.3.3 EOP错误控制机制 91

5.3.4数据触发机制 92

5.3.5 串扰和活动丢失控制机制 94

6.1设备状态 96

第6章USB设备 96

6.2总线列举 98

6.2.1 USB设备的连接 99

6.2.2 USB设备的断开 101

6.3描述符 101

6.3.1设备描述符(Device) 102

6.3.2设备限定描述符(Device_Qualifier) 103

6.3.3配置描述符(Configuration) 104

6.3.5接口描述符(Interface) 105

6.3.4其他速率配置描述符(Other_Speed_Configuration) 105

6.3.6端点描述符(Endpoint) 107

6.3.7字符串描述符(String) 108

6.4设备请求 108

6.4.1 GetStatus请求 109

6.4.2 ClearFeature请求 111

6.4.3 SetFeature请求 111

6.4.4 SetAddress请求 112

6.4.5 GetDescriptor请求 112

6.4.7 GetConfiguration请求 113

6.4.6 SetDescriptor请求 113

6.4.8 SetConfiguration请求 114

6.4.9 GetInterface请求 114

6.4.10 SetInterface请求 114

6.4.11 SynchFrame请求 115

第7章USB主机 116

7.1 USB主机的结构 116

7.2客户软件 117

7.3 USB系统软件 117

7.3.1配置设备 118

7.3.2资源管理 119

7.3.3数据传输 119

7.4 USB主控制器驱动程序 119

7.5 USB总线驱动程序 120

7.5.1命令机制 121

7.5.2管道机制 122

7.6 USB主控制器 123

第8章USB设备类 125

8.1设备类的定义 125

8.2.1 集线器的结构 126

8.2集线器设备类 126

8.2.2集线器设备类描述符 129

8.2.3集线器的标准USB描述符 130

8.2.4集线器设备类请求 132

8.3 HID设备类 133

8.3.1 HID概述 133

8.3.2 HID设备类描述符 135

8.3.3 HID设备类请求 142

9.1 WDM概述 145

第9章USB设备驱动程序开发基础 145

9.2 WDM驱动程序的分层 146

9.2.1驱动程序的种类 146

9.2.2驱动程序的分层 146

9.2.3 USB驱动程序栈 148

9.2.4设备对象和设备栈 150

9.2.5 USB设备栈 151

9.3 WDM内核模式对象 153

9.3.1 I/O请求包(IRP) 153

9.3.2驱动程序对象 157

9.3.3设备对象 158

9.3.4设备扩展 159

9.4WDM驱动程序的组成 160

9.4.1驱动程序入口例程(DriverEntry) 160

9.4.2即插即用例程 161

9.4.3分发例程 165

9.4.4电源管理例程 166

9.4.5卸载例程 169

10.1即插即用体系结构 170

第10章USB设备即插即用的实现 170

10.2即插即用设备状态 172

10.3启动设备 173

10.3.1功能驱动程序启动设备 173

10.3.2过滤驱动程序启动设备 174

10.3.3总线驱动程序启动设备 174

10.3.4 USB设备的添加和启动 175

10.4停止设备 180

10.4.1停止设备的处理过程 180

10.4.2处理IRP_MN_STOP_DEVICEIRP 181

10.5.1删除设备的处理过程 182

10.5删除设备 182

10.5.2 处理IRP_MN_REMOVE_DEVICE IRP 184

10.6 PnP IRP及其处理规则 186

10.6.1 PnP IRP 186

10.6.2 PnP IRP的处理规则 187

10.6.3沿设备栈向下传递PnP IRP 189

10.6.4推迟PnP IRP的处理直至其下层驱动程序处理完毕 190

11.1.1 USBDI的定义 194

11.1 USBDI概述 194

第11章USB设备驱动程序编程接口 194

11.1.2 USBDI的通信管理 195

11.2 URB 196

11.2.1 URB的结构 196

11.2.2 _URB_HEADER的结构 197

11.3 USBDI接口函数 201

11.4 USB设备的配置 203

11.4.1 USB描述符 203

11.4.2为USB设备选择一个配置 207

11.5 USB设备的数据传输 209

11.5.2 USB同步传输 210

11.5.1 USB块传输和中断传输 210

11.5.3 USB控制传输 212

第12章USB设备驱动程序开发环境 213

12.1系统环境设置 213

12.2 BUILD工具 215

12.2.1环境变量 216

12.2.2 sources文件 216

12.2.3 dirs文件 218

12.2.6 BUILD工具的调用 219

12.2.4 makefile文件 219

12.2.5构造日志文件 219

12.2.7 NMAKE 220

12.3 Visual C++环境设置 221

12.3.1 Makefile项目 221

12.3.2 DrvBuild.bat批处理文件 224

12.3.3注意事项 225

12.3.4 USB设备驱动程序开发框架 226

12.4 USB设备驱动程序的安装 226

12.4.1安装过程 227

12.4.2 INF文件 231

第13章三种常用USB接口芯片 243

13.1 CY7C630/1xxA 243

13.1.1 芯片结构 243

13.1.2存储器 245

13.1.3复位 247

13.1.4通用I/O端口(GPIO) 248

13.1.5中断 249

13.1.6 USB引擎 251

13.1.7 CY7C63001A的编程 254

13.1.8 CY7C63001A的开发者工具包 257

13.1.9 CY7C63001A的EPROM编程器 260

13.2 EZ-USB 261

13.2.1芯片结构 261

13.2.2增强型8051CPU 264

13.2.3存储空间 267

13.2.4 I/O系统 269

13.2.5列举和重列举 271

13.2.6 USB中断 276

13.3.1 芯片结构 279

13.3 EZ-USB FX2 279

13.3.2增强型8051CPU 282

13.3.3存储空间 285

13.3.4 I/O系统 287

13.3.5列举和重列举 292

第14章USB接口温度控制器 295

14.1系统概述 295

14.2系统硬件设计 296

14.3芯片固件程序 297

14.3.1 63001.inc 297

14.2.1USB接口电路 297

14.2.2功能单元电路 297

14.3.2DS1620.inc 298

14.3.3USB.asm 299

14.3.4 DS1620.asm 313

14.4设备驱动程序 314

14.4.1通用结构定义 314

14.4.2 DriverEntry例程 316

14.4.3 AddDevice例程 317

14.4IRP_MJ_PNP处理例程 318

14.4.5分发例程 330

14.4.6电源管理例程 334

14.4.7卸载例程 336

14.5 Win32应用程序 336

14.5.1 Modulel模块 336

14.5.2 Forml窗体 340

15.1系统概述 344

第15章RS232-USB转换器 344

15.2系统硬件设计 345

15.2.1 USB接口电路 346

15.2.2功能单元电路 346

15.3芯片固件程序 346

15.3.1 Ram.inc 347

15.3.2 Hiduart.asm 348

15.3.3 Usbcode.asm 352

15.4 Win32应用程序 360

15.4.1连接按钮 360

15.4.2接收线程 363

15.4.3发送按钮 365

15.4.4组合框 365

15.4.5断开按钮 366

第16章USB接口波形发生器 367

16.1系统概述 367

16.2系统硬件设计 368

16.2.1 USB接口电路 369

16.2.2功能单元电路 369

16.3芯片固件程序 369

16.3.1 testregs.h和testregs.inc 370

16.3.2 testheader.h 371

16.3.3 dserptr.a51 371

16.3.4 delayms.a51 372

16.3.5 jmptable.a51 373

16.3.6 main.c 373

16.3.7function.c 379

16.4设备驱动程序 383

16.4.1 loader.sys 383

16.4.2 usbda.sys 389

16.5 Win32应用程序 397

16.5.1DA0832组按钮 398

16.5.2 AN2131组按钮 399

16.5.3 USB组按钮 399

第17章USB接口数据采集卡 406

17.1系统概述 406

17.2系统硬件设计 407

17.2.2功能单元电路 409

17.3芯片固件程序 409

17.2.1 USB接口电路 409

17.3.1 main.c 410

17.3.2 function.c 412

17.4 Win32应用程序 417

17.4.1块传输的实现 418

17.4.2 同步传输的实现 422

第18章USB2.0接口频谱分析仪 426

18.1系统概述 426

18.2系统硬件设计 427

18.3.1 testregs.h和testregs.inc 428

18.3芯片固件程序 428

18.3.2 testheader.h 429

18.3.3 testdly.h 430

18.3.4 dscrntr.a51 431

18.3.5 delayms.a51 432

18.3.imptable.a51 433

18.3.7 main.c 433

18.3.8function.c 438

18.4设备驱动程序 440

18.4.2 bulktest.sys 441

18.4.1 loader.sys 441

18.5 Win32应用程序 442

18.5.1 8051锁定和复位按钮 443

18.5.2下载程序按钮 444

18.5.3设置按钮 446

18.5.4开始按钮和结束按钮 446

附录A CY7C63001A寄存器 450

附录B EZ-USB寄存器 451

附录C EZ-USBFX2寄存器 456

附录D关于光盘 466