当前位置:首页 > 工业技术
USB接口技术
USB接口技术

USB接口技术PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:李肇庆等编著
  • 出 版 社:北京:国防工业出版社
  • 出版年份:2004
  • ISBN:7118034525
  • 页数:406 页
图书介绍:本书介绍USB接口技术的基础知识以及开发应用等。
《USB接口技术》目录

第1章USB简介 1

1.1 问题的产生 1

目录 1

23.3 HID特定要求 35 1

3.2信息包 5 1

1.2问题的解决 3

1.3 USB的发展 4

1.3.1 USB规范的版本 4

1.3.2 USB 2.0 5

1.3.3 IEEE-1394 5

1.4 USB的优点 6

1.4.1容易使用 6

1.4.5稳定性 7

14.7.1 USB设备列举的过程 19 7

1.4.3低价位 7

1.4.2传输速度快 7

1.4.4低能耗 7

1.4.6操作系统的支持 8

1.4.8有弹性 8

1.4.7外围设备的支持 8

1.5 USB的缺点 9

1.6与其他接口的比较 10

1.7.1主机控制器 11

1.7 USB对PC的软硬件要求 11

1.7.2操作系统 11

1.7.3组件 11

1.7.4信道 12

1.7.5连接端口 13

1.8主机的功能 14

1.9外围设备的功能 15

1.10传输速度 17

1.11开发的流程 17

1.11.1所需组件 18

1.11.2开发工具 18

2.1传输的基础 19

2.1.1 配置 19

2.1.2应用程序 19

第2章USB传输 19

2.1.3数据的管理 20

2.1.4总线速度 20

2.2传输的要件 21

2.2.1设备的端点 21

2.2.2管道 22

2.2.3传输类型 23

2.3事务 24

2.2.5传输的初始化 24

2.2.4消息管道与流管道 24

2.3.1事务相让 26

2.3.2信息包的串行化 27

2.3.4分割事务 28

2.3.3时间的限制 28

2.4联络信号 30

2.4.1 ACK 31

2.4.2 NAK 31

2.4.3 STALL 31

2.4.5 ERR 32

2.4.6没有响应 32

2.4.7控制传输的状态 32

2.4.4 NYET 32

2.5错误的检验 33

2.5.1错误校验位 33

2.5.2数据交替位 33

2.6控制传输 35

2.6.1 结构 35

2.6.2信息包大小 37

2.6.3传输速度 38

2.6.4检测错误 40

2.7批量传输 40

2.7.1结构 40

2.7.2信息包大小 41

2.7.3传输速度 41

2.7.4检测错误 42

2.8中断传输 42

2.8.2信息包大小 43

2.8.3传输速度 43

2.8.1 结构 43

2.8.4检验错误 45

2.9实时传输 45

2.9.1结构 46

2.9.2信息包大小 46

2.9.3传输速度 47

2.10传输的关键 48

2.10.1总线的带宽 48

2.10.2设备的能力 49

2.10.3主机软件的能力 49

2.10.4 Windows的延迟 49

第3章USB事务处理 50

3.1概述 50

3.2.1 同步序列 51

3.2.2信息包的标识符 52

3.2.5信息包的结束(EOP) 53

3.2.4循环冗余校验(CRC) 53

3.2.3信息包的特定信息 53

3.3令牌包 54

3.3.1 SOF包 54

3.3.2 IN包 55

3.3.3 OUT包 55

3.3.4 SETUP包 55

3.3.5数据包 56

3.3.6握手包 57

3.3.7前导包 58

3.4事务处理 58

3.4.1IN事务处理 58

3.4.2 OUT事务处理 60

3.4.3 SETUP事务处理/控制传输 62

4.1.1令牌信息包 65

4.1 设置阶段 65

第4章控制传输 65

4.1.2数据信息包 66

4.1.3联络信息包 69

4.2数据阶段 69

4.2.1令牌信息包 70

4.2.2数据信息包 70

4.2.3联络信息包 70

4.3.3联络信息包 71

4.3状态阶段 71

4.3.1令牌信息包 71

4.3.2数据信息包 71

4.4检测错误 72

4.5要求 72

4.5.1 Clear_Feature 73

4.5.2 Get_Configuration 74

4.5.3 Get_Descriptor 74

4.5.4 Get_Interface 75

4.5.5 Get_Status 76

4.5.6 Set_Address 77

4.5.7 Set_Configuration 77

4.5.8 Set_Descriptor 78

4.5.9 Set_Feature 79

4.5.10 Set_Interface 79

4.5.1 1 Synch_Frame 80

4.5.12类别特定的要求与厂商的要求 80

5.1概述 82

5.2信息包错误 82

5.2.1 PID检查 82

第5章错误恢复 82

5.2.2 CRC错误 83

5.2.3位填充错误 83

5.2.4信息包相关错误处理 83

5.3总线超时 85

5.5数据触发出错 86

5.4错误的EOP 86

5.6特殊情况 93

5.7.1时间片计时器 94

5.7串扰/LOA检测和恢复 94

5.7.2主机到集线器的时滞 95

