USB开发手册图书
人气:12

USB开发手册

(软硬件开发一体化专家、移动电子商务专家库成员倾力打造,设计实例,面面俱到。)

内容简介

《USB开发手册》系统地介绍了当前流行的USB总线接口的协议、工作原理,以及驱动程序设计。本书中还以大量篇幅,详细地介绍了在各种应用场合下USB接口的设计实例。本书言简意赅、通俗易懂、知识点介绍详细、实例丰富,使读者能够更快、更好地掌握USB接口的原理及设计方法。

《USB开发手册》分为三篇,共23章,详细地讲述了USB接口的原理及应用实例。及时篇介绍了USB总线开发基础,总线数据流的结构、管理、类型,以及设备管理;第二篇介绍了USB程序的开发,包括USB驱动程序开发和USB固件程序开发;第三篇通过8大实例,详细介绍了在不同的应用场合下USB接口设备的设计,包括完整的电路图和程序设计。

本书内容、结构紧凑、实例丰富。USB接口的初学者通过学习本书可以快速入门,此外本书对具有一定开发经验的设计人员也有很好的参考价值。

适合阅读本书的读者:USB接口的初学者、具有一定开发经验的USB设计人员、电子设计爱好者、电子工程师、系统开发人员、大学、大专等相关专业的学生及教师。

编辑推荐

《USB开发手册》图书特点:

(1)内容详尽,覆盖USB协议、USB驱动程序设计以及USB接口设计实例。

(2)注重效率,书中每一章、每一小节的标题都以简洁的语言突出USB设计的要点。

(3)内容新颖,涵盖了的USB 3.0的相关技术内容。

(4)强调实用性,实例丰富,基本上涵盖了USB设计的方方面面。

(5)实例代码讲解丰富,每个实例都有完整的电路图、USB固件程序设计以及上位机程序设计。书中介绍的实例都可以实现,具有很高的实用价值。采用多款USB接口芯片进行设计,避免了芯片选型上的单一。读者可以从中掌握多个USB芯片的设计开发方式,从而可以灵活适应各种设计要求。

作者简介

傅志辉

副教授,高级架构师,移动电子商务专家库成员。从事企业信息化建设已有17年,具备丰富的移动软硬件开发实践经验,曾担任多个大型软件公司技术顾问,指导实施软硬件一体化产品开发。精通USB、PCI等总线协议开发,熟悉VS?NET、PHP、JAVA等多种软件开发语言或平台,精通SQL、Oracle数据库软件,参与过多个大型数据中心的设计与调优。

目录

及时篇USB总线基础

第1章USB总线开发基础

1.1USB总线的发展

1.1.1USB1.0版本

1.1.2USB1.1版本

1.1.3USB2.0版本

1.1.4USB3.0版本

1.2USB总线对比其他计算机总线

1.2.1早期计算机总线接口的缺点

1.2.2USB总线接口的优势

1.2.3USB总线对比其他计算机总线

1.3认识USB总线

1.3.1USB主机

1.3.2USB集线器设备

1.3.3USB功能设备

1.3.4USB电缆

1.3.5USB连接器

1.4认识USB总线规范

1.4.1USB总线设备类规范

1.4.2USB系统的结构

1.4.3USB总线的供电

1.4.4USB总线电源分配

1.4.5USB总线电源管理

1.5认识USB接口开发

1.5.1USB硬件开发

1.5.2USB驱动开发

1.5.3USB软件开发

第2章USB总线数据流结构

2.1USB总线数据流概述

2.2USB数据流单元:字段

2.2.1同步字段:SYNC

2.2.2包标识字段:PID

2.2.3地址字段:ADDR

2.2.4端点字段:ENDP

2.2.5帧号字段:NUM

2.2.6数据字段:DATA

2.2.7校验字段:CRC

2.3USB数据流构成:信息包

2.3.1令牌包:USB传输类型

2.3.2数据包:USB传输数据

2.3.3握手包:USB传输状态

第3章USB总线数据流管理

3.1USB总线数据流分类

3.2USBIN数据流管理

3.2.1USB设备响应

3.2.2USB主机响应

3.3USBOUT数据流管理

3.4USBSETUP数据流管理

3.5USBPING数据流管理

3.6USBSOF数据流管理

3.7USBSPLIT数据流管理

3.7.1SSPLIT数据流管理

3.7.2CSPLIT数据流管理

3.8USBPRE数据流管理

3.9USB设备列举状态

3.9.1典型的USB设备状态

3.9.2USB设备的连接

