图书介绍
USB开发手册2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 傅志辉编著 著
- 出版社: 北京:中国铁道出版社
- ISBN:9787113186746
- 出版时间:2014
- 标注页数:625页
- 文件大小:110MB
- 文件页数:650页
- 主题词:USB总线-手册
PDF下载
下载说明
USB开发手册PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一篇 USB总线基础1
第1章 USB总线开发基础1
1.1 USB总线的发展1
1.1.1 USB 1.0版本2
1.1.2 USB 1.1版本2
1.1.3 USB 2.0版本2
1.1.4 USB 3.0版本3
1.2 USB总线对比其他计算机总线4
1.2.1早期计算机总线接口的缺点4
1.2.2 USB总线接口的优势5
1.2.3 USB总线对比其他计算机总线6
1.3认识USB总线7
1.3.1 USB主机7
1.3.2 USB集线器设备8
1.3.3 USB功能设备8
1.3.4 USB电缆8
1.3.5 USB连接器9
1.4认识USB总线规范13
1.4.1 USB总线设备类规范14
1.4.2 USB系统的结构14
1.4.3 USB总线的供电15
1.4.4 USB总线电源分配16
1.4.5 USB总线电源管理17
1.5认识USB接口开发18
1.5.1 USB硬件开发18
1.5.2 USB驱动开发18
1.5.3 USB软件开发19
第2章 USB总线数据流结构20
2.1 USB总线数据流概述20
2.2USB数据流单元:字段21
2.2.1同步字段:SYNC21
2.2.2包标识字段:PID23
2.2.3地址字段:ADDR23
2.2.4端点字段:ENDP23
2.2.5帧号字段:NUM23
2.2.6数据字段:DATA23
2.2.7校验字段:CRC24
2.3 USB数据流构成:信息包24
2.3.1令牌包:USB传输类型24
2.3.2数据包:USB传输数据28
2.3.3握手包:USB传输状态28
第3章 USB总线数据流管理30
3.1 USB总线数据流分类30
3.2 USB IN数据流管理30
3.2.1 USB设备响应31
3.2.2 US B主机响应31
3.3 USB OUT数据流管理31
3.4 USB SETUP数据流管理32
3.5 USB PING数据流管理33
3.6 USB SOF数据流管理34
3.7 USB SPLIT数据流管理34
3.7.1 SSPLIT数据流管理34
3.7.2 CSPLIT数据流管理34
3.8 USB PRE数据流管理35
3.9USB设备列举状态35
3.9.1典型的USB设备状态35
3.9.2 USB设备的连接37
3.9.3 US B设备的断开37
第4章 USB总线数据流类型38
4.1 USB总线数据流传输类型概述38
4.2 USB控制数据流传输:Control39
4.2.1控制传输数据包40
4.2.2控制数据流管理40
4.3USB中断数据流传输:Interrupt42
4.3.1中断传输的数据包42
4.3.2中断数据流管理42
4.4USB块数据流传输:Bulk43
4.4.1块传输的数据包43
4.4.2块数据流管理43
4.5USB同步数据流传输:Isochronous44
4.5.1同步传输的数据包44
4.5.2同步数据流管理44
4.6USB 3.0与USB 2.0数据传输的区别45
4.6.1数据传输方式46
4.6.2编码方式46
4.7USB总线容错管理47
4.7.1超时管理机制48
4.7.2信息包错误管理机制49
4.7.3数据触发管理机制49
4.7.4 EOP错误管理机制51
4.7.5总线活动丢失管理机制51
第5章 USB标准设备管理53
5.1 USB标准设备管理:描述符53
5.1.1 USB设备描述符54
5.1.2 USB配置描述符56
5.1.3 USB接口描述符57
5.1.4 USB端点描述符58
5.1.5 USB字符串描述符60
5.1.6 USB设备限定描述符61
5.1.7 USB其他速率配置描述符62
5.2 USB标准设备管理:设备请求63
5.2.1读取状态请求GetStatus64
5.2.2清除特性请求ClearFeature65
5.2.3设置特性请求SetF eature66
5.2.4设置地址请求SetAddress66
5.2.5读取描述符请求GetDescription67
5.2.6设置描述符请求SetDescriptor67
5.2.7读取配置请求GetConfiiguration67
5.2.8设置配置请求SetConfiiguration68
5.2.9读取接口请求GetInterface68
5.2.10设置接口请求SetInterface68
5.2.11同步帧请求SynchFrame69
5.3 USB标准设备管理示例69
5.3.1声明设备请求69
5.3.2设备请求的响应70
第6章 USB HID设备管理74
6.1 USB HID设备类74
6.1.1 HID设备的特点74
6.1.2 HID设备的定义74
6.2 USB HID设备管理:描述符76
6.2.1设备描述符76
6.2.2配置描述符76
6.2.3接口描述符77
6.2.4端点描述符77
6.2.5字符串描述符77
6.2.6 HID类描述符78
6.3 USB HID设备管理:HID设备类请求80
6.3.1 GetReport请求(获取报告请求)80
6.3.2 GetIdle请求(获取空闲速率请求)81
6.3.3 GetProtocol请求(获取HID协议请求)81
6.3.4 SetReport请求(设置报告请求)82
6.3.5 S etIdle请求(设置空闲速率请求)82
6.3.6 S etProtocol请求(设置HID协议请求)83
第7章 USB集线器设备管理84
7.1 USB集线器配置原理84
7.1.1集线器设备类85
7.1.2集线器的配置过程85
7.1.3 US B集线器的状态86
7.2 USB集线器设备管理:描述符86
7.2.1集线器设备描述符86
7.2.2集线器配置描述符88
7.2.3集线器接口描述符89
7.2.4集线器端点描述符90
7.2.5集线器类描述符91
7.3 USB集线器设备管理:集线器类请求91
7.3.1读取集线器状态请求GetHubStatus93
7.3.2读取下行端口状态请求GetPortStatus93
7.3.3禁止集线器的特性请求ClearHubFeature94
7.3.4禁止下行端口特性请求ClearPortFeature94
7.3.5使能集线器特性请求SetHubF eature95
7.3.6使能下行端口特性请求SetPortFeature95
7.3.7读取描述符请求GetHubDescriptor96
7.3.8设置描述符请求SetHubDescriptor96
7.3.9清除TT块请求ClearTTBuffer97
7.3.10复位TT块请求ResetTT97
7.3.11读取TT内部状态请求GetTTState98
7.3.12停止TT正常工作请求StopTT99
第二篇 USB程序开发100
第8章 Windows驱动程序管理100
8.1 Windows驱动管理模型:WDM100
8.1.1 WDM驱动程序特征101
8.1.2 WD M驱动程序结构102
8.1.3 WD M驱动程序模型102
8.1.4 WDM驱动程序构成103
8.2入口例程的实现104
8.3即插即用例程的实现105
8.4分发例程的实现108
8.5卸载例程的实现109
8.6电源管理例程的实现109
8.7设备的即插即用管理111
8.7.1 WDM PnP IRP的处理规则111
8.7.2 WDM即插即用的管理113
8.7.3 US B设备的即插即用114
第9章 DriverStudio驱动开发工具117
9.1 DriverStudio驱动开发工具简介117
9.1.1 DriverStudio软件工具117
9.1.2 DriverStudio软件的安装及配置119
9.1.3配置DriverStudio编译环境124
9.2 DriverStudio环境下WDM驱动结构125
9.2.1基类KDriver125
9.2.2即插即用类KPnPDevice127
9.2.3物理对象类KPnpLowerDevice131
9.3 DriverStudio环境下WDM驱动程序实例131
9.3.1简单的驱动程序的建立131
9.3.2驱动程序设计138
9.3.3驱动的安装141
9.3.4驱动程序测试145
第10章 基于DriverStudio的USB接口编程类147
10.1 USB编程类函数概述147
10.2 USB设备编程类KUsbLowerDevice147
10.2.1激活USB设备配置函数ActivateConfiiguration147
10.2.2终止USB设备配置函数DeActivateConfiiguration148
10.2.3初始化厂商请求函数BuildVendorRequest148
10.2.4分配类请求函数BuildClassRequest149
10.2.5清除特征标志函数ClearFeature149
10.2.6设置特征标志函数SetFeature149
10.2.7获取状态函数GetStatus150
10.2.8获取USB帧号函数GetCurrentFrameNumber150
10.2.9未配置状态函数Unconfiigure150
10.2.10配置状态函数Confiigure150
10.2.11配置接口函数PreconfiigureInterface150
10.2.12接口描述符函数LocateInterface150
10.2.13配置描述符函数Preconfigure151
10.2.14删除USB资源函数ReleaseResources151
10.2.15 字符串描述符函数GetStringDescriptor151
10.2.16设备描述符函数GetDeviceDescriptor151
10.2.17初始化函数Initialize152
10.2.18发送URB函数SubmitUrb152
10.3USB接口编程类KUsbInterface152
10.3.1使能接口函数SelectAlternate152
10.3.2清除特征标志函数ClearFeature152
10.3.3设置特征标志函数SetFeature153
10.3.4获取状态函数GetStatus153
10.3.5初始化厂商请求函数BuildVendorRequest153
10.3.6分配类请求函数BuildCIassRequest154
10.3.7管道函数Pipes154
10.3.8管道数量函数NumberOfPipes154
10.3.9接口协议函数Protocol154
10.3.10接口子类函数Subclass155
10.3.11接口类函数Class155
10.3.12使能接口号函数AltemateSetting155
10.3.13接口数量函数InterfaceNumber155
10.3.14初始化函数Initialize155
10.3.15关闭接口函数Close155
10.3.16是否打开函数IsOpen155
10.3.17打开实例函数Open155
10.3.18发送URB函数SubmitUrb156
10.3.19是否可用函数IsValid156
10.4USB管道编程类KUsbPipe156
10.4.1初始化函数Initialize156
10.4.2打开接口函数Open156
10.4.3是否打开函数IsOpen156
10.4.4关闭管道函数Close157
10.4.5中断传输函数BuildInterruptTransfer157
10.4.6控制传输函数Bui IdControlTransfer157
10.4.7块传输函数BuildBulkTransfer157
10.4.8同步传输函数BuildIsochronousTransfer158
10.4.9清除特征标志函数ClearF eature158
10.4.10设置特征标志函数SetFeature158
10.4.11获取状态函数GetStatus159
10.4.12复位管道函数Reset159
10.4.13丢弃函数Abort159
10.4.14初始化厂商请求函数BuildVendorRequest159
10.4.15 初始化类请求函数BuildClassRequest160
10.4.16最大帧字节数函数MaximumPacketSize160
10.4.17最大传输字节数函数MaximumTransferSize160
10.4.18管道句柄函数Handle160
10.4.19中断检查间隔函数PollInterval160
10.4.20管道端点地址函数EndpointAddress161
10.4.21设置最大传输字节数函数SetMaximumTransferSize161
10.4.22发送URB函数SubmitUrb161
10.4.23传输类型函数Type161
10.5 USB驱动创建实例161
10.5.1 USB驱动程序建立161
10.5.2 USB驱动程序设计167
第11章 Cypress通用USB驱动程序169
11.1驱动程序INF文件简介169
11.2驱动程序INF文件处理过程169
11.3驱动程序IN F文件的结构170
11.3.1版本节[Version]170
11.3.2源文件盘符节[Source Di sksN arnes]172
11.3.3 源文件节[SourceDisksFiles]172
11.3.4目标磁盘节[DestinationDirs]173
11.3.5供应商节[Manufacturer]173
11.3.6默认安装节[DefaultInstall]174
11.3.7字符串节[String]174
11.4 Cypress的通用USB驱动程序概述174
11.5 CyLoad.inf文件解析175
11.5.1 CyLoad.inf文件175
11.5.2修改设备的VID/PID177
11.5.3修改字符串177
11.5.4修改GUID178
11.5.5修改驱动名称178
11.6 CyUSB.inf文件解析178
11.6.1 CyUSB.inf文件178
11.6.2修改设备的VID/PID180
11.6.3修改字符串181
11.6.4修改驱动名称181
11.7 EZ-USB驱动程序的安装181
第12章 Cypress的USB接口控制函数185
12.1 cyioctl控制数类185
12.1.1头文件cyioctl.h185
12.1.2获取设备句柄191
12.1.3中止i/O端点的请求接口IOCTL ADAPT ABORT PIPE191
12.1.4断开USB设备接口IOCTL ADAPT CYCLE PORT191
12.1.5获得设备地址接口IOCTL ADAPT GET ADDRESS191
12.1.6获取替换接口IOCTL ADAPT GET ALT INTERFACE SETTING192
12.1.7获取字符串接口IOCTL_ADAPT_GET_DEVICE_NAME192
12.1.8获取电源接口IOCTL_ADAPT_GET_DEVICE_POWER_STATE192
12.1.9获取版本接口IOCTL_ADAPT_GET_DRIVER_VERSION193
12.1.10获取替换名称接口IOCTL_ADAPT_GET_FRIENDLY_NAME193
12.1.11获取端点数接口IOCTL_ADAPT_GET_NUMBER_ENDPOINTS193
12.1.12获取传输大小接口IOCTL_ADAPT_GET_TRANSFER_SIZE194
12.1.13获取USBDI接口IOCTL_ADAPT_GET_USBDI_VERSION194
12.1.14复位设备接口IOCTL_ADAPT_RESET_PARENT_PORT194
12.1.15复位端点接口IOCTL_ADAPT_RESET_PIPE195
12.1.16设置替换接口IOCTL_ADAPT_SELECT_INTERFACE195
12.1.17发送控制请求接口IOCTL_ADAPT_SEND_EPO_CONTROL_TRANSFER195
12.1.18数据传输接口IOCTL_ADAPT_SEND_NON_EPO_TRANSFER196
12.1.19设置电源接口IOCTL_ADAPT_SET_DEVICE_POWER_STATE197
12.1.20设置传输字节接口IOCTL_ADAPT_SET_TRANSFER_SIZE197
12.2 CyAPI控制函数类198
12.2.1头文件CyAPI.h198
12.2.2块传输端点控制类CCyBulkEndPoint208
12.2.3控制传输端点类CCyControlEndPoint208
12.2.4中断传输端点控制类CCyInterruptEndPoint210
12.2.5同步传输端点控制类CCylsocEndPoint211
12.2.6设备控制类CCyUSBDevice213
12.2.7配置信息类CCyUSBConfiig223
12.2.8端点控制类CCyUSBEndPoint225
12.2.9接口控制类CCyUSBInterface229
12.3 USB控制函数示例232
第13章 Cypress EZ-USB接口芯片234
13.1 EZ-USB芯片简介234
13.2增强型8051 CPU结构235
13.3特殊功能寄存器236
13.4中断系统237
13.5 I/O端口238
13.5.1普通I/O功能240
13.5.2第二扩展功能243
13.5.3从属FIFO接口模式246
13.5.4 GPIF模式247
13.6指令系统248
第14章 Cypress EZ-USB寄存器详解254
14.1特殊功能寄存器254
14.1.1端口PA读/写寄存器IOA254
14.1.2端口PB读/写寄存器IOB255
14.1.3自动指针1地址高字节寄存器AUTOPTRH 1255
14.1.4自动指针1地址低字节寄存器AUTOPTRLI255
14.1.5自动指针2地址高字节寄存器AUTOPTRH2255
14.1.6自动指针2地址低字节寄存器AUTOPTRL2256
14.1.7端口PC读/写寄存器IOC256
14.1.8中断请求INT2清除寄存器INT2CLR256
14.1.9中断请求INT4清除寄存器INT4CLR257
14.1.10端点状态标志寄存器EP2468STAT257
14.1.11数据传输状态标志寄存器EP24FIFOFLGS258
14.1.12数据传输状态标志寄存器EP68FIFOFLGS258
14.1.13自动指针设置寄存器AUTOPTRSETUP259
14.1.14端口PD读/写寄存器IOD259
14.1.15 端口PE读/写寄存器IOE259
14.1.16端口使能寄存器OEA~OEE260
14.1.17端点0和1的状态寄存器EPO 1 STAT261
14.1.18触发GPIF寄存器GPIFTRIG261
14.1.19 GPIF数据寄存器GPIFSGLDATH261
14.1.20 GPIF数据寄存器GPIFSGLDATLX262
14.1.21 GPIF数据寄存器GPIFSGLDATLNOX262
14.2GPIF波形描述寄存器262
14.3通用配置寄存器263
14.3.1 CPU控制和状态寄存器263
14.3.2接口配置263
14.3.3 Slave FIFO引脚配置264
14.3.4 FIFO复位266
14.3.5断点266
14.3.6串行时钟267
14.3.7 Slave FIFO接口引脚的极性267
14.3.8芯片版本ID268
14.3.9芯片版本控制269
14.3.10 GPIF保持时间269
14.4端点配置寄存器269
14.4.1端点1IN和端点1OUT配置270
14.4.2端点2、 4、 6、 8配置270
14.4.3端点2、 4、 6、 8的Slave FIFO配置271
14.4.4端点2、 4、 6、 8的 AUTO IN包长度272
14.4.5端点的ISO IN包273
14.4.6 IN数据包强制结束273
14.4.7 OUT数据包强制结束273
14.5中断寄存器275
14.5.1端点Slave FIFO中断275
14.5.2 Bulk In中断276
14.5.3端点握手中断276
14.5.4 USB中断277
14.5.5端点中断278
14.5.6 GPIF中断279
14.5.7 USB错误中断279
14.5.8 USB错误计数限制280
14.5.9清除错误计数281
14.5.10 IN T2自动向量281
14.5.11 INT4自动向量281
14.5.12INT2和INT4的SETUP281
14.6输入/输出寄存器282
14.6.1端口A的替换配置282
14.6.2端口C的替换配置282
14.6.3端口E的替换配置283
14.6.4 XTALIN时钟源源283
14.6.5 I2C总线控制和状态284
14.6.6 I2C总线数据284
14.6.7 I2C总线控制284
14.6.8自动指针的 MOVX操作285
14.7 USB控制寄存器285
14.7.1 USB控制和状态285
14.7.2进入挂起状态286
14.7.3唤醒控制及状态286
14.7.4数据触发控制287
14.7.5 USB帧计数287
14.7.6 USB微帧计数288
14.7.7 USB功能地址288
14.8端点操作寄存器288
14.8.1端点0计数288
14.8.2端点1计数289
14.8.3端点2和端点6的Byte计数高位289
14.8.4端点4和端点8的Byte计数高位289
14.8.5端点2.4.6.8计数的低位290
14.8.6端点0控制和状态290
14.8.7端点1控制和状态291
14.8.8端点2控制和状态292
14.8.9端点4控制和状态292
14.8.10端点6控制和状态293
14.8.11端点8控制和状态293
14.8.12端点2和端点4的FIFO标志294
14.8.13端点6和端点8的FIFO标志294
14.8.14端点2的Slave FIFO字节计数高位294
14.8.15 端点6的Slave FIFO字节计数高位295
14.8.16端点4和端点8的Slave FIFO字节计数高位295
14.8.17端点2、 4、 6和端点8 Slave FIFO字节计数低位295
14.8.18 Setup数据指针地址296
14.8.19 Setup指针自动模式296
14.8.20 8字节Setup数据297
14.9 GPIF/FIFOs寄存器297
14.9.1 GPIF波形选择298
14.9.2 GPIF完成和空闲298
14.9.3 CTL的输出状态299
14.9.4 GPIF地址300
14.9.5 GPIF流动状态300
14.9.6 GPIF处理字节计数301
14.9.7端点2、 4、 6和端点8的GPIF标志选择303
14.9.8端点2、 4、 6和端点8的GPIF停止事务303
14.9.9端点2、 4、 6和端点8的GPIF触发303
14.9.10 GPIF数据304
14.9.11 GPIF RDY引脚的配置305
14.9.12 GPIF RDY引脚状态306
14.9.13终止GPIF循环306
14.10端点缓冲寄存器306
14.10.1端点0306
14.10.2端点1IN307
14.10.3端点1 OUT307
14.10.4端点2307
14.10.5端点4308
14.10.6端点6309
14.10.7端点8309
第15章 Cypress EZ-USB固件设计310
15.1 EZ-USB开发工具包310
15.1.1安装开发工具包310
15.1.2开发包工具简介314
15.2 EZ-USB基本固件框架316
15.2.1基本固件框架的建立316
15.2.2基本电路图317
15.2.3固件设计和运行318
15.3 EZ-USB固件程序设计323
15.3.1 USB端口读/写的程序设计323
15.3.2 USB端口读/写的固件仿真调试327
15.3.3 USB端点的数据发送和采集328
15.3.4数据发送和采集仿真调试332
第三篇 USB开发实例334
第16章 USB接口LED数码管显示器实例334
16.1 USB控制端点0请求334
16.1.1 USB控制传输流程334
16.1.2 USB设备请求及固件响应335
16.1.3自定义请求346
16.2 LED数码管显示器346
16.2.1共阳极7段LED347
16.2.2共阴极7段LED348
16.3电路原理图349
16.3.1电源部分电路350
16.3.2 USB部分电路351
16.4 USB固件程序设计351
16.4.1主程序文件352
16.4.2功能实现代码360
16.4.3自定义请求的定义362
16.4.4 USB描述符369
16.4.5固件程序安装及调试375
16.5 USB主机程序设计378
16.5.1控制函数379
16.5.2建立项目380
16.5.3程序设计384
16.5.4编译程序并运行388
第17章 USB自定义设备实例389
17.1 EZ-USB的启动模式389
17.1.1 EZ-USB的启动模式389
17.1.2默认USB设备状态390
17.2 EZ-USB的EEPROM引导启动391
17.2.1没有EEPROM,或者EEPROM的首字节不合法391
17.2.2首字节为0xC0的EEPROM启动392
17.2.3首字节为0xC2的EEPROM启动392
17.2.4配置字节393
17.2.5设备请求控制位RENUM394
17.2.6固件下载和重列举395
17.3 USB自定义设备实例396
17.3.1硬件选型的写入396
17.3.2 EEPROM读/写电路设计396
17.4 EEPROM读/写程序397
17.4.1宏定义398
17.4.2延时函数398
17.4.3基本操作函数399
17.4.4 12C读/写函数400
17.4.5主程序402
17.4.6编译工程403
17.5 USB自定义设备电路设计403
17.6 USB自定义设备固件程序设计404
17.6.1主程序文件405
17.6.2请求响应函数407
17.6.3初始化子程序410
17.6.4功能子程序411
17.6.5自定义请求的定义411
17.7 USB描述符412
17.7.1设备描述符412
17.7.2高速配置描述符412
17.7.3全速配置描述符414
17.7.4字符串描述符416
17.8驱动程序设计417
17.8.1编辑PMDriverLoad.inf文件417
17.8.2编辑QKDPMDriver.inf文件419
17.9驱动程序的安装422
17.9.1安装驱动422
17.9.2测试设备425
17.10固件仿真调试426
17.11主机程序设计426
17.11.1建立工程426
17.11.2用户界面设计429
17.11.3程序代码设计430
17.11.4编译执行432
第18章 USB的RAM读1写实例434
18.1 EZ-USB FX2LP的存储器434
18.1.1内部数据RAM434
18.1.2外部程序和数据存储空间437
18.1.3 EZ-USB FX2LP的内存映射438
18.1.4 Von-Neumanni zing片外程序和数据存储器439
18.1.5 0xE000~0xFFFF之间的片内数据存储器440
18.2 USB的RAM读/写电路设计441
18.2.1电路原理图441
18.2.2 USB接口说明442
18.2.3 I2C总线接口芯片PCF8574442
18.3建立USB固件程序项目443
18.4主程序文件444
18.4.1宏定义和函数变量声明444
18.4.2读/写RAM区域函数446
18.4.3错误码分析函数447
18.4.4字符串输出函数448
18.4.5主函数448
18.5头文件简介450
18.5.1常量定义451
18.5.2宏定义453
18.5.3数据类型454
18.5.4全局声明457
18.5.5函数声明458
第19章 USB自动数据传输实例459
19.1 Slave FIFO模式简介459
19.1.1 Slave FIFO模式的引脚460
19.1.2典型的数据传输时序464
19.2Slave FIFO模式的固件设计470
19.2.1 Slave FIFO固件基础471
19.2.2 AUTO IN/AUTO OUT方式471
19.2.3 CPU访问OUT数据包473
19.2.4 CPU访问IN数据包475
19.2.5 AUTO IN/AUTO OUT方式初始化477
19.3 USB自动数据传输实例479
19.3.1电路设计479
19.3.2外部控制逻辑程序设计481
19.3.3 USB固件程序设计483
19.3.4固件仿真调试494
19.3.5主机控制函数简介495
19.3.6上位机程序设计496
19.3.7程序运行506
第20章 USB高速数据采集实例508
20.1 EZ-USB的GPIF模式508
20.1.1 GPIF模式简介508
20.1.2 GPIF的硬件组成509
20.1.3 GPIF硬件配置512
20.2 GPIF波形图编辑512
20.2.1 GPIF寄存器512
20.2.2可编程GPIF波形512
20.2.3波形图设计工具513
20.2.4波形图设计实例514
20.3 GPIF固件编程514
20.3.1单字节读数据传输516
20.3.2单字节写数据传输519
20.3.3 FIFO读数据传输522
20.3.4 FIFO写数据传输526
20.4基于GPIF模式的高速数据采集电路530
20.4.1数据采集电路图530
20.4.2外部FIFO接口531
20.5数据采集波形图编辑533
20.5.1接口设计533
20.5.2数据读/写设计535
20.5.3波形描述符文件536
20.6固件程序设计539
20.6.1 USB描述符539
20.6.2主程序545
20.6.3功能实现文件547
20.6.4初始化代码548
20.6.5数据传输函数550
20.6.6调度函数550
20.6.7自定义请求552
20.7 USB主机程序设计554
20.7.1创建主机程序554
20.7.2界面设计557
20.7.3主机程序初始化558
20.7.4按钮功能实现559
20.7.5线程处理561
第21章 USB HID设备设计实例565
21.1简易USB HID键盘原理图565
21.2 USB固件程序开发566
21.2.1建立USB固件程序566
21.2.2键盘描述符567
21.2.3主程序文件573
21.2.4功能实现代码575
21.3设备测试578
第22章 USB转串口实例579
22.1CH341芯片简介579
22.1.1 CH341芯片的特点579
22.1.2异步串口方式580
22.1.3打印口582
22.1.4并口584
22.1.5同步串口586
22.1.6功能配置586
22.2 USB转串口实例587
22.2.1电路图587
22.2.2硬件介绍588
22.2.3连接使用589
第23章 控制UsB接口打印机实例590
23.1 CH375A接口芯片590
23.1.1 CH375A概述591
23.1.2CH375A内部结构592
23.2 CH375A基本指令593
23.2.1设置设备地址命令SET_USB_ADDR594
23.2.2设置端点接收器命令SET_ENDP6594
23.2.3设置端点发送器命令SET_ENDP7594
23.2.4设置重试次数命令SET_RETRY595
23.2.5事务执行命令ISSUE_TOKEN595
23.2.6清除端点错误命令CLR_STALL595
23.2.7设置地址命令SET_ADDRESS596
23.2.8获取描述符命令GET_DESCR596
23.2.9设置USB配置命令SET_CONFIG596
23.2.10读取数据块命令RD_USB_DATA0596
23.2.11延时100μS命令DELAY_100US596
23.2.12查询连接状态命令TEST_CONNECT596
23.2.13同步令牌事务命令ISSUE_TKN_X597
23.2.14自动配置设备命令AUTO_SETUP597
23.3 USB存储设备类指令597
23.3.1硬件复位命令RESET_ALL598
23.3.2测试工作状态命令CHECK_EXIST598
23.3.3设置工作模式命令SET_USB_MODE598
23.3.4获取中断状态命令GET_STATUS599
23.3.5设置串口波特率命令SET_BAUDRATE599
23.3.6读取数据块命令RD_USB_DATA600
23.3.7写入数据块命令WR_USB_DATA7600
23.3.8终止命令ABORT NAK600
23.3.9初始化存储设备命令DISK_INIT600
23.3.10获取物理容量命令DISK_SIZE601
23.3.11读取数据块命令DISK_READ601
23.3.12读操作命令DISK_RD_GO601
23.3.13写入数据块命令DISK_WRITE601
23.3.14写操作命令DISK_WR_GO602
23.3.15获取版本命令GET_IC_VER602
23.3.16低功耗状态命令ENTER_SLEEP602
23.3.17设置逻辑单元号命令SET_DISK_LUN602
23.3.18查询特性命令DISK_INQUIRY602
23.3.19检查存储设备是否就绪命令DISK_READY603
23.3.20检查错误命令DISK_R_SENSE603
23.3.21获取最大逻辑单元号命令DISK_MAX_LUN603
23.4接口方式603
23.4.1并行接口603
23.4.2串行接口604
23.5USB打印机控制实例605
23.5.1 USB打印机控制方式605
23.5.2电路图605
23.5.3项目建立608
23.6头文件609
23.6.1指令声明609
23.6.2操作状态及中断状态613
23.6.3请求类型614
23.7程序设计615
23.7.1头文件615
23.7.2参数及结构定义615
23.7.3基本操作函数617
23.7.4数据同步及读/写619
23.7.5主机操作620
23.7.6主函数625
热门推荐
- 2449370.html
- 3769801.html
- 764102.html
- 2994271.html
- 2121751.html
- 3174680.html
- 1748041.html
- 1750319.html
- 3629835.html
- 2229895.html
- http://www.ickdjs.cc/book_856814.html
- http://www.ickdjs.cc/book_3327127.html
- http://www.ickdjs.cc/book_3668785.html
- http://www.ickdjs.cc/book_2431530.html
- http://www.ickdjs.cc/book_2031819.html
- http://www.ickdjs.cc/book_3140000.html
- http://www.ickdjs.cc/book_1148536.html
- http://www.ickdjs.cc/book_2526755.html
- http://www.ickdjs.cc/book_2881554.html
- http://www.ickdjs.cc/book_1073072.html