图书介绍
USB 3.0编程宝典【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- 郑杰编著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121212963
- 出版时间:2013
- 标注页数:753页
- 文件大小:166MB
- 文件页数:774页
- 主题词:USB总线-串行接口-程序设计
PDF下载
下载说明
USB 3.0编程宝典PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1部分 USB总线接口技术基础1
第1章 USB技术概述2
1.1 USB总线技术的产生2
1.2 认识USB总线接口3
1.2.1 USB A型插座和插头4
1.2.2 USB B型插座和插头4
1.2.3 USB mini型插座和插头5
1.2.4 USB micro型插座和插头6
1.2.5 USB 3.0型插座和插头7
1.2.6 USB电缆结构11
1.3 USB总线版本13
1.3.1 USB 1.013
1.3.2 USB 1.113
1.3.3 USB 2.014
1.3.4 USB 3.014
1.3.5 其他USB规范16
1.4 USB规范概览17
1.5 USB总线结构18
1.5.1 USB主机18
1.5.2 USB电缆19
1.5.3 USB设备19
1.6 USB总线特点20
1.7 USB的竞争技术解析21
1.7.1 IEEE 1394接口技术21
1.7.2 eSATA接口技术22
1.7.3 USB PLUS接口技术23
1.7.4 ThunderBolt超高速接口技术23
1.7.5 USB接口与其他计算机接口的对比24
1.8 USB设备的开发24
1.9 小结26
第2章 USB电源管理27
2.1 USB的供电27
2.1.1 USB接口的电源指标27
2.1.2 USB外设功率需求28
2.2 典型USB 外设的电源设计28
2.2.1 USB根集线器29
2.2.2 USB总线供电集线器29
2.2.3 USB自供电集线器30
2.2.4 USB总线供电低功率设备31
2.2.5 USB总线供电高功率设备31
2.2.6 USB自供电设备32
2.2.7 USB设备功率需求的设置32
2.3 USB电源管理34
2.3.1 激活(ACTIVE)34
2.3.2 挂起(SUSPEND)34
2.3.3 空闲(FASTEXITIDLE)34
2.3.4 睡眠(SLOWEXITIDLE)35
2.3.5 USB 2.0与USB 3.0电源管理的区别35
2.4 小结36
第3章 USB事务处理37
3.1 USB事务处理概述37
3.2 令牌阶段38
3.2.1 同步字段38
3.2.2 令牌包38
3.3 数据阶段46
3.3.1 同步字段46
3.3.2 数据包47
3.4 握手阶段48
3.4.1 同步字段48
3.4.2 握手包49
3.5 USB事务处理50
3.5.1 IN事务处理51
3.5.2 OUT事务处理52
3.5.3 SETUP事务处理53
3.5.4 PING事务处理54
3.5.5 SOF事务处理55
3.5.6 SPLIT事务处理55
3.5.7 PRE事务处理56
3.6 USB设备的总线状态57
3.7 USB设备的总线列举58
3.7.1 连接USB设备58
3.7.2 断开USB设备59
3.8 小结59
第4章 USB数据传输类型60
4.1 USB数据传输概述60
4.1.1 USB 下传数据61
4.1.2 USB上传数据61
4.1.3 USB的数据传输类型62
4.2 USB块传输62
4.2.1 USB块传输方式63
4.2.2 块传输的数据包长度63
4.2.3 块事务处理63
4.3 USB 中断传输65
4.3.1 USB中断传输方式66
4.3.2 中断传输的数据包长度66
4.3.3 中断事务处理66
4.4 USB同步传输68
4.4.1 USB同步传输方式68
4.4.2 同步传输的数据包长度69
4.4.3 同步事务处理69
4.5 USB控制传输71
4.5.1 USB控制传输方式71
4.5.2 控制传输数据包长度72
4.5.3 控制事务处理72
4.6 USB 3.0与USB 2.0数据传输的对比74
4.6.1 接口不同75
4.6.2 数据传输方式不同75
4.6.3 编码方式不同75
4.6.4 数据传输对比76
4.7 小结77
第5章 USB设备配置78
5.1 USB描述符概述78
5.2 设备描述符(Device)79
5.2.1 设备描述符定义79
5.2.2 设备描述符示例82
5.3 配置描述符(Configuration)83
5.3.1 配置描述符定义83
5.3.2 配置描述符示例84
5.4 字符串描述符(String)85
5.4.1 字符串描述符定义85
5.4.2 字符串描述符示例85
5.5 接口描述符(Interface)86
5.5.1 接口描述符定义86
5.5.2 接口描述符示例88
5.6 端点描述符(Endpoint)88
5.6.1 端点描述符定义88
5.6.2 端点描述符示例90
5.7 设备限定描述符(Device Qualifier)91
5.7.1 设备限定描述符的定义91
5.7.2 设备限定描述符示例93
5.8 其他速率配置描述符(OtherSpeed Configuration)93
5.8.1 其他速率配置描述符的定义93
5.8.2 其他速率配置描述符示例95
5.9 USB设备请求概述95
5.9.1 标准USB设备请求概述95
5.9.2 USB设备请求处理过程96
5.10 读取状态请求(GetStatus)96
5.10.1 读取设备97
5.10.2 读取接口98
5.10.3 读取端点99
5.11 清除特性请求(ClearFeature)100
5.11.1 清除设备特性101
5.11.2 清除接口特性102
5.11.3 清除端点特性102
5.12 设置特性请求(SetFeature)102
5.12.1 设置设备特性103
5.12.2 设置接口特性104
5.12.3 设置端点特性104
5.12.4 设置测试特性104
5.13 设置地址请求(SetAddress)105
5.14 读取描述符请求(GetDescription)105
5.15 设置描述符请求(SetDescriptor)107
5.16 读取配置请求(GetConfiguration)108
5.17 设置配置请求(SetConfiguration)109
5.18 读取接口请求(GetInterface)109
5.19 设置接口请求(SetInterface)111
5.20 同步帧请求(SynchFrame)111
5.21 设备请求示例111
5.21.1 声明设备请求112
5.21.2 设备请求的响应112
5.22 小结115
第6章 USB集线器配置116
6.1 USB集线器简介116
6.1.1 集线器设备类117
6.1.2 集线器的配置118
6.2 USB集线器描述符118
6.2.1 集线器设备描述符118
6.2.2 集线器配置描述符120
6.2.3 集线器接口描述符121
6.2.4 集线器端点描述符123
6.2.5 集线器类描述符124
6.3 USB集线器类请求126
6.3.1 读取集线器状态请求 GetHubStatus126
6.3.2 读取下行端口状态请求GetPortStatus127
6.3.3 禁止集线器的特性请求ClearHubFeature127
6.3.4 禁止下行端口特性请求ClearPortFeature128
6.3.5 使能集线器特性请求 SetHubFeature129
6.3.6 使能下行端口特性请求SetPortFeature129
6.3.7 读取集线器描述符请求 GetHubDescriptor130
6.3.8 设置集线器描述符请求 SetHubDescriptor130
6.3.9 清除TT块请求 ClearTTBuffer131
6.3.10 复位TT块请求ResetTT132
6.3.11 读取TT内部状态请求 GetTTState132
6.3.12 停止TT 正常工作请求StopTT133
6.4 小结133
第7章 USBHID设备配置134
7.1 USB HID设备简介134
7.2 USB HID设备描述符136
7.2.1 USB HID设备的定义136
7.2.2 USB HID基本描述符137
7.2.3 USB HID类描述符142
7.3 USB HID设备类请求144
7.3.1 获取报告请求GetReport144
7.3.2 获取空闲速率请求GetIdle145
7.3.3 获取HID协议请求GetProtocol146
7.3.4 设置报告请求SetReport146
7.3.5 设置空闲速率请求SetIdle147
7.3.6 设置HID协议请求SetProtocol148
7.4 小结149
第8章 常用的USB芯片150
8.1 USB芯片分类概述150
8.1.1 通用USB 芯片150
8.1.2 专用USB 芯片151
8.2 通用USB接口芯片151
8.2.1 高速USB接口芯片EZ-USB FX2LP151
8.2.2 可编程片上系统PSoCUSB 芯片159
8.2.3 通用USB接口芯片CH375A163
8.2.4 超速USB 3.0接口芯片 CYUSB3014170
8.3 专用USB接口芯片171
8.3.1 USB HID类接口芯片CY7C63723171
8.3.2 NECUSB3.0芯片μPD720200173
8.3.3 USB转串口芯片CH341175
8.4 USB接口的PCB设计技巧182
8.4.1 差分阻抗匹配183
8.4.2 供电和接地184
8.4.3 USB接头屏蔽185
8.4.4 晶体振荡器186
8.5 小结186
第2部分 USB驱动程序设计187
第9章 USB驱动程序188
9.1 WDM驱动程序概述188
9.1.1 WDM驱动程序简介188
9.1.2 WDM驱动程序的特点189
9.1.3 WDM驱动程序的分层结构190
9.2 WDM功能驱动程序的组成192
9.2.1 入口例程193
9.2.2 即插即用例程194
9.2.3 分发例程197
9.2.4 电源管理例程198
9.2.5 卸载例程200
9.3 USB设备的即插即用实现201
9.3.1 即插即用设备状态202
9.3.2 启动USB设备202
9.3.3 停止USB设备203
9.3.4 删除USB设备204
9.4 即插即用IRP请求的处理规则205
9.5 驱动开发工具——DriverStudio207
9.5.1 DriverStudio软件工具集208
9.5.2 搭建DriverStudio驱动开发环境208
9.5.3 配置DriverStudio编译环境212
9.6 WDM驱动程序基本结构213
9.6.1 基类KDriver213
9.6.2 即插即用类KPnPDevice215
9.6.3 物理对象类KPnpLowerDevice219
9.7 使用DriverStudio创建USB驱动219
9.7.1 创建USB驱动程序框架219
9.7.2 USB驱动程序设计224
9.8 小结225
第10章 通用USB驱动程序解析226
10.1 驱动程序文件简介226
10.1.1 USB设备驱动程序的安装227
10.1.2 USB设备的识别227
10.2 驱动程序INF文件的结构228
10.2.1 版本节229
10.2.2 源文件盘符节232
10.2.3 源文件节233
10.2.4 目标磁盘节233
10.2.5 供应商节234
10.2.6 默认安装节235
10.2.7 字符串节235
10.3 Cypress通用USB驱动——基于VC6.0平台235
10.3.1 CyLoad.inf文件分析236
10.3.2 CyUSB.inf文件分析240
10.3.3 驱动程序的安装243
10.4 Cypress通用USB驱动——基于.NET平台245
10.4.1 CyUSB.inf文件246
10.4.2 CyUSB.inf文件分析249
10.5 微软通用USB驱动——WinUSB250
10.5.1 WinUSB简介250
10.5.2 WinUSB驱动程序安装包252
10.5.3 WinUSB INF文件253
10.6 小结257
第11章 LabVIEW平台的USB驱动程序开发258
11.1 NI LabVIEW平台简介258
11.1.1 LabVIEW平台简介258
11.1.2 NI-VISA开发平台259
11.2 LabVIEW平台下的USB驱动开发260
11.2.1 NI-VISA的USB驱动简介260
11.2.2 创建USB驱动261
11.2.3 INF安装文件264
11.3 小结269
第3部分 USB编程基础271
第12章 基于DriverStudio的USB设备编程基础272
12.1 USB编程类函数概述272
12.2 设备编程类KUsbLowerDevice272
12.2.1 激活设备配置函数 ActivateConfiguration273
12.2.2 终止设备配置函数 DeActivateConfiguration274
12.2.3 初始化厂商自定义请求函数 BuildVendorRequest274
12.2.4 分配USB类请求函数 BuildClassRequest275
12.2.5 清除USB特征标志函数 ClearFeature275
12.2.6 设置USB特征标志函数 SetFeature276
12.2.7 获取状态信息函数GetStatus276
12.2.8 获取USB帧号函数 GetCurrentFrameNumber276
12.2.9 设置未配置状态函数 Unconfigure277
12.2.10 设置配置状态函数Configure277
12.2.11 配置USB接口函数PreconfigureInterface277
12.2.12 获取USB接口描述符函数 LocateInterface277
12.2.13 获取USB配置描述符函数Preconfigure278
12.2.14 删除资源函数 ReleaseResources278
12.2.15 获取字符串描述符函数GetStringDescriptor278
12.2.16 获取设备描述符函数GetDeviceDescriptor279
12.2.17 初始化实例函数Initialize279
12.2.18 URB发送函数SubmitUrb279
12.3 接口编程类KUsbInterface280
12.3.1 使能USB接口函数SelectAlternate281
12.3.2 清除USB特征标志函数 ClearFeature281
12.3.3 设置USB特征标志函数SetFeature281
12.3.4 获取状态信息函数GetStatus282
12.3.5 厂商自定义请求函数BuildVendorRequest282
12.3.6 分配USB类请求函数BuildClassRequest283
12.3.7 设置管道函数Pipes283
12.3.8 获取管道数量函数 NumberOfPipes284
12.3.9 获取接口协议函数Protocol284
12.3.10 获取接口子类函数Subclass284
12.3.11 获取接口类函数Class284
12.3.12 获取接口号函数Alternate Setting284
12.3.13 获取接口数量函数InterfaceNumber285
12.3.14 初始化实例函数Initialize285
12.3.15 关闭接口函数Close285
12.3.16 判断是否打开函数IsOpen286
12.3.17 打开实例函数Open286
12.3.18 URB发送函数SubmitUrb286
12.3.19 判断实例是否有效函数IsValid287
12.4 管道编程类KUsbPipe287
12.4.1 初始化实例函数Initialize288
12.4.2 打开接口函数Open288
12.4.3 判断是否打开函数IsOpen288
12.4.4 关闭管道函数Close288
12.4.5 中断数据传输函数 BuildInterruptTransfer289
12.4.6 控制数据传输函数 BuildControlTransfer289
12.4.7 块数据传输函数 BuildBulkTransfer290
12.4.8 同步数据传输函数 BuildIsochronousTransfer290
12.4.9 清除USB特征标志函数 ClearFeature291
12.4.10 设置USB特征标志函数 SetFeature291
12.4.11 获取状态信息函数GetStatus291
12.4.12 管道复位函数Reset292
12.4.13 丢弃传输函数Abort292
12.4.14 初始化厂商自定义请求函数BuildVendorRequest292
12.4.15 初始化类请求函数 BuildClassRequest293
12.4.16 获取最大帧字节数函数MaximumPacketSize293
12.4.17 获取最大传输字节数函数MaximumTransferSize294
12.4.18 获取管道句柄函数Handle294
12.4.19 获取中断检查间隔函数PollInterval294
12.4.20 获取管道端点地址函数EndpointAddress294
12.4.21 设置最大传输字节数函数SetMaximumTransferSize294
12.4.22 URB发送函数SubmitUrb295
12.4.23 获取传输类型函数Type295
12.5 小结295
第13章 基于Visual C++的USB设备编程基础296
13.1 基于Visual C++的USB设备编程环境296
13.1.1 cyioctl类控制函数296
13.1.2 CyAPI控制函数类297
13.2 cyioctl控制函数类298
13.2.1 中止端点请求接口IOCTL_ADAPT_ABORT_PIPE298
13.2.2 断开设备接口IOCTL ADAPT_CYCLE_PORT299
13.2.3 获取设备地址接口IOCTL_ADAPT_GET_ADDRESS299
13.2.4 获取替换接口IOCTL_ADAPT_GET_ALT_INTERFACE_SETTING299
13.2.5 获取描述字符串接口IOCTL_ADAPT_GET_DEVICE_NAME300
13.2.6 获取电源状态接口IOCTL_ADAPT_GET_DEVICE_POWER_STATE300
13.2.7 获取版本号接口IOCTL_ADAPT_GET_DRIVER_VERSION300
13.2.8 获取替换名称接口IOCTL_ADAPT_GET_FRIENDLY_NAME301
13.2.9 获取端点数量接口IOCTL_ADAPT_GET_NUMBER_ENDPOINTS301
13.2.10 获取单次传输大小接口IOCTL_ADAPT_GET_TRANSFER_SIZE302
13.2.11 获取USBDI版本号接口IOCTL_ADAPT_GET_USBDI_VERSION302
13.2.12 复位USB设备接口IOCTL_ADAPT_RESET_PARENT_PORT302
13.2.13 复位USB端点接口IOCTL_ADAPT_RESET_PIPE303
13.2.14 设置替换接口IOCTL_ADAPT_SELECT_INTERFACE303
13.2.15 发送控制请求接口IOCTL_ADAPT_SEND_EPO_CONTROL_TRANSFER303
13.2.16 数据通信接口IOCTL_ADAPT_SEND_NON_EPO_TRANSFER304
13.2.17 设置电源状态接口IOCTL_ADAPT_SET_DEVICE_POWER_STATE305
13.2.18 设置传输字节数接口IOCTL_ADAPT_SET_TRANSFER_SIZE305
13.3 CyAPI控制函数类306
13.3.1 USB设备控制类 CCyUSBDevice306
13.3.2 USB配置信息类CCyUSBConfig319
13.3.3 USB端点控制类 CCyUSBEndPoint322
13.3.4 USB接口控制类 CCyUSBInterface329
13.3.5 USB块传输端点控制类 CCyBulkEndPoint332
13.3.6 USB控制传输端点类 CCyControlEndPoint333
13.3.7 USB中断传输端点控制类 CCyInterruptEndPoint336
13.3.8 USB同步传输端点控制类 CCyIsocEndPoint337
13.4 USB数据传输实例339
13.5 小结341
第14章 基于VisualC#的USB设备编程基础342
14.1 基于VisualC#的USB设备编程环境342
14.2 USBDeviceList类343
14.2.1 USBDeviceList函数343
14.2.2 Count成员变量344
14.2.3 Dispose函数344
14.2.4 USBDeviceList[int index]成员变量345
14.2.5 USBDeviceList[string FriendlyName]成员变量345
14.2.6 USBDeviceList[int VendorID,int ProductID]成员变量346
14.2.7 USBDeviceList[int VendorID,int ProductID,int UsagePage,int Usage]成员变量346
14.3 CyUSBDevice类347
14.3.1 BcdUSB成员变量347
14.3.2 DevClass成员变量348
14.3.3 DevProtocol成员变量348
14.3.4 DevSubClass成员变量348
14.3.5 DriverName成员变量349
14.3.6 FriendlyName成员变量349
14.3.7 Manufacturer成员变量350
14.3.8 Name成员变量350
14.3.9 Path成员变量350
14.3.10 ProductID成员变量351
14.3.11 VendorID成员变量351
14.3.12 SerialNumber成员变量351
14.3.13 USBAddress成员变量352
14.4 CyControlEndPoint类352
14.4.1 Direction成员变量353
14.4.2 Index成员变量353
14.4.3 ReqCode成员变量353
14.4.4 ReqType成员变量354
14.4.5 Target成员变量354
14.4.6 Value成员变量354
14.4.7 XferData函数354
14.4.8 Read函数355
14.4.9 Write函数356
14.5 CyIsocEndPoint类357
14.5.1 GetPktBlockSize函数357
14.5.2 BeginDataXfer函数357
14.5.3 FinishDataXfer函数358
14.5.4 GetPktCount函数360
14.5.5 XferData函数361
14.6 CyHidDevice类362
14.6.1 GetFeature函数363
14.6.2 GetInput函数363
14.6.3 ReadInput函数364
14.6.4 SetFeature函数364
14.6.5 SetOutput函数365
14.6.6 WriteOutput函数365
14.6.7 ToString函数366
14.7 CyUSBStorDevice类369
14.7.1 SendScsiCmd函数370
14.7.2 ToString函数371
14.7.3 TimeOut成员变量371
14.8 CyBulkEndPoint类372
14.9 小结373
第15章 基于LabVIEW的USB设备编程基础374
15.1 NI-VISA USB设备交互控制374
15.2 VISA控制函数378
15.2.1 VISA打开378
15.2.2 VISA关闭378
15.2.3 VISA USB控制输出379
15.2.4 VISA USB控制输入379
15.2.5 VISA写入380
15.2.6 VISA读取381
15.3 小结381
第4部分 USB开发实战383
第16章 EZ-USB FX2LP固件设计384
16.1 Cypress固件开发工具384
16.1.1 安装开发包384
16.1.2 开发包工具简介386
16.2 基本固件框架388
16.2.1 基本固件框架的建立388
16.2.2 固件调试389
16.3 固件程序设计394
16.3.1 USB端口读写的程序设计394
16.3.2 USB端口读写的固件仿真调试398
16.3.3 USB端点的数据发送和采集398
16.3.4 数据发送和采集仿真调试402
16.4 小结404
第17章 USB控制数码管显示实例405
17.1 EZ-USB FX2LP的I/O端口405
17.1.1 普通I/O功能408
17.1.2 第二复用功能410
17.2 控制端点0请求413
17.2.1 USB控制传输413
17.2.2 USB设备请求及固件响应414
17.2.3 获得状态请求(GetStatus)415
17.2.4 设置特性请求(Set Feature)416
17.2.5 清除特性请求(Clear Feature)417
17.2.6 获得描述符请求(Get Descriptor)418
17.2.7 设置描述符请求(Set Descriptor)420
17.2.8 设置配置请求(Set Configuration)421
17.2.9 获得配置请求(Get Configuration)422
17.2.10 设置接口请求(Set Interface)422
17.2.11 获得接口请求(Get Interface)423
17.2.12 同步帧请求(SyncFrame)423
17.2.13 固件加载请求(Firmware Load)423
17.2.14 自定义请求424
17.3 USB控制数码管实例425
17.3.1 数码管显示原理425
17.3.2 电路原理图428
17.4 USB固件程序设计429
17.4.1 主程序文件430
17.4.2 功能实现代码437
17.4.3 自定义请求的定义438
17.4.4 USB描述445
17.4.5 下载固件程序451
17.5 USB主机程序设计454
17.5.1 建立项目454
17.5.2 程序设计457
17.5.3 编译程序并运行464
17.6 小结464
第18章 使用EEPROM列举USB设备465
18.1 USB启动配置模式465
18.1.1 EZ-USB FX2LP的启动模式简介465
18.1.2 默认USB设备状态466
18.2 EEPROM引导USB启动467
18.2.1 无EEPROM引导启动467
18.2.2 EEPROM引导启动468
18.2.3 启动配置寄存器469
18.2.4 固件下载和重列举471
18.2.5 不同芯片的接线472
18.3 电路原理图472
18.4 固件程序设计474
18.4.1 主程序文件475
18.4.2 请求响应函数477
18.4.3 初始化子程序480
18.4.4 功能子程序481
18.4.5 自定义请求的定义481
18.5 USB描述符481
18.5.1 设备描述符482
18.5.2 高速配置描述符482
18.5.3 全速配置描述符484
18.5.4 字符串描述符485
18.6 下载固件程序486
18.7 驱动程序设计490
18.8 主机程序设计492
18.8.1 建立工程492
18.8.2 用户界面设计495
18.8.3 程序代码设计496
18.8.4 编译执行499
18.9 小结499
第19章 基于Slave FIFO模式的USB数据采集500
19.1 Slave FIFO模式简介500
19.1.1 Slave FIFO模式接口配置501
19.1.2 典型的数据传输506
19.2 Slave FIFO模式程序设计515
19.2.1 Slave FIFO程序设计的基本概念516
19.2.2 Slave FIFO模式寄存器介绍517
19.2.3 Slave FIFO工作模式一:AUTO IN模式529
19.2.4 Slave FIFO工作模式二:AUTO OUT模式531
19.2.5 Slave FIFO工作模式三:CPU访问OUT数据包532
18.2.6 Slave FIFO工作模式四:CPU访问IN数据包534
19.3 Slave FIFO模式数据采集实例535
19.3.1 电路设计536
19.3.2 USB固件程序设计537
19.3.3 上位机程序设计545
19.3.4 程序运行552
19.4 小结552
第20章 PSoC USB设计实例553
20.1 电路原理图设计553
20.2 固件设计554
20.2.1 创建项目554
20.2.2 配置USB558
20.2.3 配置引脚563
20.2.4 配置时钟563
20.2.5 固件程序设计565
20.2.6 下载程序567
20.3 驱动程序设计569
20.3.1 制作驱动程序569
20.3.2 安装驱动程序571
20.4 上位机程序设计574
20.4.1 调试固件575
20.4.2 创建项目577
20.4.3 软件设计578
20.4.4 运行程序581
20.5 小结582
第21章 USB控制DA输出实例583
21.1 D/A转换器概述583
21.1.1 D/A转换原理583
21.1.2 D/A转换器的类型584
21.1.3 D/A转换器的性能参数586
21.2 电路原理图设计587
21.3 固件设计588
21.3.1 创建项目588
21.3.2 配置USB589
21.3.3 配置时钟592
21.3.4 配置DA594
21.3.5 配置引脚598
21.3.6 固件程序设计598
21.4 驱动程序设计602
21.5 上位机程序设计604
21.5.1 创建项目605
21.5.2 软件设计606
21.5.3 运行程序610
21.6 小结611
第22章 USB控制A/D转换实例612
22.1 A/D转换器概述612
22.1.1 A/D转换原理612
22.1.2 A/D转换器的技术参数616
22.1.3 A/D转换器的选择原则617
22.2 8通道AD转换器MAX1300617
22.2.1 引脚接口618
22.2.2 工作方式620
22.2.3 控制指令623
22.3 电路原理图设计626
22.4 固件设计627
22.4.1 创建项目627
22.4.2 配置USB628
22.4.3 配置时钟631
22.4.4 配置SPI组件633
22.4.5 配置引脚635
22.4.6 固件程序设计636
22.5 驱动程序设计643
22.6 上位机程序设计646
22.6.1 创建项目646
22.6.2 软件设计647
22.6.3 运行程序654
22.7 小结654
第23章 USB集线器开发实例655
23.1 USB Hub芯片CY7C65642655
23.1.1 CY7C65642接口656
23.1.2 CY7C65642供电模式658
23.1.3 EEPROM配置项659
23.1.4 时钟配置661
23.1.5 复位电路662
23.1.6 过流监测662
23.1.7 端口指示663
23.2 四端口USB集线器设计663
23.2.1 电路图664
23.2.2 安装666
23.3 小结667
第24章 U盘设计实例668
24.1 U盘存储芯片668
24.1.1 Nor-Flash存储芯片和Nand-Flash存储芯片668
24.1.2 Nand-Flash存储器K9K4G08-UOM668
24.1.3 Nand-Flash存储器的组织结构670
24.1.4 Nand-Flash存储器的指令集671
24.1.5 Nand-Flash存储器的操作672
24.2 基于Nand-Flash的文件系统672
24.2.1 磁盘分区格式简介672
24.2.2 基于Nand-Flash的文件系统673
24.2.3 Nand-Flash存储器上的FAT结构678
24.3 Nand-Flash控制器678
24.3.1 CY7C68024简介679
24.3.2 兼容Nand-Flash存储器680
24.4 U盘设计实例681
24.4.1 电路原理图681
24.4.2 重新配置U盘683
24.5 小结684
第25章 USB接口控制示波器实例685
25.1 示波器简介685
25.1.1 示波器分类686
25.1.2 示波器的主要技术指标686
25.1.3 主要示波器生产商687
25.1.4 示波器的使用注意事项689
25.2 示波器编程接口689
25.2.1 USBTMC简介690
25.2.2 DPO2024示波器691
25.2.3 安装符合USBTMC的驱动程序692
25.3 USB读写示波器实例693
25.3.1 创建项目693
25.3.2 程序设计695
25.3.3 程序演示700
25.4 使用NI-VISA控制示波器实例701
25.4.1 创建项目701
25.4.2 程序设计707
25.4.3 运行程序708
25.5 小结708
第26章 Android平台USB接口开发709
26.1 Android平台简介709
26.1.1 Android开放手机联盟709
26.1.2 Android的特性710
26.1.3 Android对比其他主流操作系统711
26.1.4 Android系统构架711
26.1.5 Android开发工具713
26.1.6 Android程序结构分析714
26.2 Android的USB接口718
26.2.1 Android USB接口模式718
26.2.2 USB附件模式719
26.2.3 USB主机模式722
26.2.4 调试注意事项725
26.3 USB硬件设计725
26.3.1 电路原理图725
26.3.2 固件程序设计727
26.3.3 固件程序代码733
26.4 Android程序设计737
26.4.1 创建项目737
26.4.2 界面布局741
26.4.3 程序实现743
26.4.4 运行结果752
26.5 小结753
热门推荐
- 440889.html
- 153397.html
- 3837159.html
- 2263776.html
- 3517680.html
- 2934272.html
- 292217.html
- 846078.html
- 2571929.html
- 1935839.html
- http://www.ickdjs.cc/book_2007836.html
- http://www.ickdjs.cc/book_3504387.html
- http://www.ickdjs.cc/book_1834898.html
- http://www.ickdjs.cc/book_645858.html
- http://www.ickdjs.cc/book_478936.html
- http://www.ickdjs.cc/book_3023873.html
- http://www.ickdjs.cc/book_949335.html
- http://www.ickdjs.cc/book_1681763.html
- http://www.ickdjs.cc/book_2207536.html
- http://www.ickdjs.cc/book_2812564.html