USB应用开发实例详解PDF电子书下载
- 电子书积分:18 积分如何计算积分?
- 作 者:薛园园,赵建领编著
- 出 版 社:北京:人民邮电出版社
- 出版年份:2009
- ISBN:9787115196507
- 页数:635 页
第1篇 USB开发基础篇 3
第1章 USB概述 3
1.1 USB的产生 3
1.2 USB总线特点 4
1.3 USB的总线结构 6
1.3.1 USB主机和设备 6
1.3.2 USB的连接 7
1.3.3 USB系统的分层结构 8
1.4 USB的供电 8
1.4.1 USB接口的电源指标 9
1.4.2 电源分配 9
1.4.3 USB电源管理 10
1.5 USB的开发流程 12
1.6 小结 13
第2章 USB的设备配置 14
2.1 USB标准设备的描述符 14
2.1.1 设备描述符 15
2.1.2 配置描述符 17
2.1.3 字符串描述符 19
2.1.4 接口描述符 20
2.1.5 端点描述符 21
2.1.6 设备限定描述符 23
2.1.7 其他速率配置描述符 25
2.2 USB集线器的描述符 26
2.2.1 集线器设备描述符 27
2.2.2 集线器配置描述符 29
2.2.3 集线器接口描述符 30
2.2.4 集线器端点描述符 31
2.2.5 集线器类描述符 32
2.3 HID设备描述符 34
2.3.1 HID设备简介 34
2.3.2 HID基本描述符 36
2.3.3 HID类描述符 38
2.4 小结 40
第3章 USB的数据传输 41
3.1 USB数据传输简介 41
3.1.1 USB数据传输流程 41
3.1.2 USB事务处理 42
3.1.3 USB数据传输类型 43
3.2 USB控制传输 43
3.2.1 数据包长度 44
3.2.2 事务处理 44
3.3 USB块传输 46
3.3.1 数据包长度 46
3.3.2 事务处理 46
3.4 USB中断传输 47
3.4.1 数据包长度 47
3.4.2 事务处理 47
3.5 USB同步传输 48
3.5.1 数据包长度 48
3.5.2 事务处理 48
3.6 小结 49
第4章 USB设备请求 50
4.1 标准USB设备请求 50
4.1.1 读取状态请求 51
4.1.2 清除特性请求 52
4.1.3 设置特性请求 53
4.1.4 设置地址请求 54
4.1.5 读取描述符请求 54
4.1.6 设置描述符请求 54
4.1.7 读取配置请求 55
4.1.8 设置配置请求 55
4.1.9 读取接口请求 55
4.1.10 设置接口请求 55
4.1.11 同步帧请求 56
4.2 USB集线器类请求 56
4.2.1 读取集线器状态请求 57
4.2.2 读取下行端口状态请求 57
4.2.3 禁止集线器的特性请求 58
4.2.4 禁止下行端口特性请求 58
4.2.5 使能集线器特性请求 59
4.2.6 使能下行端口特性请求 60
4.2.7 读取集线器描述符请求 60
4.2.8 设置集线器描述符请求 61
4.2.9 清除TT块请求 61
4.2.10 复位TT块请求 62
4.2.11 读取TT内部状态请求 62
4.2.12 停止TT正常工作请求 63
4.3 HID设备类请求 63
4.3.1 获取报告请求 64
4.3.2 获取空闲速率请求 64
4.3.3 获取HID协议请求 65
4.3.4 设置报告请求 65
4.3.5 设置空闲速率请求 66
4.3.6 设置HID协议请求 67
4.4 USB设备请求示例 67
4.4.1 声明设备请求 67
4.4.2 设备请求的响应 68
4.5 小结 72
第5章 器件识别和加工 73
5.1 元器件的封装 73
5.1.1 元器件封装的发展 73
5.1.2 元器件封装小结 74
5.2 元器件的焊接 83
5.2.1 双列直插器件的焊接 83
5.2.2 表面贴元器件的焊接 83
5.3 常用的USB接口芯片 84
5.3.1 Cypress公司的USB接口芯片 84
5.3.2 Philips公司的USB接口芯片 89
5.3.3 南京沁恒公司的USB接口芯片 91
5.4 小结 94
第6章 电路制板布局 95
6.1 印制电路板基础 95
6.1.1 印制电路板的分类 95
6.1.2 印制电路板的基本概念 95
6.2 印制电路板设计规则 98
6.2.1 电路板的选择 99
6.2.2 电路板布局 99
6.2.3 电路板布线 100
6.2.4 其他设计规则 101
6.3 高速USB接口的PCB设计 102
6.3.1 差分阻抗 103
6.3.2 USB信号 104
6.3.3 电源和地 105
6.3.4 晶体振荡器 106
6.4 小结 107
第2篇 USB编程篇 111
第7章 构建USB接口开发环境 111
7.1 USB固件开发环境 111
7.1.1 Keil μVision3简介 111
7.1.2 keil μVision3集成开发环境 112
7.1.3 Cypress开发包 113
7.2 上位机开发环境 114
7.2.1 Visual Studio开发平台 114
7.2.2 LabVIEW开发平台 114
7.3 USB驱动开发环境 115
7.3.1 DriverStudio软件简介 115
7.3.2 配置DriverSutdio编译环境 117
7.3.3 NI-VISA开发平台 118
7.3.4 USB通用驱动程序 118
7.4 USB最小开发系统 119
7.5 USB软硬件开发环境 120
7.6 小结 121
第8章 USB固件编程 122
8.1 USB设备配置描述符 122
8.1.1 变量声明 122
8.1.2 设备描述 123
8.1.3 设备配置 123
8.1.4 字符串描述 126
8.2 USB设备请求 127
8.2.1 自定义设备请求声明 127
8.2.2 自定义设备请求的响应 128
8.3 USB重列举 131
8.4 小结 133
第9章 USB驱动开发 134
9.1 Windows下的USB驱动开发 134
9.1.1 USB驱动程序建立 134
9.1.2 USB驱动程序设计 137
9.2 LabVIEW环境下的USB驱动开发 138
9.2.1 NI-VISA的USB驱动简介 138
9.2.2 创建USB驱动 139
9.3 通用USB驱动概述 140
9.4 INF文件简介 140
9.4.1 INF文件处理过程 141
9.4.2 INF文件的结构 141
9.4.3 版本节 141
9.4.4 源文件盘符节 143
9.4.5 源文件节 144
9.4.6 目标磁盘节 144
9.4.7 供应商节 145
9.4.8 默认安装节 145
9.4.9 字符串节 145
9.5 Visual Studio6.0环境下的通用USB驱动 145
9.5.1 CyLoad.inf文件 146
9.5.2 CyUSB.inf文件 148
9.6 Visual Studio 2005环境下的通用USB驱动 151
9.7 驱动程序的安装 153
9.8 小结 155
第10章 上位机程序开发 156
10.1 VisualC+++读写USB设备 156
10.1.1 CYIOCTL控制函数类 156
10.1.2 CyAPI控制函数类 162
10.2 VisualC#读写USB设备 181
10.2.1 CyHidDevice类 181
10.2.2 CyIsocEndPoint类 186
10.2.3 CyUSBStorDevice类 190
10.3 LabVIEW读写USB设备 192
10.3.1 USB设备测试 192
10.3.2 VISA控制函数 194
10.4 小结 196
第3篇 USB应用实例篇 199
第11章 使用EEPROM进行USB列举 199
11.1 EZ-USBFX2LP的启动模式概述 199
11.1.1 EZ-USBFX2LP的启动模式 200
11.1.2 无EEPROM启动 200
11.1.3 首字节为Oxco的EEPROM启动 201
11.1.4 首字节为OxC2的EEPROM启动 201
11.1.5 启动配置 202
11.2 EEPROM引导USB启动电路 205
11.3 USB固件程序设计 206
11.3.1 建立USB项目 207
11.3.2 主程序文件 207
11.3.3 请求响应函数 210
11.3.4 数据读写子程序 215
11.3.5 USB描述符 215
11.4 驱动程序设计 219
11.4.1 USB固件下载驱动程序 219
11.4.2 USB通信驱动程序 221
11.5 主机程序设计 222
11.5.1 建立工程 223
11.5.2 用户界面设计 224
11.5.3 程序代码设计 225
11.6 小结 227
第12章 USB控制LED显示实例 228
12.1 LED数码管简介 228
12.1.1 共阳极7段LED数码管 228
12.1.2共阴极7段LED数码管 230
12.2 USB控制LED显示实例 231
12.3 USB固件程序设计 232
12.3.1 建立USB项目 232
12.3.2 主函数程序设计 233
12.3.3 设备请求响应函数 236
12.3.4 LED控制子函数 241
12.3.5 USB固件描述符 241
12.4 USB主机程序设计 246
12.4.1 建立项目 246
12.4.2 程序设计 247
12.5 小结 251
第13章 USB控制LCD液晶显示模块 252
13.1 液晶显示模块概述 252
13.1.1 液晶显示模块的分类 253
13.1.2 液晶显示模块的特点 254
13.2 液晶显示控制驱动器 254
13.2.1 液晶显示控制驱动器概述 254
13.2.2 液晶显示控制驱动器功能 255
13.3 液晶显示控制器指令集 258
13.3.1 基本指令集 258
13.3.2 扩充指令集 261
13.3.3 控制器指令操作方式 263
13.4 液晶显示电路原理图 264
13.5 固件程序设计 267
13.5.1 建立USB项目 267
13.5.2 主程序文件 268
13.5.3 请求响应函数 270
13.5.4 初始化子程序 275
13.5.5 液晶汉字显示子程序 275
13.5.6 点阵图形型液晶控制子函数 275
13.5.7 USB描述符 280
13.6 主机程序设计 283
13.6.1 建立工程 284
13.6.2 用户界面设计 285
13.6.3 程序代码设计 286
13.7 小结 288
第14章 USB键盘程序设计 289
14.1 HID设备概述 289
14.2 USB键盘设计实例 290
14.2.1 电路原理图 290
14.2.2 建立USB项目 291
14.2.3 主程序文件 292
14.2.4 标准设备请求响应函数 295
14.2.5 USB键盘功能实现. 299
14.2.6 USB键盘描述符 301
14.3 小结 306
第15章 USB鼠标程序设计 307
15.1 USB鼠标硬件概述 307
15.2 电路原理图 308
15.3 固件程序设计 309
15.3.1 接口定义 310
15.3.2 主函数 310
15.3.3 初始化函数 311
15.4 功能实现代码 312
15.4.1 主循环函数usbmain 312
15.4.2 鼠标事务函数MouseTask 312
15.4.3 挂起函数Suspend 313
15.4.4 数据包处理函数HandleSetup 314
15.4.5 输入数据包处理函数HandleIn 315
15.4.6 读数据函数USB_control_read 315
15.4.7 装载FIFO函数LoadEPOFifo 316
15.4.8 停止端点函数USB_Stall_In_Out 316
15.4.9 总线空闲函数Buslnactive 316
15.4.10 光学测量函数ProcessOptics 317
15.4.11 读按键函数GetBuons 318
15.4.12 鼠标移动函数MouseMoved 318
15.5 HID设备请求处理 318
15.5.1 设置配置请求SetConfiguration 318
15.5.2 设置地址请求SetAddress 319
15.5.3 清标志请求ClearFeature 319
15.5.4 设置标志请求SetFeature 320
15.5.5 读取描述符请求GetDescriptor 321
15.5.6 读取状态请求GetStatus 322
15.5.7 设置空闲请求SetIdle 323
15.5.8 设置协议请求SetProtocol 323
15.5.9 读取报告请求GetReport 324
15.5.10 读取空闲请求GetIdle 324
15.5.11 读取协议请求GetProtocol 325
15.5.12 读取配置请求GetConfiguration 325
15.6 USB鼠标描述符 325
15.6.1 设备描述符 325
15.6.2 配置描述符 326
15.6.3 接口描述符 326
15.6.4 端点描述符 327
15.6.5 HID类描述符 327
15.6.6 报告描述符 327
15.6.7 字符串描述符 328
15.7 小结 329
第16章 USB控制D/A转换输出实例 330
16.1 D/A转换概述 330
16.1.1 D/A转换原理 330
16.1.2 D/A转换器的类型 331
16.1.3 D/A转换器的性能参数 333
16.2 高速D/A转换芯片AD558 334
16.2.1 AD558简介 334
16.2.2 AD558输出模式 335
16.2.3 AD558的数据锁存 336
16.3 电路原理图 337
16.4 固件程序设计 338
16.4.1 建立USB项目 338
16.4.2 主程序文件 339
16.4.3 请求响应函数 342
16.4.4 D/A转换子函数 347
16.4.5 USB设备配置描述符 347
16.5 主机程序设计 351
16.5.1 建立工程 351
16.5.2 用户界面设计 353
16.5.3 程序代码设计 354
16.6 小结 358
第17章 USB控制A/D转换数据采集实例 359
17.1 A/D转换器概述 359
17.1.1 A/D转换原理 360
17.1.2 A/D转换器的技术参数 362
17.1.3 A/D转换器的选择原则 363
17.2 8通道电压型A/D转换器MAX197 364
17.2.1 NLAX197的引脚接口 364
17.2.2 NLAX197的控制字节 365
17.2.3 MA-X197的控制时序 367
17.3 USB模拟电压采集实例 368
17.3.1 系统电路原理图 368
17.3.2 稳压电路 370
17.4 USB固件程序设计 370
17.4.1 建立USB项目 371
17.4.2 主函数程序设计 371
17.4.3 设备请求处理 374
17.4.4 A/D转换控制子函数 379
17.4.5 USB描述符 379
17.5 上位机程序设计 383
17.5.1 建立项目 384
17.5.2 程序设计 385
17.6 小结 389
第18章 USB的RAM测试实例 390
18.1 EZ-USBFX2LP的存储器 390
18.1.1 内部数据RAM 390
18.1.2 外部程序和数据存储空间 393
18.2 USB的RAM测试电路原理图 397
18.3 固件程序设计 398
18.3.1 建立USB项目 398
18.3.2 主程序文件 399
18.3.3 测试RAM区域函数testmem 402
18.3.4 错误码分析函数status 403
18.3.5 特定字符串输出函数statStng 404
18.4 小结 404
第19章 USB读写I2C总线EEPROM 405
19.1 I2C总线概述 405
19.1.1 12C总线的工作原理 406
19.1.2 12C总线的负载能力 406
19.1.3 12C总线的寻址方式 406
19.1.4 12C总线数据传输协议 407
19.2 电路原理图 409
19.3 固件程序设计 411
19.3.1 建立USB项目 411
19.3.2 主程序文件 412
19.3.3 请求响应处理 414
19.3.4 EEPROM读写 419
19.3.5 12C接口子函数 420
19.3.6 USB设备配置描述符 424
19.4 主程序设计 429
19.4.1 建立工程 429
19.4.2 用户界面设计 430
19.4.3 程序代码设计 431
19.5 小结 433
第20章 USB读写Microware串行EEPROM 434
20.1 Microware串行总线概述 434
20.2 Microware串行总线接口的EEPROM存储器 435
20.2.1 Microware串行总线接口EEPROM概述 435
20.2.2 Microware串行总线接口EEPROM的指令 436
20.2.3M icroware串行总线接口EEPROM的指令时序 437
20.3 电路原理图 440
20.4 固件程序设计 441
20.4.1 建立USB项目 442
20.4.2 主程序文件 443
20.4.3 请求响应函数 445
20.4.4 Microware读写子函数 449
20.4.5 三线制Microware串行总线读写子函数 450
20.4.6 USB设备配置描述符. 453
20.5 主程序设计 457
20.5.1 建立工程 457
20.5.2 用户界面设计 459
20.5.3 程序代码设计 460
20.6 小结 462
第21章 USB控制实时时钟芯片DS1302 463
21.1 实时时钟芯片DS1302概述 463
21.1.1 实时时钟芯片DS1302概述 463
21.1.2 实时时钟芯片DS1302命令字节 464
21.1.3 实时时钟芯片DS1302数据格式 464
21.1.4 实时时钟芯片DS1302数据传输方式 466
21.2 电路原理图 467
21.3 固件程序设计 469
21.3.1 建立USB项目 469
21.3.2 主程序文件 470
21.3.3 请求响应处理 473
21.3.4 实时时钟操作 477
21.3.5 DS1302控制子函数 478
21.3.6 USB设备配置描述符 482
21.4 上位机程序设计 486
21.4.1 建立工程 486
21.4.2 用户界面设计 487
21.4.3 程序代码设计 488
21.5 小结 491
第22章 USB采集单总线温度传感器DS18S20 492
22.1单 总线概述 492
22.2单 总线温度传感器DS18S20. 493
22.2.1 温度传感器DS18S20概述 494
22.2.2 DS18S20的供电方式 494
22.2.3 DS18S20的数据操作 495
22.2.4 DS18S20的温度转换操作 497
22.3 电路原理图 498
22.4 固件程序设计 499
22.4.1 建立USB项目 499
22.4.2 主程序文件 500
22.4.3 请求响应处理 503
22.4.4 读取温度操作 507
22.4.5 DS18S20控制子函数 508
22.4.6 USB设备配置描述符 510
22.5 上位机程序设计 514
22.5.1 建立工程 514
22.5.2 用户界面设计 516
22.5.3 程序代码设计 517
22.6 小结 519
第23章 USB打印机控制实例 520
23.1 CH375A接口芯片 520
23.1.1 CH375A概述 521
23.1.2 CH375A内部结构 523
23.2 CH375A指令 523
23.2.1 CH375A基本指令. 524
23.2.2 USB存储设备类指令 527
23.3 CH375A接口方式 533
23.3.1 并行接口 534
23.3.2 串行接口 534
23.4 USB打印机控制实例 535
23.4.1 电路原理图 535
23.4.2 USB打印机控制方式 538
23.5 程序设计 539
23.5.1 项目建立 539
23.5.2 头文件 539
23.5.3 参数及结构定义 543
23.5.4 主函数 544
23.5.5 基本操作子函数 545
23.5.6 数据同步及读写子函数 547
23.5.7 CH375A主机操作子函数 548
23.6 小结 552
第24章 USB接口充电器实例 553
24.1 锂电池及其充电概述 553
24.1.1 锂电池概述 553
24.1.2 锂电池充电概述 554
24.2 智能充电管理芯片MAX1898 554
24.2.1 智能充电管理芯片选型 555
24.2.2 智能充电管理芯片MAX1898概述 555
24.2.3 MAX1898充电工作原理 556
24.3 USB接口充电器实例 557
24.3.1 电路原理图 557
24.3.2 USB接口充电器功能 560
24.4 固件程序设计 561
24.4.1 建立USB项目 561
24.4.2 主程序文件 562
24.4.3 请求响应处理 565
24.4.4 智能充电管理 569
24.4.5 USB设备配置描述符 570
24.5 小结 574
第25章 USB转RS-232串口实例. 575
25.1 CH341简介 575
25.2 CH341串口工作方式 576
25.2.1 异步串口方式 576
25.2.2 同步串口方式 579
25.3 CH341打印口工作方式 579
25.4 CH341并口工作方式 581
25.4.1 EPP并口方式 582
25.4.2 MEM并口方式 583
25.5 CH341功能配置 583
25.5.1 直接组合配置 583
25.5.2 外部芯片配置 583
25.6 USB转RS-232串口实例 584
25.6.1 电路原理图 584
25.6.2 硬件接口介绍 585
25.6.3 连接使用 586
25.7 小结 587
第26章 U盘设计实例 588
26.1 Nand-Flash存储器 588
26.1.1 Nor-Flash和Nand-Flash 588
26.1.2 Nand-Flash存储器K9F2GO8UOM 589
26.1.3 Nand-Flash存储器的组织结构 590
26.1.4 Nand-Flash存储器的指令集 591
26.1.5 Nand-Flash存储器的操作 591
26.2 基于Nand-Flash的文件系统 592
26.2.1 分区格式简介 592
26.2.2 基于Nand-Flash的文件系统 593
26.2.3 Nand-Flash存储器上的FAT结构 597
26.3 Nand-Flash控制器 597
26.3.1 CY7C68023简介 597
26.3.2 兼容Nand-Flash存储器 599
26.4 U盘设计实例 599
26.4.1 电路原理图 600
26.4.2 PCB设计要求 601
26.4.3 配置格式化 601
26.5 小结 602
第27章 LabVIEW下的USB数据采集实例 603
27.1 SlaveFIFO模式简介 603
27.1.1 SlaveFIFO模式的引脚及功能 604
27.1.2 典型的数据传输 608
27.2 SlaveFIFO的固件设计 609
27.2.1 SlaveFIFO固件基础 610
27.2.2 AutoIn/AutoOut模式 610
27.2.3 AutoIn/AutoOut模式初始化 610
27.2.4 CPU访问OUT数据包 613
27.2.5 CPU访问IN数据包 615
27.3 电路原理图 617
27.4 固件程序设计 618
27.4.1 建立USB项目 618
27.4.2 主程序文件 619
27.4.3 请求响应函数 621
27.4.4 初始化子函数 625
27.4.5 自定义请求子函数 626
27.4.6 块传输处理 626
27.4.7 USB设备配置描述符 627
27.5 LabVIEW程序设计 632
27.5.1 USB驱动程序 632
27.5.2 前面板程序设计 634
27.5.3 程序框图设计 634
27.6 小结 635
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《英汉翻译理论的多维阐释及应用剖析》常瑞娟著 2019
- 《数据库技术与应用 Access 2010 微课版 第2版》刘卫国主编 2020
- 《高等数学试题与详解》西安电子科技大学高等数学教学团队 2019
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《虚拟流域环境理论技术研究与应用》冶运涛蒋云钟梁犁丽曹引等编著 2019
- 《当代翻译美学的理论诠释与应用解读》宁建庚著 2019
- 《第一性原理方法及应用》李青坤著 2019
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019