3.9.3USB设备的断开

第4章USB总线数据流类型

4.1USB总线数据流传输类型概述

4.2USB控制数据流传输:Control

4.2.1控制传输数据包

4.2.2控制数据流管理

4.3USB中断数据流传输:Interrupt

4.3.1中断传输的数据包

4.3.2中断数据流管理

4.4USB块数据流传输:Bulk

4.4.1块传输的数据包

4.4.2块数据流管理

4.5USB同步数据流传输:Isochronous

4.5.1同步传输的数据包

4.5.2同步数据流管理

4.6USB3.0与USB2.0数据传输的区别

4.6.1数据传输方式

4.6.2编码方式

4.7USB总线容错管理

4.7.1超时管理机制

4.7.2信息包错误管理机制

4.7.3数据触发管理机制

4.7.4EOP错误管理机制

4.7.5总线活动丢失管理机制

第5章USB标准设备管理

5.1USB标准设备管理:描述符

5.1.1USB设备描述符

5.1.2USB配置描述符

5.1.3USB接口描述符

5.1.4USB端点描述符

5.1.5USB字符串描述符

5.1.6USB设备限定描述符

5.1.7USB其他速率配置描述符

5.2USB标准设备管理:设备请求

5.2.1读取状态请求GetStatus

5.2.2清除特性请求ClearFeature

5.2.3设置特性请求SetFeature

5.2.4设置地址请求SetAddress

5.2.5读取描述符请求GetDescription

5.2.6设置描述符请求SetDescriptor

5.2.7读取配置请求GetConfiguration

5.2.8设置配置请求SetConfiguration

5.2.9读取接口请求GetInterface

5.2.10设置接口请求SetInterface

5.2.11同步帧请求SynchFrame

5.3USB标准设备管理示例

5.3.1声明设备请求

5.3.2设备请求的响应

第6章USBHID设备管理

6.1USBHID设备类

6.1.1HID设备的特点

6.1.2HID设备的定义

6.2USBHID设备管理:描述符

6.2.1设备描述符

6.2.2配置描述符

6.2.3接口描述符

6.2.4端点描述符

6.2.5字符串描述符

6.2.6HID类描述符

6.3USBHID设备管理:HID设备类请求

6.3.1GetReport请求(获取报告请求)

6.3.2GetIdle请求(获取空闲速率请求)

6.3.3GetProtocol请求(获取HID协议请求)

6.3.4SetReport请求(设置报告请求)

6.3.5SetIdle请求(设置空闲速率请求)

6.3.6SetProtocol请求(设置HID协议请求)

第7章USB集线器设备管理

7.1USB集线器配置原理

7.1.1集线器设备类

7.1.2集线器的配置过程

7.1.3USB集线器的状态

7.2USB集线器设备管理:描述符

7.2.1集线器设备描述符

7.2.2集线器配置描述符

7.2.3集线器接口描述符

7.2.4集线器端点描述符

7.2.5集线器类描述符

7.3USB集线器设备管理:集线器类请求

7.3.1读取集线器状态请求GetHubStatus

7.3.2读取下行端口状态请求GetPortStatus

7.3.3禁止集线器的特性请求ClearHubFeature

7.3.4禁止下行端口特性请求ClearPortFeature

7.3.5使能集线器特性请求SetHubFeature

7.3.6使能下行端口特性请求SetPortFeature

7.3.7读取描述符请求GetHubDescriptor

7.3.8设置描述符请求SetHubDescriptor

7.3.9清除TT块请求ClearTTBuffer

7.3.10复位TT块请求ResetTT

7.3.11读取TT内部状态请求GetTTState

7.3.12停止TT正常工作请求StopTT

第二篇USB程序开发

第8章Windows驱动程序管理

8.1Windows驱动管理模型:WDM

8.1.1WDM驱动程序特征

8.1.2WDM驱动程序结构

8.1.3WDM驱动程序模型

8.1.4WDM驱动程序构成

8.2入口例程的实现

8.3即插即用例程的实现

8.4分发例程的实现

8.5卸载例程的实现

8.6电源管理例程的实现

8.7设备的即插即用管理

8.7.1WDMPnPIRP的处理规则

8.7.2WDM即插即用的管理

8.7.3USB设备的即插即用

第9章DriverStudio驱动开发工具

9.1DriverStudio驱动开发工具简介

9.1.1DriverStudio软件工具

9.1.2DriverStudio软件的安装及配置

9.1.3配置DriverStudio编译环境

9.2DriverStudio环境下WDM驱动结构

