USB开发手册

USB开发手册

傅志辉, 编著

出版社:中国铁道出版社

年代:2014

定价:79.0

书籍简介:

本书系统地介绍了当前最流行的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同步字段:SYNC2.2.2包标识字段:PID2.2.3地址字段:ADDR2.2.4端点字段:ENDP2.2.5帧号字段:NUM2.2.6数据字段:DATA2.2.7校验字段:CRC2.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控制数据流传输:Control4.2.1控制传输数据包4.2.2控制数据流管理4.3USB中断数据流传输:Interrupt4.3.1中断传输的数据包4.3.2中断数据流管理4.4USB块数据流传输:Bulk4.4.1块传输的数据包4.4.2块数据流管理4.5USB同步数据流传输:Isochronous4.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读取状态请求GetStatus5.2.2清除特性请求ClearFeature5.2.3设置特性请求SetFeature5.2.4设置地址请求SetAddress5.2.5读取描述符请求GetDescription5.2.6设置描述符请求SetDescriptor5.2.7读取配置请求GetConfiguration5.2.8设置配置请求SetConfiguration5.2.9读取接口请求GetInterface5.2.10设置接口请求SetInterface5.2.11同步帧请求SynchFrame5.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读取集线器状态请求GetHubStatus7.3.2读取下行端口状态请求GetPortStatus7.3.3禁止集线器的特性请求ClearHubFeature7.3.4禁止下行端口特性请求ClearPortFeature7.3.5使能集线器特性请求SetHubFeature7.3.6使能下行端口特性请求SetPortFeature7.3.7读取描述符请求GetHubDescriptor7.3.8设置描述符请求SetHubDescriptor7.3.9清除TT块请求ClearTTBuffer7.3.10复位TT块请求ResetTT7.3.11读取TT内部状态请求GetTTState7.3.12停止TT正常工作请求StopTT第二篇USB程序开发第8章Windows驱动程序管理8.1Windows驱动管理模型:WDM8.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基类KDriver9.2.2即插即用类KPnPDevice9.2.3物理对象类KPnpLowerDevice9.3DriverStudio环境下WDM驱动程序实例9.3.1简单的驱动程序的建立9.3.2驱动程序设计9.3.3驱动的安装9.3.4驱动程序测试第10章基于DriverStudio的USB接口编程类10.1USB编程类函数概述10.2USB设备编程类KUsbLowerDevice10.2.1激活USB设备配置函数ActivateConfiguration10.2.2终止USB设备配置函数DeActivateConfiguration10.2.3初始化厂商请求函数BuildVendorRequest10.2.4分配类请求函数BuildClassRequest10.2.5清除特征标志函数ClearFeature10.2.6设置特征标志函数SetFeature10.2.7获取状态函数GetStatus10.2.8获取USB帧号函数GetCurrentFrameNumber10.2.9未配置状态函数Unconfigure10.2.10配置状态函数Configure10.2.11配置接口函数PreconfigureInterface10.2.12接口描述符函数LocateInterface10.2.13配置描述符函数Preconfigure10.2.14删除USB资源函数ReleaseResources10.2.15字符串描述符函数GetStringDescriptor10.2.16设备描述符函数GetDeviceDescriptor10.2.17初始化函数Initialize10.2.18发送URB函数SubmitUrb10.3USB接口编程类KUsbInterface10.3.1使能接口函数SelectAlternate10.3.2清除特征标志函数ClearFeature10.3.3设置特征标志函数SetFeature10.3.4获取状态函数GetStatus10.3.5初始化厂商请求函数BuildVendorRequest10.3.6分配类请求函数BuildClassRequest10.3.7管道函数Pipes10.3.8管道数量函数NumberOfPipes10.3.9接口协议函数Protocol10.3.10接口子类函数Subclass10.3.11接口类函数Class10.3.12使能接口号函数AlternateSetting10.3.13接口数量函数InterfaceNumber10.3.14初始化函数Initialize10.3.15关闭接口函数Close10.3.16是否打开函数IsOpen10.3.17打开实例函数Open10.3.18发送URB函数SubmitUrb10.3.19是否可用函数IsValid10.4USB管道编程类KUsbPipe10.4.1初始化函数Initialize10.4.2打开接口函数Open10.4.3是否打开函数IsOpen10.4.4关闭管道函数Close10.4.5中断传输函数BuildInterruptTransfer10.4.6控制传输函数BuildControlTransfer10.4.7块传输函数BuildBulkTransfer10.4.8同步传输函数BuildIsochronousTransfer10.4.9清除特征标志函数ClearFeature10.4.10设置特征标志函数SetFeature10.4.11获取状态函数GetStatus10.4.12复位管道函数Reset10.4.13丢弃函数Abort10.4.14初始化厂商请求函数BuildVendorRequest10.4.15初始化类请求函数BuildClassRequest10.4.16最大帧字节数函数MaximumPacketSize10.4.17最大传输字节数函数MaximumTransferSize10.4.18管道句柄函数Handle10.4.19中断检查间隔函数PollInterval10.4.20管道端点地址函数EndpointAddress10.4.21设置最大传输字节数函数SetMaximumTransferSize10.4.22发送URB函数SubmitUrb10.4.23传输类型函数Type10.5USB驱动创建实例10.5.1USB驱动程序建立10.5.2USB驱动程序设计第11章Cypress通用USB驱动程序11.1驱动程序INF文件简介11.2驱动程序INF文件处理过程11.3驱动程序INF文件的结构11.3.1版本节111.3.2源文件盘符节[SourceDisksNames]11.3.3源文件节[SourceDisksFiles]11.3.4目标磁盘节11.3.5供应商节11.3.6默认安装节11.3.7字符串节11.4Cypress的通用USB驱动程序概述11.5CyLoad.inf文件解析11.5.1CyLoad.inf文件11.5.2修改设备的VID/PID11.5.3修改字符串11.5.4修改GUID11.5.5修改驱动名称11.6CyUSB.inf文件解析11.6.1CyUSB.inf文件11.6.2修改设备的VID/PID11.6.3修改字符串11.6.4修改驱动名称11.7EZ-USB驱动程序的安装第12章Cypress的USB接口控制函数12.1cyioctl控制函数类12.1.1头文件cyioctl.h12.1.2获取设备句柄12.1.3中止I/O端点的请求接口IOCTL_ADAPT_ABORT_PIPE12.1.4断开USB设备接口IOCTL_ADAPT_CYCLE_PORT12.1.5获得设备地址接口IOCTL_ADAPT_GET_ADDRESS12.1.6获取替换接口IOCTL_ADAPT_GET_ALT_INTERFACE_SETTING12.1.7获取字符串接口IOCTL_ADAPT_GET_DEVICE_NAME12.1.8获取电源接口IOCTL_ADAPT_GET_DEVICE_POWER_STATE12.1.9获取版本接口IOCTL_ADAPT_GET_DRIVER_VERSION12.1.10获取替换名称接口IOCTL_ADAPT_GET_FRIENDLY_NAME12.1.11获取端点数接口IOCTL_ADAPT_GET_NUMBER_ENDPOINTS12.1.12获取传输大小接口IOCTL_ADAPT_GET_TRANSFER_SIZE12.1.13获取USBDI接口IOCTL_ADAPT_GET_USBDI_VERSION12.1.14复位设备接口IOCTL_ADAPT_RESET_PARENT_PORT12.1.15复位端点接口IOCTL_ADAPT_RESET_PIPE12.1.16设置替换接口IOCTL_ADAPT_SELECT_INTERFACE12.1.17发送控制请求接口IOCTL_ADAPT_SEND_EP0_CONTROL_TRANSFER12.1.18数据传输接口IOCTL_ADAPT_SEND_NON_EP0_TRANSFER12.1.19设置电源接口IOCTL_ADAPT_SET_DEVICE_POWER_STATE12.1.20设置传输字节接口IOCTL_ADAPT_SET_TRANSFER_SIZE12.2CyAPI控制函数类12.2.1头文件CyAPI.h12.2.2块传输端点控制类CCyBulkEndPoint12.2.3控制传输端点类CCyControlEndPoint12.2.4中断传输端点控制类CCyInterruptEndPoint12.2.5同步传输端点控制类CCyIsocEndPoint12.2.6设备控制类CCyUSBDevice12.2.7配置信息类CCyUSBConfig12.2.8端点控制类CCyUSBEndPoint12.2.9接口控制类CCyUSBInterface12.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读/写寄存器IOA14.1.2端口PB读/写寄存器IOB14.1.3自动指针1地址高字节寄存器AUTOPTRH114.1.4自动指针1地址低字节寄存器AUTOPTRL114.1.5自动指针2地址高字节寄存器AUTOPTRH214.1.6自动指针2地址低字节寄存器AUTOPTRL214.1.7端口PC读/写寄存器IOC14.1.8中断请求INT2清除寄存器INT2CLR14.1.9中断请求INT4清除寄存器INT4CLR14.1.10端点状态标志寄存器EP2468STAT14.1.11数据传输状态标志寄存器EP24FIFOFLGS14.1.12数据传输状态标志寄存器EP68FIFOFLGS14.1.13自动指针设置寄存器AUTOPTRSETUP14.1.14端口PD读/写寄存器IOD14.1.15端口PE读/写寄存器IOE14.1.16端口使能寄存器OEA~OEE14.1.17端点0和1的状态寄存器EP01STAT14.1.18触发GPIF寄存器GPIFTRIG14.1.19GPIF数据寄存器GPIFSGLDATH14.1.20GPIF数据寄存器GPIFSGLDATLX14.1.21GPIF数据寄存器GPIFSGLDATLNOX14.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芯片版本ID14.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和INT4的SETUP14.6输入/输出寄存器14.6.1端口A的替换配置14.6.2端口C的替换配置14.6.3端口E的替换配置14.6.4XTALIN时钟源14.6.5I2C总线控制和状态14.6.6I2C总线数据14.6.7I2C总线控制14.6.8自动指针的MOVX操作14.7USB控制寄存器14.7.1USB控制和状态14.7.2进入挂起状态14.7.3唤醒控制及状态14.7.4数据触发控制14.7.5USB帧计数14.7.6USB微帧计数14.7.7USB功能地址14.8端点操作寄存器14.8.1端点0计数14.8.2端点1计数14.8.3端点2和端点6的Byte计数高位14.8.4端点4和端点8的Byte计数高位14.8.5端点2、4、6、8计数的低位14.8.6端点0控制和状态14.8.7端点1控制和状态14.8.8端点2控制和状态14.8.9端点4控制和状态14.8.10端点6控制和状态14.8.11端点8控制和状态14.8.12端点2和端点4的FIFO标志14.8.13端点6和端点8的FIFO标志14.8.14端点2的SlaveFIFO字节计数高位14.8.15端点6的SlaveFIFO字节计数高位14.8.16端点4和端点8的SlaveFIFO字节计数高位14.8.17端点2、4、6和端点8SlaveFIFO字节计数低位14.8.18Setup数据指针地址14.8.19Setup指针自动模式14.8.208字节Setup数据14.9GPIF/FIFOs寄存器14.9.1GPIF波形选择14.9.2GPIF完成和空闲14.9.3CTL的输出状态14.9.4GPIF地址14.9.5GPIF流动状态14.9.6GPIF处理字节计数14.9.7端点2、4、6和端点8的GPIF标志选择14.9.8端点2、4、6和端点8的GPIF停止事务14.9.9端点2、4、6和端点8的GPIF触发14.9.10GPIF数据14.9.11GPIFRDY引脚的配置14.9.12GPIFRDY引脚状态14.9.13终止GPIF循环14.1端点缓冲寄存器14.10.1端点014.10.2端点1IN14.10.3端点1OUT14.10.4端点214.10.5端点414.10.6端点614.10.7端点8第15章CypressEZ-USB固件设计15.1EZ-USB开发工具包15.1.1安装开发工具包15.1.2开发包工具简介15.2EZ-USB基本固件框架15.2.1基本固件框架的建立15.2.2基本电路图15.2.3固件设计和运行15.3EZ-USB固件程序设计15.3.1USB端口读/写的程序设计15.3.2USB端口读/写的固件仿真调试15.3.3USB端点的数据发送和采集15.3.4数据发送和采集仿真调试第三篇USB开发实例第16章USB接口LED数码管显示器实例16.1USB控制端点0请求16.1.1USB控制传输流程16.1.2USB设备请求及固件响应16.1.3自定义请求16.2LED数码管显示器16.2.1共阳极7段LED16.2.2共阴极7段LED16.3电路原理图16.3.1电源部分电路16.3.2USB部分电路16.4USB固件程序设计16.4.1主程序文件16.4.2功能实现代码16.4.3自定义请求的定义16.4.4USB描述符16.4.5固件程序安装及调试16.5USB主机程序设计16.5.1控制函数16.5.2建立项目16.5.3程序设计16.5.4编译程序并运行第17章USB自定义设备实例17.1EZ-USB的启动模式17.1.1EZ-USB的启动模式17.1.2默认USB设备状态17.2EZ-USB的EEPROM引导启动17.2.1没有EEPROM,或者EEPROM的首字节不合法17.2.2首字节为0xC0的EEPROM启动17.2.3首字节为0xC2的EEPROM启动17.2.4配置字节17.2.5设备请求控制位RENUM17.2.6固件下载和重列举17.3USB自定义设备实例17.3.1硬件选型的写入17.3.2EEPROM读/写电路设计17.4EEPROM读/写程序17.4.1宏定义17.4.2延时函数17.4.3基本操作函数17.4.4I2C读/写函数17.4.5主程序17.4.6编译工程17.5USB自定义设备电路设计17.6USB自定义设备固件程序设计17.6.1主程序文件17.6.2请求响应函数17.6.3初始化子程序17.6.4功能子程序17.6.5自定义请求的定义17.7USB描述符17.7.1设备描述符17.7.2高速配置描述符17.7.3全速配置描述符17.7.4字符串描述符17.8驱动程序设计17.8.1编辑PMDriverLoad.inf文件17.8.2编辑QKDPMDriver.inf文件17.9驱动程序的安装17.9.1安装驱动17.9.2测试设备17.1固件仿真调试17.11主机程序设计17.11.1建立工程17.11.2用户界面设计17.11.3程序代码设计17.11.4编译执行第18章USB的RAM读/写实例18.1EZ-USBFX2LP的存储器18.1.1内部数据RAM18.1.2外部程序和数据存储空间18.1.3EZ-USBFX2LP的内存映射18.1.4Von-Neumannizing片外程序和数据存储器18.1.50xE000~0xFFFF之间的片内数据存储器18.2USB的RAM读/写电路设计18.2.1电路原理图18.2.2USB接口说明18.2.3I2C总线接口芯片PCF857418.3建立USB固件程序项目18.4主程序文件18.4.1宏定义和函数变量声明18.4.2读/写RAM区域函数18.4.3错误码分析函数18.4.4字符串输出函数18.4.5主函数18.5头文件简介18.5.1常量定义18.5.2宏定义18.5.3数据类型18.5.4全局声明18.5.5函数声明第19章USB自动数据传输实例19.1SlaveFIFO模式简介19.1.1SlaveFIFO模式的引脚19.1.2典型的数据传输时序19.2SlaveFIFO模式的固件设计19.2.1SlaveFIFO固件基础19.2.2AUTOIN/AUTOOUT方式19.2.3CPU访问OUT数据包19.2.4CPU访问IN数据包19.2.5AUTOIN/AUTOOUT方式初始化19.3USB自动数据传输实例19.3.1电路设计19.3.2外部控制逻辑程序设计19.3.3USB固件程序设计19.3.4固件仿真调试19.3.5主机控制函数简介19.3.6上位机程序设计19.3.7程序运行第20章USB高速数据采集实例20.1EZ-USB的GPIF模式20.1.1GPIF模式简介20.1.2GPIF的硬件组成20.1.3GPIF硬件配置20.2GPIF波形图编辑20.2.1GPIF寄存器20.2.2可编程GPIF波形20.2.3波形图设计工具20.2.4波形图设计实例20.3GPIF固件编程20.3.1单字节读数据传输20.3.2单字节写数据传输20.3.3FIFO读数据传输20.3.4FIFO写数据传输20.4基于GPIF模式的高速数据采集电路20.4.1数据采集电路图20.4.2外部FIFO接口20.5数据采集波形图编辑20.5.1接口设计20.5.2数据读/写设计20.5.3波形描述符文件20.6固件程序设计20.6.1USB描述符20.6.2主程序20.6.3功能实现文件20.6.4初始化代码20.6.5数据传输函数20.6.6调度函数20.6.7自定义请求20.7USB主机程序设计20.7.1创建主机程序20.7.2界面设计20.7.3主机程序初始化20.7.4按钮功能实现20.7.5线程处理第21章USBHID设备设计实例21.1简易USBHID键盘原理图21.2USB固件程序开发21.2.1建立USB固件程序21.2.2键盘描述符21.2.3主程序文件21.2.4功能实现代码21.3设备测试第22章USB转串口实例22.1CH341芯片简介22.1.1CH341芯片的特点22.1.2异步串口方式22.1.3打印口22.1.4并口22.1.5同步串口22.1.6功能配置22.2USB转串口实例22.2.1电路图22.2.2硬件介绍22.2.3连接使用第23章控制USB接口打印机实例23.1CH375A接口芯片23.1.1CH375A概述23.1.2CH375A内部结构23.2CH375A基本指令23.2.1设置设备地址命令SET_USB_ADDR23.2.2设置端点接收器命令SET_ENDP623.2.3设置端点发送器命令SET_ENDP723.2.4设置重试次数命令SET_RETRY23.2.5事务执行命令ISSUE_TOKEN23.2.6清除端点错误命令CLR_STALL23.2.7设置地址命令SET_ADDRESS23.2.8获取描述符命令GET_DESCR23.2.9设置USB配置命令SET_CONFIG23.2.10读取数据块命令RD_USB_DATA023.2.11延时100?S命令DELAY_100US23.2.12查询连接状态命令TEST_CONNECT23.2.13同步令牌事务命令ISSUE_TKN_X23.2.14自动配置设备命令AUTO_SETUP23.3USB存储设备类指令23.3.1硬件复位命令RESET_ALL23.3.2测试工作状态命令CHECK_EXIST23.3.3设置工作模式命令SET_USB_MODE23.3.4获取中断状态命令GET_STATUS23.3.5设置串口波特率命令SET_BAUDRATE23.3.6读取数据块命令RD_USB_DATA23.3.7写入数据块命令WR_USB_DATA723.3.8终止命令ABORT_NAK23.3.9初始化存储设备命令DISK_INIT23.3.10获取物理容量命令DISK_SIZE23.3.11读取数据块命令DISK_READ23.3.12读操作命令DISK_RD_GO23.3.13写入数据块命令DISK_WRITE23.3.14写操作命令DISK_WR_GO23.3.15获取版本命令GET_IC_VER23.3.16低功耗状态命令ENTER_SLEEP23.3.17设置逻辑单元号命令SET_DISK_LUN23.3.18查询特性命令DISK_INQUIRY23.3.19检查存储设备是否就绪命令DISK_READY23.3.20检查错误命令DISK_R_SENSE23.3.21获取最大逻辑单元号命令DISK_MAX_LUN23.4接口方式23.4.1并行接口23.4.2串行接口23.5USB打印机控制实例23.5.1USB打印机控制方式23.5.2电路图23.5.3项目建立23.6头文件23.6.1指令声明23.6.2操作状态及中断状态23.6.3请求类型23.7程序设计23.7.1头文件23.7.2参数及结构定义23.7.3基本操作函数23.7.4数据同步及读/写23.7.5主机操作23.7.6主函数