5.7.3集线器中继器状态机制 95

第6章检测设备 97

6.1检测设备的过程 97

6.1.1检测的步骤 98

6.1.3移除设备 101

6.2.1类型 101

6.2描述符 101

6.1.2检测集线器 101

6.2.2设备描述符 103

6.2.3 Device_Qualifier描述符 105

6.2.4配置描述符 106

6.2.5 Other_Speed_Configuration描述符 107

6.2.6接口描述符 108

6.2.7端点描述符 110

6.2.8字符串描述符 111

6.3 USB 2.0兼容设备的描述符 112

7.1 USB的供电 114

7.2.1 电流预算 114

第7章USB供电分配 114

7.2集线器 114

7.2.2过流保护 115

7.2.3压降预算 115

7.2.4电源开关 115

7.3总线供电的集线器 116

7.3.1在集线器配置过程中的电源 116

7.3.2连接到500mA端口的总线供电的集线器 116

7.3.3与100mA端口相连的总线供电的集线器 117

7.3.4与大于100mA而小于500mA端口相连的总线供电的集线器 117

7.3.5外电流限制 117

7.4.1低功率设备 118

7.4.2高功率设备 118

7.4总线供电的集线器设备 118

7.5 自供电的集线器 119

7.5.1在配置过程中的供电 120

7.5.2电流限制 121

7.6 自供电设备 121

第8章USB电源管理 123

8.1供电保持 123

8.1.1设备对挂起的响应 123

8.1.2集线器对挂起的响应 123

8.2.1启动全局挂起 124

8.2.1从全局挂起状态恢复 124

8.2全局挂起 124

8.3选择性挂起 126

8.3.1启动选择挂起 126

8.3.2 从选择性挂起状态恢复 126

8.3.3 当集线器被连接时的选择性挂起 127

8.4在全局挂起之后的选择性挂起 129

8.5通过复位恢复 130

第9章USB配置处理 131

9.1概述 131

9.2配置模型 132

9.3根集线器的配置 132

9.3.2复位操作强迫设备被分配为默认的地址 133

9.3.3主机分配惟一的设备地址 133

9.3.1 设备为了配置而隔离 133

10.1集线器的配置 135

10.1.1默认管道 135

第10章集线器配置 135

10.1.2状态变化管道 136

10.2读取集线器的端点描述符 136

10.2.1 集线器设备描述符 136

10.2.2集线器配置描述符 138

10.2.3 集线器接口描述符 139

10.2.4状态端点描述符 140

10.2.5集线器类的描述符 141

10.3给集线器供电 143

10.4检查集线器的状态 144

10.5集线器端口状态概述 145

11.1概述 147

11.2集线器请求类型 147

第11章集线器请求 147

11.3集线器类的请求 149

11.4获得/设置位描述符 149

11.5获取集线器状态的请求 150

11.5.1 集线器的状态字段 150

11.5.2集线器状态变化字段 150

11.6设置/清除集线器的特征请求 151

11.7获取端口状态请求 152

11.7.1 端口状态字段 152

11.7.2端口变化字段 153

11.8设置/清除端口特征 154

11.9获取总线状态 155

12.1概述 156

12.2 USB的描述符 156

第12章USB设备配置 156

12.4设备描述符 157

12.3设备类 157

12.5配置描述符 160

12.6接口描述符 161

12.7端点描述符 163

12.8设备状态 164

第13章USB微控制器 166

13.1主要特性与功能 168

13.2 CY7C63411/12/13与CY7C63511/12/13 170

13.3 CY7C63612与CY7C63613 172

13.4 CY7C64011/12/13~CY7C64111/12/13 173

13.5 CY7C64213与CY7C64313 175

13.6 CY7C65013与CY7C65113 177

13.7 CY7C660XX~CY7C661XX 179

第14章USB微控制器的硬件与结构 182

14.1 I/O端口 184

14.1.1一般目的(GPIO)I/O端口 184

14.1.2输入 185

14.1.3输出 186

14.1.4 XTALIN/XTALOUT 187

14.2内存的规划 188

14.3重置 190

14.3.2重置 191

14.3.1打开电源重置 191

14.3.3 USB总线重置 192

14.4内建的定时器 192

14.5立即唤醒的功能 192

14.6中断 193

14.6.1 中断的迟滞时间 195

14.6.2 GPIO中断 195

14.7 USB引擎 197

14.6.5唤醒中断 197

14.6.4定时器中断 197

14.6.3 USB中断 197

14.7.2端点0 198

14.7.3 端点1 201

14.7.4 USB状态与控制 202

15.1如何执行CYASM 204

第15章CYASM汇编语言 204

15.2 USB微处理器 205

15.3地址的空间规划 206

15.3.1指令的格式 206

15.3.2寻址的模式 207

15.3.3指令执行后的目的地 208

15.4汇编语言的语法 208

15.5列表文件的格式 209

15.6组译器指令 210

15.7指令集 215

第16章以固件实现USB接口通信 238

16.1固件技术 238

16.1.1 CPU版本的差异 238