9.2.1基类KDriver

9.2.2即插即用类KPnPDevice

9.2.3物理对象类KPnpLowerDevice

9.3DriverStudio环境下WDM驱动程序实例

9.3.1简单的驱动程序的建立

9.3.2驱动程序设计

9.3.3驱动的安装

9.3.4驱动程序测试

第10章基于DriverStudio的USB接口编程类

10.1USB编程类函数概述

10.2USB设备编程类KUsbLowerDevice

10.2.1激活USB设备配置函数ActivateConfiguration

10.2.2终止USB设备配置函数DeActivateConfiguration

10.2.3初始化厂商请求函数BuildVendorRequest

10.2.4分配类请求函数BuildClassRequest

10.2.5清除特征标志函数ClearFeature

10.2.6设置特征标志函数SetFeature

10.2.7获取状态函数GetStatus

10.2.8获取USB帧号函数GetCurrentFrameNumber

10.2.9未配置状态函数Unconfigure

10.2.10配置状态函数Configure

10.2.11配置接口函数PreconfigureInterface

10.2.12接口描述符函数LocateInterface

10.2.13配置描述符函数Preconfigure

10.2.14删除USB资源函数ReleaseResources

10.2.15字符串描述符函数GetStringDescriptor

10.2.16设备描述符函数GetDeviceDescriptor

10.2.17初始化函数Initialize

10.2.18发送URB函数SubmitUrb

10.3USB接口编程类KUsbInterface

10.3.1使能接口函数SelectAlternate

10.3.2清除特征标志函数ClearFeature

10.3.3设置特征标志函数SetFeature

10.3.4获取状态函数GetStatus

10.3.5初始化厂商请求函数BuildVendorRequest

10.3.6分配类请求函数BuildClassRequest

10.3.7管道函数Pipes

10.3.8管道数量函数NumberOfPipes

10.3.9接口协议函数Protocol

10.3.10接口子类函数Subclass

10.3.11接口类函数Class

10.3.12使能接口号函数AlternateSetting

10.3.13接口数量函数InterfaceNumber

10.3.14初始化函数Initialize

10.3.15关闭接口函数Close

10.3.16是否打开函数IsOpen

10.3.17打开实例函数Open

10.3.18发送URB函数SubmitUrb

10.3.19是否可用函数IsValid

10.4USB管道编程类KUsbPipe

10.4.1初始化函数Initialize

10.4.2打开接口函数Open

10.4.3是否打开函数IsOpen

10.4.4关闭管道函数Close

10.4.5中断传输函数BuildInterruptTransfer

10.4.6控制传输函数BuildControlTransfer

10.4.7块传输函数BuildBulkTransfer

10.4.8同步传输函数BuildIsochronousTransfer

10.4.9清除特征标志函数ClearFeature

10.4.10设置特征标志函数SetFeature

10.4.11获取状态函数GetStatus

10.4.12复位管道函数Reset

10.4.13丢弃函数Abort

10.4.14初始化厂商请求函数BuildVendorRequest

10.4.15初始化类请求函数BuildClassRequest

10.4.16较大帧字节数函数MaximumPacketSize

10.4.17较大传输字节数函数MaximumTransferSize

10.4.18管道句柄函数Handle

10.4.19中断检查间隔函数PollInterval

10.4.20管道端点地址函数EndpointAddress

10.4.21设置较大传输字节数函数SetMaximumTransferSize

10.4.22发送URB函数SubmitUrb

10.4.23传输类型函数Type

10.5USB驱动创建实例

10.5.1USB驱动程序建立

10.5.2USB驱动程序设计

第11章Cypress通用USB驱动程序

11.1驱动程序INF文件简介

11.2驱动程序INF文件处理过程

11.3驱动程序INF文件的结构

11.3.1版本节[Version]

11.3.2源文件盘符节[SourceDisksNames]

11.3.3源文件节[SourceDisksFiles]

11.3.4目标磁盘节[DestinationDirs]

11.3.5供应商节[Manufacturer]

11.3.6默认安装节[DefaultInstall]

11.3.7字符串节[String]

11.4Cypress的通用USB驱动程序概述

11.5CyLoad.inf文件解析

11.5.1CyLoad.inf文件

11.5.2修改设备的VID/PID

11.5.3修改字符串

11.5.4修改GUID

11.5.5修改驱动名称

11.6CyUSB.inf文件解析

11.6.1CyUSB.inf文件

11.6.2修改设备的VID/PID

11.6.3修改字符串

11.6.4修改驱动名称