内容摘要:

《USB开发手册》图书特点:  (1)内容详尽,覆盖USB协议、USB驱动程序设计以及USB接口设计实例。  (2)注重效率,书中每一章、每一小节的标题都以简洁的语言突出USB设计的要点。  (3)内容新颖,涵盖了最新的USB 3.0的相关技术内容。  (4)强调实用性,实例丰富,基本上涵盖了USB设计的方方面面。  (5)实例代码讲解全面丰富,每个实例都有完整的电路图、USB固件程序设计以及上位机程序设计。书中介绍的实例都可以实现,具有很高的实用价值。采用多款USB接口芯片进行设计,避免了芯片选型上的单一。读者可以从中掌握多个USB芯片的设计开发方式,从而可以灵活适应各种设计要求。★《USB开发手册》系统地介绍了当前最流行的USB总线接口的协议、工作原理,以及驱动程序设计。本书中还以大量篇幅,全面详细地介绍了在各种应用场合下USB接口的设计实例。本书言简意赅、通俗易懂、知识点介绍详细、实例丰富,使读者能够更快、更好地掌握USB接口的原理及设计方法。  ★《USB开发手册》分为三篇,共23章,全面详细地讲述了USB接口的原理及应用实例。第一篇介绍了USB总线开发基础,总线数据流的结构、管理、类型,以及设备管理;第二篇介绍了USB程序的开发,包括USB驱动程序开发和USB固件程序开发;第三篇通过8大实例,详细介绍了在不同的应用场合下USB接口设备的设计,包括完整的电路图和程序设计。  ★本书内容全面、结构紧凑、实例丰富。USB接口的初学者通过学习本书可以快速入门,此外本书对具有一定开发经验的设计人员也有很好的参考价值。  ★适合阅读本书的读者:USB接口的初学者、具有一定开发经验的USB设计人员、电子设计爱好者、电子工程师、系统开发人员、大学、大专等相关专业的学生及教师。【作者简介】傅志辉  副教授,高级架构师,移动电子商务专家库成员。从事企业信息化建设已有17年,具备丰富的移动软硬件开发实践经验,曾担任多个大型软件公司技术顾问,指导实施软硬件一体化产品开发。精通USB、PCI等总线协议开发,熟悉VSNET、PHP、JAVA等多种软件开发语言或平台,精通SQL、Oracle数据库软件,参与过多个大型数据中心的设计与调优。

编辑推荐:

《USB开发手册》图书特点:  (1)内容详尽,覆盖USB协议、USB驱动程序设计以及USB接口设计实例。  (2)注重效率,书中每一章、每一小节的标题都以简洁的语言突出USB设计的要点。  (3)内容新颖,涵盖了最新的USB 3.0的相关技术内容。  (4)强调实用性,实例丰富,基本上涵盖了USB设计的方方面面。  (5)实例代码讲解全面丰富,每个实例都有完整的电路图、USB固件程序设计以及上位机程序设计。书中介绍的实例都可以实现,具有很高的实用价值。采用多款USB接口芯片进行设计,避免了芯片选型上的单一。读者可以从中掌握多个USB芯片的设计开发方式,从而可以灵活适应各种设计要求。

书籍规格:

书籍详细信息
书名USB开发手册站内查询相似图书
9787113186746
如需购买下载《USB开发手册》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位中国铁道出版社
版次1版印次1
定价(元)79.0语种简体中文
尺寸26 × 19装帧平装
页数印数

书籍信息归属:

USB开发手册是中国铁道出版社于2014.10出版的中图分类号为 TP336-62 的主题关于 USB总线-手册 的书籍。