书籍详情

USB接口技术

USB接口技术

作者:李肇庆,廖峰,刘建存编著

出版社:国防工业出版社

出版时间:2004-06-01

ISBN:9787118034523

定价:¥35.00

购买这本书可以去
内容简介
  本书对USB接口技术相关的基础知识以及开发应用等方面的内容进行了系统的介绍,其中包括USB的发展史,USB基本原理和USB固件设计原理以及部分USB硬件开发实例。全书内容共分为24章和1个附录。本书以USB2.为标准介绍了USB的基础知识和USB接口通信技术的相关技术内容,详细介绍了与USB集线器配置有关的理论技术,而且对USB设备配置进行了讲解。本书以CypressUSB微控制器为平台详细讲解了USB设备的开发、程序的仿真、调试与刻录。书中列举了几个USB应用实例,读者将通过实践这些例子更好地掌握USB接口技术。通过掌握本书内容,读者不仅将对USB不再陌生,而且将对USB接口技术拥有全面的了解和一定的开发应用能力。本书适合于程序员、硬件设计者、系统测试维修人员、实验人员、在校师生阅读,也是广大电子工程技术人员和计算机爱好者值得一看的专业技术资料。在各种计算机外围接口不断推陈出新的今天,USB接口已经渐渐成为个人计算机(PersonalComputer)上最重要的接口之一.USB是英文UniversalSerialBus的缩写,中文含义是"通用串行总线".它是一种应用在PC领域的新型接口技术.早在1995年,就已经有PC带有USB接口了,但由于缺乏软件及硬件设备的支持,这些PC机的USB接口都闲置未用.1998年后,随着微软在W’mdows98中内置了对USB接口的支持模块,加上USB设备的日渐增多,USB接口才逐步走进了实用阶段.目前,随着大量支持USB的PC的普及和应用,USB已经成为一个标准接口,最新推出的PC几乎1%支持USB技术.另外,USB接口设备的应用也在以惊人的速度发展.USB已经在PC的多种外设上得到应用,例如:扫描仪.数码相机.数码摄像机.音频系统.显示器.输入设备等,所以对于广大的工程设计人员而言,USB是设计外设接口时必不可少的总线.正是基于上述现状,才有了本书的问世.读者将通过阅读本书了解和掌握USB技术.USB技术是在最近1年才真正发展完善的.1994年,Intel.Compaq.Digital.IBM.Microsoft.NEC.NorthernTelecom等7家世界著名的计算机和通信公司成立了USB论坛,花了近两年的时间形成了统一的意见,于1995年11月正式制定了USB.9规范,1997年开始有真正符合USB技术标准的外设出现.USBl.1是目前推出的在支持USB的计算机与外设上普遍采用的标准.1999年初在Intel的开发者论坛大会上,与会者介绍了USB2.规范,该规范的支持者除了原有的Compaq.Intel.Microsoft和NEC4个成员外,还有惠普.朗讯和飞利浦3个新成员.USB2.向下兼容USB1.1,数据的传输率将达到12Mb/s~24Mb/s,还支持宽带宽数字摄像设备及下一代扫描仪.打印机及存储设备.本书对USB接口技术的产生.发展及其原理做出了详尽的讲解.由于USB接口技术涉及的技术层面甚广,对于一般的工程师和学生来说学习起来不太容易.本书的编写力图将USBI/O接口技术变得易学易用.本书从USB的基本知识.USB的解决方案.USB的配置.USB的设备类.USB的软件与硬件设计等几个方面进行了详细的介绍,另外在本书的后面章节还给出了USB的几个应用实例以及设计范例,并且包含了仿真器的使用与操作方法,便于读者用实际例子快速而深入地学习和进入USB设计领域,同时本书的最后还提供了USB的参考资料,介绍了USB的规范与工具软件.USB芯片相关厂商的网址等资料,便于读者参考.希望此书的出版对电子技术领域的工程师和技术人员科研水平的提高有所帮助.由于作者水平有限,加之时间仓促,书中难免存在错误和不足,敬请广大读者予以批评指正.编者24.6