11.7EZ-USB驱动程序的安装

第12章Cypress的USB接口控制函数

12.1cyioctl控制函数类

12.1.1头文件cyioctl.h

12.1.2获取设备句柄

12.1.3中止I/O端点的请求接口IOCTL_ADAPT_ABORT_PIPE

12.1.4断开USB设备接口IOCTL_ADAPT_CYCLE_PORT

12.1.5获得设备地址接口IOCTL_ADAPT_GET_ADDRESS

12.1.6获取替换接口IOCTL_ADAPT_GET_ALT_INTERFACE_SETTING

12.1.7获取字符串接口IOCTL_ADAPT_GET_DEVICE_NAME

12.1.8获取电源接口IOCTL_ADAPT_GET_DEVICE_POWER_STATE

12.1.9获取版本接口IOCTL_ADAPT_GET_DRIVER_VERSION

12.1.10获取替换名称接口IOCTL_ADAPT_GET_FRIENDLY_NAME

12.1.11获取端点数接口IOCTL_ADAPT_GET_NUMBER_ENDPOINTS

12.1.12获取传输大小接口IOCTL_ADAPT_GET_TRANSFER_SIZE

12.1.13获取USBDI接口IOCTL_ADAPT_GET_USBDI_VERSION

12.1.14复位设备接口IOCTL_ADAPT_RESET_PARENT_PORT

12.1.15复位端点接口IOCTL_ADAPT_RESET_PIPE

12.1.16设置替换接口IOCTL_ADAPT_SELECT_INTERFACE

12.1.17发送控制请求接口IOCTL_ADAPT_SEND_EP0_CONTROL_TRANSFER

12.1.18数据传输接口IOCTL_ADAPT_SEND_NON_EP0_TRANSFER

12.1.19设置电源接口IOCTL_ADAPT_SET_DEVICE_POWER_STATE

12.1.20设置传输字节接口IOCTL_ADAPT_SET_TRANSFER_SIZE

12.2CyAPI控制函数类

12.2.1头文件CyAPI.h

12.2.2块传输端点控制类CCyBulkEndPoint

12.2.3控制传输端点类CCyControlEndPoint

12.2.4中断传输端点控制类CCyInterruptEndPoint

12.2.5同步传输端点控制类CCyIsocEndPoint

12.2.6设备控制类CCyUSBDevice

12.2.7配置信息类CCyUSBConfig

12.2.8端点控制类CCyUSBEndPoint

12.2.9接口控制类CCyUSBInterface

12.3USB控制函数示例

第13章CypressEZ-USB接口芯片

13.1EZ-USB芯片简介

13.2增强型8051CPU结构

13.3特殊功能寄存器

13.4中断系统

13.5I/O端口

13.5.1普通I/O功能

13.5.2第二扩展功能

13.5.3从属FIFO接口模式

13.5.4GPIF模式

13.6指令系统

第14章CypressEZ-USB寄存器详解

14.1特殊功能寄存器

14.1.1端口PA读/写寄存器IOA

14.1.2端口PB读/写寄存器IOB

14.1.3自动指针1地址高字节寄存器AUTOPTRH1

14.1.4自动指针1地址低字节寄存器AUTOPTRL1

14.1.5自动指针2地址高字节寄存器AUTOPTRH2

14.1.6自动指针2地址低字节寄存器AUTOPTRL2

14.1.7端口PC读/写寄存器IOC

14.1.8中断请求INT2清除寄存器INT2CLR

14.1.9中断请求INT4清除寄存器INT4CLR

14.1.10端点状态标志寄存器EP2468STAT

14.1.11数据传输状态标志寄存器EP24FIFOFLGS

14.1.12数据传输状态标志寄存器EP68FIFOFLGS

14.1.13自动指针设置寄存器AUTOPTRSETUP

14.1.14端口PD读/写寄存器IOD

14.1.15端口PE读/写寄存器IOE

14.1.16端口使能寄存器OEA~OEE

14.1.17端点0和1的状态寄存器EP01STAT

14.1.18触发GPIF寄存器GPIFTRIG

14.1.19GPIF数据寄存器GPIFSGLDATH

14.1.20GPIF数据寄存器GPIFSGLDATLX

14.1.21GPIF数据寄存器GPIFSGLDATLNOX

14.2GPIF波形描述寄存器

14.3通用配置寄存器

14.3.1CPU控制和状态寄存器

14.3.2接口配置

14.3.3SlaveFIFO引脚配置

14.3.4FIFO复位

14.3.5断点

14.3.6串行时钟