16.1.2程序内存结构 240

16.2 USB通信 243

16.3如何使用CY7C630/1/2XX执行端点的通信工作 252

16.3.1端点0 252

16.3.2端点1 253

16.4 USB通信程序 253

17.1如何运用Cypress USB MCU工具进行设计 263

第17章Cypress USB微控制器的开发系统 263

17.1.1概要设计 264

17.1.2以Simulator/Emulator来实现 264

17.1.4验证 265

17.2 CY3640 265

17.2.1功能与特性 265

17.1.3用ICE来调试 265

17.3低速的CY3650 267

17.3.1 USB的开发环境 267

17.3.2安装硬件 268

17.3.3调试/监控软件 270

17.3.4操作方法 270

17.3.5扩充接脚的描述 274

17.3.6测试 276

17.4低速CY365 1 277

18.1系统需要与安装 281

18.2 USB开发系统软件 281

第18章程序的仿真、调试与刻录 281

18.2.1操作软件的结构 282

18.2.2内部程序内存 282

18.2.3 内部主菜单栏 284

18.3 Cypress USB MCU的刻录 286

第19章USB微控制器的实践入门 287

19.1读取按钮的输入值 287

19.2键盘扫描 288

19.3调整LED亮度与光敏晶体管感度 290

19.4读取电位计的电阻值 291

19.5实现RS-232串行通信的接口 293

19.5.1异步通信所传送数据的结构 293

19.5.2执行RS-232的通信协议 294

20.1 鼠标的基本结构 310

第20章USB应用实例(一) 310

20.2硬件设计 311

20.3固件设计 313

20.3.1 USB的接口 313

20.3.2 USB鼠标描述符 315

20.3.3 电源管理 319

20.3.4位移的计算 319

第21章USB应用实例(二) 321

21.1模拟摇杆的基本结构 321

21.2硬件的设计 322

21.3固件的设计 322

21.3.1 USB摇杆描述符 323

21.3.2校准 327

21.3.3 移偏移量的计算 328

第22章USB应用实例(三) 329

22.1 PS/2键盘的基本结构 329

22.2硬件的设计 330

22.3固件设计 332

22.4功能与特性 335

22.4.1主循环 335

22.4.2扫描的工作 335

22.4.3弹跳 338

22.4.4按键码的表格 339

23.1 HID简介 340

第23章HID设备 340

23.1.1硬件要求 341

23.1.2固件要求 342

23.2 HID的描述符 342

23.4传输数据 354

23.4.1传送数据给主机 354

23.4.2 从主机接收数据 355

23.5报表的结构 358

23.5.1短项目 . 358

23.5.2 长项目 359

23.6 Main项目类型 360

23.7 Global项目类型 363

23.8 Local项目类型 367

23.9填充 369

23.10实体描述符 369

第24章HID程序设计 370

24.1主机的通信 370

24.2调用API函数 372

24.2.1使用VisualC++ 372

24.2.2使用VisualBasic 373

24.3取得HID类别的GUID 375

24.3.1使用VisualC++ 375

24.3.2使用Visual Basic 375

24.4.1使用VisualC++ 376

24.4取得HID信息的结构数组 376

24.4.3 详解 377

24.4.2 使用Visual Basic 377

24.5识别HID接口 378

24.5.1使用VisualC++ 378

24.5.2使用Visual Basic 379

24.5.3 羊解 380

24.6取得设备的路径 380

24.6.1使用VisualC++ 380

24.6.2使用Visual Basic 381

24.7取得设备的代号 383

24.7.1使用VisualC++ 383

24.7.2使用Visual Basic 384

24.8.1使用Visual C++ 385

24.8取得厂商与产品ID 385

24.8.2使用Visual Basic 386

24.8.3 详解 386

24.9取得包含设备能力的缓冲区指针 386

24.9.1使用Visual C++ 387

24.9.2使用Visual Basic 387

24.9.3详解 387

24.10取得设备的能力 388

24.10.1使用VisualC++ 388

24.10.2使用Visual Basic 389

24.10.3详解 389

24.12.1使用Visual C++ 390

24.11取得数值的能力 390

24.12传送输出报表给设备 390

24.12.2使用Visual Basic 391

24.12.3详解 392

24.13从设备该项输入报表 392

24.13.1使用Visual C++ 392

24.13.2使用Visual Basic 392

24.13.3详解 393

24.14使用重叠ReadFile读取报表 394

24.14.1使用Visual C++ 394

24.14.2使用Visual Basic 395

24.15使用多线程的ReadFile读取报表 397

24.15.1使用Visual C++ 398

24.15.2使用Visual Basic 399

24.16传递特征报表给设备 399

24.16.1使用Visual C++ 400

24.16.2使用Visual Basic 400

24.17从设备读取特征报表 400

24.17.1使用Visual C++ 401

24.17.2使用Visual Basic 401

24.18关闭通信 401

24.18.1使用Visual C++ 402

24.18.2使用Visual Basic 402

附录USB参考资料 404

参考文献 406

相关图书
作者其它书籍
返回顶部