图书介绍
USB应用开发宝典PDF|Epub|txt|kindle电子书版本网盘下载
![USB应用开发宝典](https://www.shukui.net/cover/55/34601692.jpg)
- 薛园园,赵建领编著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115246745
- 出版时间:2011
- 标注页数:738页
- 文件大小:292MB
- 文件页数:758页
- 主题词:电子计算机-接口
PDF下载
下载说明
USB应用开发宝典PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第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的开发流程9
1.5小结10
第2章USB电源管理11
2.1 USB的供电11
2.1.1 USB接口的电源指标11
2.1.2电源分配12
2.2 USB电源管理13
2.2.1供电保持13
2.2.2 USB设备的挂起13
2.2.3 USB集线器的挂起14
2.3小结14
第3章USB的设备配置15
3.1 USB标准设备的描述符15
3.1.1设备描述符16
3.1.2配置描述符18
3.1.3字符串描述符20
3.1.4接口描述符21
3.1.5端点描述符22
3.1.6设备限定描述符24
3.1.7其他速率配置描述符26
3.2 USB集线器的描述符28
3.2.1集线器设备描述符28
3.2.2集线器配置描述符30
3.2.3集线器接口描述符32
3.2.4集线器端点描述符33
3.2.5集线器类描述符34
3.3 HID设备的描述符36
3.3.1 HID设备简介36
3.3.2 HID基本描述符38
3.3.3 HID类描述符40
3.4小结42
第4章USB的数据传输44
4.1 USB数据传输简介44
4.1.1 USB数据传输流程44
4.1.2 USB事务处理45
4.1.3 USB数据传输类型46
4.2 USB控制传输46
4.2.1数据包长度47
4.2.2事务处理47
4.3 USB块传输49
4.3.1数据包长度49
4.3.2事务处理49
4.4 USB中断传输50
4.4.1数据包长度50
4.4.2事务处理51
4.5 USB同步传输51
4.5.1数据包长度51
4.5.2事务处理52
4.6小结52
第5章USB设备请求53
5.1标准USB设备请求53
5.1.1读取状态请求GetStatus54
5.1.2清除特性请求ClearFeature56
5.1.3设置特性请求SetFeature56
5.1.4设置地址请求SetAddress57
5.1.5读取描述符请求GetDescription57
5.1.6设置描述符请求SetDescriptor57
5.1.7读取配置请求GetConfiiguration58
5.1.8设置配置请求SetConfiiguration58
5.1.9读取接口请求GetInterface59
5.1.10设置接口请求SetInterface59
5.1.11同步帧请求SynchFrame59
5.2 USB集线器类请求60
5.2.1读取集线器状态请求GetHubStatus60
5.2.2读取下行端口状态请求GetPortStatus61
5.2.3禁止集线器的特性请求ClearHubFeature61
5.2.4禁止下行端口特性请求ClearPortFeature62
5.2.5使能集线器特性请求SetHubFeature63
5.2.6使能下行端口特性请求SetPortFeature63
5.2.7读取集线器描述符请求GetHubDescriptor64
5.2.8设置集线器描述符请求SetHubDescriptor64
5.2.9清除TT块请求ClearTTBuffer65
5.2.10复位TT块请求ResetTT65
5.2.11读取TT内部状态请求GetTTState66
5.2.12停止TT正常工作请求StopTT66
5.3 HID设备类请求67
5.3.1获取报告请求GetReport67
5.3.2获取空闲速率请求GetIdle68
5.3.3获取HID协议请求GetProtocol69
5.3.4设置报告请求SetReport69
5.3.5设置空闲速率请求SetIdle70
5.3.6设置HID协议请求SetProtocol71
5.4 USB设备请求示例71
5.4.1声明设备请求71
5.4.2设备请求的响应72
5.5小结77
第6章 元器件的识别和加工78
6.1元器件的封装78
6.1.1元器件封装的发展78
6.1.2元器件封装小结79
6.2元器件的焊接88
6.2.1双列直插器件的焊接88
6.2.2表面贴元器件的焊接88
6.3常用的USB接口芯片89
6.3.1 Cypress公司的USB接口芯片90
6.3.2 Philips公司的USB接口芯片95
6.3.3南京沁恒公司的USB接口芯片97
6.4小结100
第7章 电路制板布局101
7.1印制电路板基础101
7.1.1印制电路板的分类101
7.1.2印制电路板的基本概念102
7.2印制电路板设计规则104
7.2.1电路板的选择105
7.2.2电路板布局105
7.2.3电路板布线106
7.2.4其他设计规则107
7.3高速USB接口的PCB设计109
7.3.1差分阻抗109
7.3.2 USB信号110
7.3.3电源和地112
7.3.4晶体振荡器113
7.4小结113
第2篇USB编程篇117
第8章 构建USB接口开发环境117
8.1 USB固件开发环境117
8.1.1 Keil μVision3简介117
8.1.2 Keil μVision3集成开发环境118
8.1.3 Cypress开发包119
8.2上位机开发环境120
8.2.1 Visual Studio开发平台120
8.2.2 LabVIEW开发平台121
8.3 USB驱动开发环境121
8.3.1 DriverStudio软件简介121
8.3.2配置DriverSutdi o编译环境123
8.3.3 NI-VISA开发平台124
8.3.4 USB通用驱动程序125
8.4 USB最小开发系统125
8.5 USB软硬件开发环境127
8.6小结127
第9章USB固件编程128
9.1 USB设备配置描述符128
9.1.1变量声明128
9.1.2设备描述129
9.1.3设备配置130
9.1.4字符串描述133
9.2 USB设备请求134
9.2.1自定义设备请求声明134
9.2.2自定义设备请求的响应135
9.3 USB重列举139
9.4小结142
第10章USB驱动开发143
10.1 Windows下的USB驱动开发143
10.1.1 USB驱动程序建立144
10.1.2 USB驱动程序设计146
10.2 LabVIEW环境下的USB驱动开发147
10.2.1 NI-VISA的USB驱动简介147
10.2.2创建USB驱动148
10.3通用USB驱动概述149
10.4 INF文件简介149
10.4.1 INF文件处理过程150
10.4.2 INF文件的结构150
10.4.3版本节[Version]151
10.4.4源文件盘符节[SourceDisksNames]153
10.4.5源文件节[SourceDisksFiles]153
10.4.6目标磁盘节[DestinationDirs]153
10.4.7供应商节[Manufacturer]154
10.4.8默认安装节[DefaultInstall]154
10.4.9字符串节[String]155
10.5 Visual Studio 6.0环境下的通用USB驱动155
10.5.1 CyLoad.inf文件155
10.5.2 CyUSB.inf文件158
10.6 Visual Studio 2005环境下的通用USB驱动161
10.7驱动程序的安装163
10.8小结165
第11章 上位机程序开发166
11.1 Visual C++读写USB设备166
11.1.1 CYIOCTL控制函数类166
11.1.2 CyAPI控制函数类173
11.2 Visual C#读写USB设备194
11.2.1 CyHidDevice类194
11.2.2 CyIsocEndPoint类200
11.2.3 CyUSBStorDevice类204
11.3 LabVIEW读写USB设备206
11.3.1 USB设备测试207
11.3.2 VISA控制函数209
11.4小结211
第3篇USB应用实例篇215
第12章 使用EEPROM进行USB列举215
12.1 EZ-USB FX2LP的启动模式概述215
12.1.1 EZ-USB FX2LP的启动模式216
12.1.2无EEPROM启动216
12.1.3首字节为0xC0的EEPROM启动217
12.1.4首字节为0xC2的EEPROM启动217
12.1.5启动配置218
12.2 EEPROM引导USB启动电路221
12.3 USB固件程序设计222
12.3.1建立USB项目223
12.3.2主程序文件224
12.3.3请求响应函数226
12.3.4数据读写子程序232
12.3.5 USB描述符233
12.4驱动程序设计237
12.4.1 USB固件下载驱动程序237
12.4.2 USB通信驱动程序239
12.5主机程序设计241
12.5.1建立工程241
12.5.2用户界面设计243
12.5.3程序代码设计243
12.6小结246
第13章USB控制LED显示实例247
13.1 LED数码管简介247
13.1.1共阳极7段LED数码管247
13.1.2共阴极7段LED数码管249
13.2 USB控制LED显示实例250
13.3 USB固件程序设计251
13.3.1建立USB项目251
13.3.2主函数程序设计253
13.3.3设备请求响应函数255
13.3.4 LED控制子函数261
13.3.5 USB固件描述符261
13.4 USB主机程序设计266
13.4.1建立项目267
13.4.2程序设计268
13.5小结273
第14章USB控制LCD液晶显示模块274
14.1液晶显示模块概述274
14.1.1液晶显示模块的分类275
14.1.2液晶显示模块的特点276
14.2液晶显示控制驱动器276
14.2.1液晶显示控制驱动器概述276
14.2.2液晶显示控制驱动器功能277
14.3液晶显示控制器指令集280
14.3.1基本指令集280
14.3.2扩充指令集283
14.3.3控制器指令操作方式285
14.4液晶显示电路原理图287
14.5固件程序设计289
14.5.1建立USB项目289
14.5.2主程序文件290
14.5.3请求响应函数293
14.5.4初始化子程序298
14.5.5液晶汉字显示子程序298
14.5.6点阵图形型液晶控制子函数299
14.5.7 USB描述符303
14.6主机程序设计308
14.6.1建立工程308
14.6.2用户界面设计310
14.6.3程序代码设计311
14.7小结313
第15章USB键盘程序设计314
15.1 HID设备概述314
15.2 USB键盘设计实例315
15.2.1电路原理图315
15.2.2建立USB项目316
15.2.3主程序文件317
15.2.4标准设备请求响应函数320
15.2.5 USB键盘功能实现325
15.2.6 USB键盘描述符328
15.3小结333
第16章USB鼠标程序设计334
16.1 USB鼠标硬件概述334
16.2电路原理图335
16.3固件程序设计336
16.3.1接口定义337
16.3.2主函数338
16.3.3初始化函数338
16.4功能实现代码339
16.4.1主循环函数usbmain339
16.4.2鼠标事务函数MouseTask340
16.4.3挂起函数Suspend340
16.4.4数据包处理函数HandleSetup342
16.4.5输入数据包处理函数HandleIn343
16.4.6读数据函数USB_control_read343
16.4.7装载FIFO函数LoadEPOFifo344
16.4.8停止端点函数USB_Stall_In_Out344
16.4.9总线空闲函数BusInactive344
16.4.10光学测量函数ProcessOptics345
16.4.11读按键函数GetButtons346
16.4.12鼠标移动函数MouseMoved346
16.5 HID设备请求处理347
16.5.1设置配置请求SetConfiguration347
16.5.2设置地址请求SetAddress347
16.5.3清标志请求ClearFeature348
16.5.4设置标志请求SetFeature349
16.5.5读取描述符请求GetDescriptor349
16.5.6读取状态请求GetStatus351
16.5.7设置空闲请求SetIdle352
16.5.8设置协议请求SetProtocol353
16.5.9读取报告请求GetReport353
16.5.10读取空闲请求GetIdle354
16.5.11读取协议请求GetProtocol354
16.5.12读取配置请求GetConfiiguration354
16.6 USB鼠标描述符355
16.6.1设备描述符355
16.6.2配置描述符355
16.6.3接口描述符356
16.6.4端点描述符356
16.6.5 HID类描述符357
16.6.6报告描述符357
16.6.7字符串描述符358
16.7小结359
第17章USB控制D/A转换输出实例360
17.1 D/A转换概述360
17.1.1 D/A转换原理360
17.1.2 D/A转换器的类型361
17.1.3 D/A转换器的性能参数363
17.2高速D/A转换芯片AD558364
17.2.1 AD558简介364
17.2.2 AD558输出模式365
17.2.3 AD558的数据锁存366
17.3电路原理图367
17.4固件程序设计369
17.4.1建立USB项目369
17.4.2主程序文件370
17.4.3请求响应函数373
17.4.4 D/A转换子函数378
17.4.5 USB设备配置描述符378
17.5主机程序设计384
17.5.1建立工程384
17.5.2用户界面设计386
17.5.3程序代码设计386
17.6小结391
第18章USB控制A/D转换数据采集实例392
18.1 A/D转换器概述392
18.1.1 A/D转换原理393
18.1.2 A/D转换器的技术参数395
18.1.3 A/D转换器的选择原则396
18.2 8通道电压型A/D转换器MAX197397
18.2.1 MAX197的引脚接口397
18.2.2 MAX197的控制字节398
18.2.3 MAX 197的控制时序400
18.3 USB模拟电压采集实例401
18.3.1系统电路原理图401
18.3.2稳压电路403
18.4 USB固件程序设计403
18.4.1建立USB项目404
18.4.2主函数程序设计404
18.4.3设备请求处理407
18.4.4 A/D转换控制子函数413
18.4.5 USB描述符413
18.5上位机程序设计418
18.5.1建立项目418
18.5.2程序设计420
18.6小结424
第19章USB的RAM测试实例425
19.1 EZ-USB FX2LP的存储器425
19.1.1内部数据RAM425
19.1.2外部程序和数据存储空间428
19.2 USB的RAM测试电路原理图432
19.3固件程序设计433
19.3.1建立USB项目433
19.3.2主程序文件434
19.3.3测试RAM区域函数test_mem437
19.3.4错误码分析函数status439
19.3.5特定字符串输出函数statString439
19.4小结440
第20章USB读写I2C总线EEPROM441
20.1 I2C总线概述441
20.1.1 I2C总线的工作原理442
20.1.2 I2C总线的负载能力442
20.1.3 I2C总线的寻址方式442
20.1.4 I2C总线数据传输协议443
20.2电路原理图445
20.3固件程序设计447
20.3.1建立USB项目447
20.3.2主程序文件448
20.3.3请求响应处理451
20.3.4 EEPROM读写456
20.3.5 I2C接口子函数457
20.3.6 USB设备配置描述符462
20.4主程序设计467
20.4.1建立工程467
20.4.2用户界面设计468
20.4.3程序代码设计469
20.5小结472
第21章USB读写Microware串行EEPROM473
21.1 Microware串行总线概述473
21.2 Microware串行总线接口的EEPROM存储器474
21.2.1 Microware串行总线接口EEPROM概述474
21.2.2 Microware串行总线接口EEPROM的指令475
21.2.3 Microware串行总线接口EEPROM的指令时序476
21.3电路原理图479
21.4固件程序设计480
21.4.1建立USB项目481
21.4.2主程序文件482
21.4.3请求响应函数485
21.4.4 Microware读写子函数489
21.4.5三线制Microware串行总线读写子函数490
21.4.6 USB设备配置描述符493
21.5主程序设计498
21.5.1建立工程499
21.5.2用户界面设计500
21.5.3程序代码设计501
21.6小结503
第22章USB控制实时时钟芯片DS1302504
22.1实时时钟芯片DS1302概述504
22.1.1实时时钟芯片DS 1302概述504
22.1.2实时时钟芯片DS 1302命令字节505
22.1.3实时时钟芯片DS1302数据格式505
22.1.4实时时钟芯片DS1302数据传输方式507
22.2电路原理图508
22.3固件程序设计510
22.3.1建立USB项目510
22.3.2主程序文件511
22.3.3请求响应处理514
22.3.4实时时钟操作519
22.3.5 DS1302控制子函数521
22.3.6 USB设备配置描述符524
22.4上位机程序设计529
22.4.1建立工程530
22.4.2用户界面设计531
22.4.3程序代码设计532
22.5小结535
第23章USB采集单总线温度传感器DS18S20536
23.1单总线概述536
23.2单总线温度传感器DS18S20537
23.2.1温度传感器DS 18S20概述538
23.2.2 DS18S20的供电方式538
23.2.3 DS18S20的数据操作539
23.2.4 DS18S20的温度转换操作541
23.3电路原理图542
23.4固件程序设计543
23.4.1建立USB项目543
23.4.2主程序文件544
23.4.3请求响应处理547
23.4.4读取温度操作552
23.4.5 DS18S20控制子函数553
23.4.6 USB设备配置描述符555
23.5上位机程序设计560
23.5.1建立工程561
23.5.2用户界面设计562
23.5.3程序代码设计563
23.6小结566
第24章USB打印机控制实例567
24.1 CH375A接口芯片567
24.1.1 CH375A概述568
24.1.2 CH375A内部结构570
24.2 CH375A指令570
24.2.1 CH375A基本指令571
24.2.2 USB存储设备类指令574
24.3 CH375A接口方式580
24.3.1并行接口581
24.3.2串行接口581
24.4 USB打印机控制实例582
24.4.1电路原理图582
24.4.2 USB打印机控制方式586
24.5程序设计586
24.5.1项目建立586
24.5.2头文件587
24.5.3参数及结构定义591
24.5.4主函数593
24.5.5基本操作子函数594
24.5.6数据同步及读写子函数596
24.5.7 CH375A主机操作子函数597
24.6小结602
第25章USB接口充电器实例603
25.1锂电池及其充电概述603
25.1.1锂电池概述603
25.1.2锂电池充电概述604
25.2智能充电管理芯片MAX 1898604
25.2.1智能充电管理芯片选型605
25.2.2智能充电管理芯片MAX 1898概述605
25.2.3 MAX1898充电工作原理606
25.3 USB接口充电器实例607
25.3.1电路原理图608
25.3.2 USB接口充电器功能610
25.4固件程序设计611
25.4.1建立USB项目611
25.4.2主程序文件612
25.4.3请求响应处理615
25.4.4智能充电管理620
25.4.5 USB设备配置描述符621
25.5小结626
第26章USB转RS-232串口实例627
26.1 CH341简介627
26.2 CH341串口工作方式628
26.2.1异步串口方式628
26.2.2同步串口方式631
26.3 CH341打印口工作方式631
26.4 CH341并口工作方式633
26.4.1 EPP并口方式634
26.4.2 MEM并口方式635
26.5 CH341功能配置635
26.5.1直接组合配置635
26.5.2外部芯片配置635
26.6 USB转RS-232串口实例636
26.6.1电路原理图636
26.6.2硬件接口介绍637
26.6.3连接使用638
26.7小结639
第27章U盘设计实例640
27.1 Nand-Flash存储器640
27.1.1 Nor-Flash和Nand-Flash640
27.1.2 Nand-Flash存储器K9F2G08U0M641
27.1.3 Nand-Flash存储器的组织结构642
27.1.4 Nand-Flash存储器的指令集643
27.1.5 Nand-Flash存储器的操作643
27.2基于Nand-Flash的文件系统644
27.2.1分区格式简介644
27.2.2基于Nand-Flash的文件系统645
27.2.3 Nand-Flash存储器上的FAT结构649
27.3 Nand-Flash控制器649
27.3.1 CY7C68023简介649
27.3.2兼容Nand-Flash存储器651
27.4 U盘设计实例652
27.4.1电路原理图652
27.4.2 PCB设计要求653
27.4.3配置格式化654
27.5小结655
第28章LabVIEW下的USB数据采集实例656
28.1 Slave FIFO模式简介656
28.1.1 Slave FIFO模式的引脚及功能657
28.1.2典型的数据传输661
28.2 Slave FIFO的固件设计662
28.2.1 Slave FIFO固件基础662
28.2.2 Auto In/Auto Out模式663
28.2.3 Auto In/Auto Out模式初始化664
28.2.4 CPU访问OUT数据包667
28.2.5 CPU访问IN数据包669
28.3电路原理图671
28.4固件程序设计672
28.4.1建立USB项目672
28.4.2主程序文件673
28.4.3请求响应函数676
28.4.4初始化子函数680
28.4.5自定义请求子函数681
28.4.6块传输处理682
28.4.7 USB设备配置描述符683
28.5 LabVIEW程序设计688
28.5.1 USB驱动程序688
28.5.2前面板程序设计690
28.5.3程序框图设计690
28.6小结691
第4篇USB3.0展望篇695
第29章USB 3.0概述695
29.1 USB 3.0的产生和基本特性695
29.1.1 USB 3.0的产生695
29.1.2 USB 3.0的基本特性696
29.1.3 USB 3.0的标志697
29.2 USB 3.0技术解析698
29.2.1 USB 3.0针脚定义698
29.2.2 USB 3.0接头标准699
29.2.3 USB 3.0线缆结构701
29.3 USB 3.0工作原理703
29.3.1 USB 3.0总线结构预览703
29.3.2 USB 3.0总线编码704
29.3.3 USB 3.0超速数据流模型705
29.3.4 USB 3.0的典型眼图706
29.3.5 USB 3.0超高速数据传输708
29.3.6 USB 3.0的供电管理708
29.4 USB 3.0的技术改进709
29.5 USB 3.0产品及操作系统支持711
29.5.1 USB 3.0的实现711
29.5.2 USB 3.0的应用前景和产品713
29.5.3 USB 3.0的操作系统支持714
29.6 USB 3.0的竞争对手714
29.6.1 Firewire技术714
29.6.2 eSATA技术715
29.6.3 ExpressCard 2.0技术715
29.6.4 USB PLUS技术715
29.7小结716
第30章USB 3.0的开发717
30.1 USB 3.0开发概述717
30.1.1 USB 3.0的开发流程717
30.1.2开发USB 3.0的准备工作718
30.2 USB 3.0对设计的挑战719
30.2.1对开发人员的挑战719
30.2.2对厂商的挑战721
30.3常用的USB 3.0芯片722
30.3.1 NEC USB 3.0芯片μPD720200722
30.3.2富士通MB86C30A桥接芯片725
30.3.3 USB 3.0 Hub控制器VL810728
30.3.4 USB 3.0-SATA控制器VL700729
30.4 USB 3.0的测试测量工具730
30.4.1泰克(Tektronix)的 USB 3.0工具730
30.4.2安捷伦(Agilent)的USB 3.0工具733
30.4.3力科(LeCroy)的USB 3.0工具734
30.5 USB 3.0电路保护方案734
30.5.1过流保护735
30.5.2过压保护736
30.5.3 ESD保护737
30.5.4综合电路保护方案737
30.6小结738