14.3.7SlaveFIFO接口引脚的极性

14.3.8芯片版本ID

14.3.9芯片版本控制

14.3.10GPIF保持时间

14.4端点配置寄存器

14.4.1端点1IN和端点1OUT配置

14.4.2端点2、4、6、8配置

14.4.3端点2、4、6、8的SlaveFIFO配置

14.4.4端点2、4、6、8的AUTOIN包长度

14.4.5端点的ISOIN包

14.4.6IN数据包强制结束

14.4.7OUT数据包强制结束

14.5中断寄存器

14.5.1端点SlaveFIFO中断

14.5.2BulkIn中断

14.5.3端点握手中断

14.5.4USB中断

14.5.5端点中断

14.5.6GPIF中断

14.5.7USB错误中断

14.5.8USB错误计数限制

14.5.9清除错误计数

14.5.10INT2自动向量

14.5.11INT4自动向量

14.5.12INT2和INT

在线预览

USB是目前最为流行的一种计算机总线接口技术,其全称为Universal Serial Bus(通用串行总线)。USB接口使得计算机和外部设备的连接十分方便,并且具有很高的传输速度。目前,USB接口的设备越来越多,比如,鼠标、键盘、移动硬盘、打印机等。在实际设计工作中,也越来越多地采用USB技术,比如自动化控制、高速数据采集等。目前USB接口已经开始大规模代替其他老式接口。因此,掌握USB接口的设计是非常必要的。

本书详细介绍了新型USB总线接口的协议、工作原理,以及驱动程序设计。另外,本书中还以大量篇幅详细地介绍了在各种应用场合下USB的设计实例。这样使读者可以掌握USB接口的设计原理。

[本书的特点]

本书采用多款USB接口芯片进行设计,避免了芯片选型上的单一。读者可以从中掌握多个USB芯片的设计开发方式,从而可以灵活适应各种设计要求。

本书内容及知识体系

本书以实用性、系统性和完整性为重点,详细介绍了USB接口设计的方方面面,并且给出了很多实用的USB设计实例。本书分3篇,共23章。

及时篇USB总线基础篇(第1~7章),共包括7章,涵盖了USB总线开发等的基础知识,是USB接口开发的基础。

第二篇USB程序开发篇(第8~15章),共8章,从驱动程序和上位机程序两个方面介绍了USB程序的开发。

第三篇USB开发实例篇(第16~23章),共8章,通过多个具有代表性的实例阐述了USB接口的开发流程,包括完整的电路原理图和程序设计。 ……

网友评论(不代表本站观点)

来自无昵称**的评论:

写的很不错,推荐大家买一本

2015-01-07 10:00:07
来自无昵称**的评论:

不多说,好东西

2015-01-25 13:35:49
来自无昵称**的评论:

一般

2015-03-12 10:03:22
来自无昵称**的评论:

粗略翻一下,感觉不错。

2015-06-03 21:46:36
来自无昵称**的评论:

不错 送货挺快的 是很需要的书籍。

2015-06-24 10:29:10
来自szlili**的评论:

很好

2015-08-30 19:11:56
来自无昵称**的评论:

太学院了,我渣,无动力接受

2015-09-11 13:52:48
来自无昵称**的评论:

东西很好,物流方面也不粗暴,这次的东西很好没有任何损坏。唯一遗憾的就是想再买的时候居然涨价了,虽然涨的不明显,不过东西真的不错。很满意

2015-11-18 16:48:50
来自丁丁院**的评论:

对于开发usb很有帮助

2015-11-25 14:37:13
来自无昵称**的评论:

书不错

2015-12-27 12:25:57
来自无昵称**的评论:

赞爆!

2016-04-11 14:26:21
来自无昵称**的评论:

2016-04-22 15:55:38
来自财***(**的评论:

此书的内容全是抄来的,从网上东拼西凑来的,没有一点实用的参考价值。写的都是些概念东西,复制USB协议中的大部分内容。总之,你买来一个厚实实的一本书却如一样,我看过很后悔,早就被丢墙角了。看过和没看一样,还是不能应用。内容虽多,全是概要,从不讲如何在实例中应用。建议不要买。

2017-04-10 10:58:37
来自cnbear**的评论:

大概翻了下,感觉还可以,剩下的就是慢慢消化了

2014-12-10 08:35:10
来自莫问奴**的评论:

刚到的书有8页也是空白页,估计是盗版的,后面换货了,客服换货很快

2016-04-29 13:20:01
登录后即可发表评论

免责声明

更多相关图书
在线咨询