作者简介
暂缺《USB接口技术》作者简介
目录
第1章  USB简介
 1. 1  问题的产生
 1. 2  问题的解决
 1. 3  USB的发展
 1. 3. 1  USB规范的版本
 1. 3. 2  USB2. 0
 1. 3. 3  IEEE-1394
 1. 4  USB的优点
 1. 4. 1  容易使用
 1. 4. 2  传输速度快
 1. 4. 3  低价位
 1. 4. 4  低能耗
 1. 4. 5  稳定性
 1. 4. 6  操作系统的支持
 1. 4. 7  外围设备的支持
 1. 4. 8  有弹性
 1. 5  USB的缺点
 1. 6  与其他接口的比较
 1. 7  USB对PC的软硬件要求
 1. 7. 1  主机控制器
 1. 7. 2  操作系统
 1. 7. 3  组件
 1. 7. 4  信道
 1. 7. 5  连接端口
 1. 8  主机的功能
 1. 9  外围设备的功能
 1. 10  传输速度
 1. 11  开发的流程
 1. 11. 1  所需组件
 1. 11. 2  开发工具
 第2章  USB传输
 2. 1  传输的基础
 2. 1. 1  配置
 2. 1. 2  应用程序
 2. 1. 3  数据的管理
 2. 1. 4  总线速度
 2. 2  传输的要件
 2. 2. 1  设备的端点
 2. 2. 2  管道
 2. 2. 3  传输类型
 2. 2. 4  消息管道与流管道
 2. 2. 5  传输的初始化
 2. 3  事务
 2. 3. 1  事务相让
 2. 3. 2  信息包的串行化
 2. 3. 3  时间的限制
 2. 3. 4  分割事务
 2. 4  联络信号
 2. 4. 1  ACK
 2. 4. 2  NAK
 2. 4. 3  STALL
 2. 4. 4  NYET
 2. 4. 5  ERR
 2. 4. 6  没有响应
 2. 4. 7  控制传输的状态
 2. 5  错误的检验
 2. 5. 1  错误校验位
 2. 5. 2  数据交替位
 2. 6  控制传输
 2. 6. 1  结构
 2. 6. 2  信息包大小
 2. 6. 3  传输速度
 2. 6. 4  检测错误
 2. 7  批量传输
 2. 7. 1  结构
 2. 7. 2  信息包大小
 2. 7. 3  传输速度
 2. 7. 4  检测错误
 2. 8  中断传输
 2. 8. 1  结构
 2. 8. 2  信息包大小
 2. 8. 3  传输速度
 2. 8. 4  检验错误
 2. 9  实时传输
 2. 9. 1  结构
 2. 9. 2  信息包大小
 2. 9. 3  传输速度
 2. 10  传输的关键
 2. 10. 1  总线的带宽
 2. 10. 2  设备的能力
 2. 10. 3  主机软件的能力
 2. 10. 4  Windows的延迟
 第3章  USB事务处理
 3. 1  概述
 3. 2  信息包
 3. 2. 1  同步序列
 3. 2. 2  信息包的标识符
 3. 2. 3  信息包的特定信息
 3. 2. 4  循环冗余校验(CRC)
 3. 2. 5  信息包的结束(EOP)
 3. 3  令牌包
 3. 3. 1  SOF包
 3. 3. 2  IN包
 3. 3. 3  OUT包
 3. 3. 4  SETUP包
 3. 3. 5  数据包
 3. 3. 6  握手包
 3. 3. 7  前导包
 3. 4  事务处理
 3. 4. 1  IN事务处理
 3. 4. 2  OUT事务处理
 3. 4. 3  SETUP事务处理/控制传输
 第4章  控制传输
 4. 1  设置阶段
 4. 1. 1  令牌信息包
 4. 1. 2  数据信息包
 4. 1. 3  联络信息包
 4. 2  数据阶段
 4. 2. 1  令牌信息包
 4. 2. 2  数据信息包
 4. 2. 3  联络信息包
 4. 3  状态阶段
 4. 3. 1  令牌信息包
 4. 3. 2  数据信息包
 4. 3. 3  联络信息包
 4. 4  检测错误
 4. 5  要求
 4. 5. 1  Clear_Feature
 4. 5. 2  Get_Configuration
 4. 5. 3  Get_Descriptor
 4. 5. 4  Get_Interface
 4. 5. 5  Get_Status
 4. 5. 6  Set_Address
 4. 5. 7  Set_Configuration
 4. 5. 8  Set-Descriptor
 4. 5. 9  Set-Feature
 4. 5. 10  Set-Interface
 4. 5. 11  Synch_Frame
 4. 5. 12  类别特定的要求与厂商的要求
 第5章  错误恢复
 5. 1  概述
 5. 2  信息包错误
 5. 2. 1  PID检查
 5. 2. 2  CRC错误
 5. 2. 3  位填充错误
 5. 2. 4  信息包相关错误处理
 5. 3  总线超时
 5. 4  错误的EOP
 5. 5  数据触发出错
 5. 6  特殊情况
 5. 7  串扰/LOA检测和恢复
 5. 7. 1  时间片计时器
 5. 7. 2  主机到集线器的时滞
 5. 7. 3  集线器中继器状态机制
 第6章  检测设备
 6. 1  检测设备的过程
 6. 1. 1  检测的步骤
 6. 1. 2  检测集线器
 6. 1. 3  移除设备
 6. 2  描述符
 6. 2. 1  类型
 6. 2. 2  设备描述符
 6. 2. 3  Device_Qualifier描述符
 6. 2. 4  配置描述符
 6. 2. 5  Other_Speed_Configuration描述符
 6. 2. 6  接口描述符
 6. 2. 7  端点描述符
 6. 2. 8  字符串描述符
 6. 3  USB2. 0兼容设备的描述符
 第7章  USB供电分配
 7. 1  USB的供电
 7. 2  集线器
 7. 2. 1  电流预算
 7. 2. 2  过流保护
 7. 2. 3  压降预算
 7. 2. 4  电源开关
 7. 3  总线供电的集线器
 7. 3. 1  在集线器配置过程中的电源
 7. 3. 2  连接到500mA端口的总线供电的集线器
 7. 3. 3  与100mA端口相连的总线供电的集线器
 7. 3. 4  与大于100mA而小于500mA端口相连的总线供电的集线器
 7. 3. 5  外电流限制
 7. 4  总线供电的集线器设备
 7. 4. 1  低功率设备
 7. 4. 2  高功率设备
 7. 5  自供电的集线器
 7. 5. 1  在配置过程中的供电
 7. 5. 2  电流限制
 7. 6  自供电设备
 第8章  USB电源管理
 8. 1  供电保持
 8. 1. 1  设备对挂起的响应
 8. 1. 2  集线器对挂起的响应
 8. 2  全局挂起
 8. 2. 1  启动全局挂起
 8. 2. 1  从全局挂起状态恢复
 8. 3  选择性挂起
 8. 3. 1  启动选择挂起
 8. 3. 2  从选择性挂起状态恢复
 8. 3. 3  当集线器被连接时的选择睦挂起
 8. 4  在全局挂起之后的选择性挂起
 8. 5  通过复位恢复
 第9章  USB配置处理
 9. 1  概述
 9. 2  配置模型
 9. 3  根集线器的配置
 9. 3. 1  设备为了配置而隔离
 9. 3. 2  复位操作强迫没备被分配为默认的地址
 9. 3. 3  主机分配惟一的设备地址
 第10章  集线器配置
 10. 1  集线器的配置
 10. 1. 1  默认管道
 10. 1. 2  状态变化管道
 10. 2  读取集线器的端点描述符
 10. 2. 1  集线器设备描述符
 10. 2. 2  集线器配置描述符
 10. 2. 3  集线器接口描述符
 10. 2. 4  状态端点描述符
 10. 2. 5  集线器类的描述符
 10. 3  给集线器供电
 10. 4  检查集线器的状态
 10. 5  集线器端口状态概述
 第11章  集线器请求
 11. 1  概述
 11. 2  集线器请求类型
 11. 3  集线器类的请求
 11. 4  获得/设置位描述符
 11. 5  获取集线器状态的请求
 11. 5. 1  集线器的状态字段
 11. 5. 2  集线器状态变化字段
 11. 6  设置腈除集线器的特征请求
 11. 7  获取端口状态请求
 11. 7. 1  端口状态字段
 11. 7. 2  端口变化字段
 11. 8  设置/清除端口特征
 11. 9  获取总线状态
 第12章  USB设备配置
 12. 1  概述
 12. 2  USB的描述符
 12. 3  设备类
 12. 4  设备描述符
 12. 5  配置描述符
 12. 6  接口描述符
 12. 7  端点描述符
 12. 8  设备状态
 第13章  USB微控制器
 13. 1  主要特性与功能
 13. 2  CY7C63411/12/13与CY7C63511/12/13
 13. 3  CY7C63612与CY7C63613
 13. 4  CY7C64011/12/13~CY7C64111/12/13
 13. 5  CY7C64213与CY7C64313
 13. 6  CY7C65013与CY7C65113
 13. 7  CY7C660XX~CY7C661XX
 第14章  USB微控制器的硬件与结构
 14. 1  I/O端口
 14. 1. 1  一般目的(GPIO)I/O端口
 14. 1. 2  输入
 14. 1. 3  输出
 14. 1. 4  XTALIN/XTALOUT
 14. 2  内存的规划
 14. 3  重置
 14. 3. 1  打开电源重置
 14. 3. 2  重置
 14. 3. 3  USB总线重置
 14. 4  内建的定时器
 14. 5  立即唤醒的功能
 14. 6  中断
 14. 6. 1  中断的迟滞时间
 14. 6. 2  GPIO中断
 14. 6. 3  USB中断
 14. 6. 4  定时器中断
 14. 6. 5  唤醒中断
 14. 7  USB引擎
 14. 7. 1  USB设备列举的过程
 14. 7. 2  端点0
 14. 7. 3  端点1
 14. 7. 4  USB状态与控制
 第15章  CYASM汇编语言
 15. 1  如何执行CYASM
 15. 2  USB微处理器
 15. 3  地址的空间规划
 15. 3. 1  指令的格式
 15. 3. 2  寻址的模式
 15. 3. 3  指令执行后的目的地
 15. 4  汇编语言的语法
 15. 5  列表文件的格式
 15. 6  组译器指令
 15. 7  指令集
 第16章  以固件实现USB接口通信
 16. 1  固件技术
 16. 1. 1  CPU版本的差异
 16. 1. 2  程序内存结构
 16. 2  USB通信
 16. 3  如何使用CY7C630/1/2XX执行端点的通信工作
 16. 3. 1  端点0
 16. 3. 2  端点1
 16. 4  USB通信程序
 第17章  CypressUSB微控制器的开发系统
 17. 1  如何运用CypressUSBMCU工具进行设计
 17. 1. 1  概要设计
 17. 1. 2  以Simulator/Emulator来实现
 17. 1. 3  用ICE来调试
 17. 1. 4  验证
 17. 2  CY3640
 17. 2. 1  功能与特性
 17. 3  低速的CY3650
 17. 3. 1  USB的开发环境
 17. 3. 2  安装硬件
 17. 3. 3  调试/监控软件
 17. 3. 4  操作方法
 17. 3. 5  扩充接脚的描述
 17. 3. 6  测试
 17. 4  低速CY3651
 第18章  程序的仿真. 调试与刻录
 18. 1  系统需要与安装
 18. 2  USB开发系统软件
 18. 2. 1  操作软件的结构
 18. 2. 2  内部程序内存
 18. 2. 3  内部主菜单栏
 18. 3  CypressUSBMCU的刻录
 第19章  USB微控制器的实践入门
 19. 1  读取按钮的输入值
 19. 2  键盘扫描
 19. 3  调整LED亮度与光敏晶体管感度
 19. 4  读取电位计的电阻值
 19. 5  实现RS-232串行通信的接口
 19. 5. 1  异步通信所传送数据的结构
 19. 5. 2  执行RS-232的通信协议
 第20章  USB应用实例(一)
 20. 1  鼠标的基本结构
 20. 2  硬件设计
 20. 3  固件设计
 20. 3. 1  USB的接口
 20. 3. 2  USB鼠标描述符
 20. 3. 3  电源管理
 20. 3. 4  位移的计算
 第21章  USB应用实例(二)
 21. 1  模拟摇杆的基本结构
 21. 2  硬件的设计
 21. 3  固件的设计
 21. 3. 1 USB摇杆描述符
 21. 3. 2  校准
 21. 3. 3  位移偏移量的计算
 第22章  USB应用实例(三)
 22. 1  PS/2键盘的基本结构
 22. 2  硬件的设计
 22. 3  固件设计
 22. 4  功能与特性
 22. 4. 1  主循环
 22. 4. 2  扫描的工作
 22. 4. 3  弹跳
 22. 4. 4  按键码的表格
 第23章  HID设备
 23. 1  HID简介
 23. 1. 1  硬件要求
 23. 1. 2  固件要求
 23. 2  HID的描述符
 23. 3  HID特定要求
 23. 4  传输数据
 23. 4. 1  传送数据给主机
 23. 4. 2  从主机接收数据
 23. 5  报表的结构
 23. 5. 1  短项目
 23. 5. 2  长项目
 23. 6  Main项目类型
 23. 7  Global项目类型
 23. 8  Local项目类型
 23. 9  填充
 23. 10  实体描述符
 第24章  HID程序设计
 24. 1  主机的通信
 24. 2  调用API函数
 24. 2. 1  使用VisualC++
 24. 2. 2  使用VisualBasic
 24. 3  取得HID类别的GUID
 24. 3. 1  使用VisualC++
 24. 3. 2  使用VisualBasic
 24. 4  取得HID信息的结构数组
 24. 4. 1  使用VisualC++
 24. 4. 2  使用VisualBasic
 24. 4. 3  详解
 24. 5  识别HID接口
 24. 5. 1  使用VisualC++
 24. 5. 2  使用VisualBasic
 24. 5. 3  详解
 24. 6  取得设备的路径
 24. 6. 1  使用VisualC++
 24. 6. 2  使用VisualBasic
 24. 7  取得设备的代号
 24. 7. 1  使用VisualC++
 24. 7. 2  使用VisualBasic
 24. 8  取得厂商与产品D
 24. 8. 1  使用VisualC++
 24. 8. 2  使用VisualBasic
 24. 8. 3  详解
 24. 9  取得包含设备能力的缓冲区指针
 24. 9. 1  使用VisualC++
 24. 9. 2  使用VisualBasic
 24. 9. 3  详解
 24. 10  取得设备的能力
 24. 10. 1  使用VisualC++
 24. 10. 2  使用VisualBasic
 24. 10. 3  详解
 24. 11  取得数值的能力
 24. 12  传送输出报表给设备
 24. 12. 1  使用VisualC++
 24. 12. 2  使用VisualBasic
 24. 12. 3  详解
 24. 13  从设备该项输入报表
 24. 13. 1  使用VisualC++
 24. 13. 2  使用VisualBasic
 24. 13. 3  详解
 24. 14  使用重叠ReadFile读取报表
 24. 14. 1  使用VisualC++
 24. 14. 2  使用VisualBasic
 24. 15  使用多线程的ReadFile读取报表
 24. 15. 1  使用VisualC++
 24. 15. 2  使用VisualBasic
 24. 16  传递特征报表给设备
 24. 16. 1  使用VisualC++
 24. 16. 2  使用VisualBasic
 24. 17  从设备读取特征报表
 24. 17. 1  使用VisualC++
 24. 17. 2  使用VisualBasic
 24. 18  关闭通信
 24. 18. 1  使用VisualC++
 24. 18. 2  使用VisualBasic
 附录  USB参考资料
 参考文献
猜您喜欢

读书导航