|
摘 要
通用串行总线USB是PC 体系中的一套全新的工业标准,它支持单个主机与多个外设同时进行数据交换.论文首先会介绍USB的体系结构和特点,包括总线特征,协议定义,传输方式和电源管理等等.这部分内容会使USB开发者和用户对USB有一个整体的认识.
接下来论文会讨论USB系统的一般开发方法和技术特点,分设备端硬
件,设备端软件和主机端软件三个部分.
然后论文会介绍几个USB项目的研发过程和技术细节,包括USB手写识别输入系统,USB 通用设备开发平台,USB安全钥和USB在线编程设备等等.论文会详细介绍USB设备的硬件和软件开发的技术细节,包括USB设备协议栈的编写方法,同时也会讨论在Windows 98下开发USB 内核驱动程序和用户应用程序的一般方法.
论文最后还会介绍Motorola 的一些相关开发技术主要是在线编程技术.
论文对广大的USB设备开发人员和技术人员具备较高的参考价值,可以帮助他们尽快掌握USB设备的特点,以及硬件电路设计和软件编程中的注意事项.
关键字: 通用串行总线 微控制器 协议栈 设备驱动程序 在线编程
目 录
中文摘要......................................................................................................1
ABSTRACT.................................................................................................2
第一章 引言...............................................................................................3
1.1 USB 技术.......................................................................................3
1.2 项目来源及概述.............................................................................3
第二章 USB 协议....................................................................................5
2.1 USB 技术背景................................................................................5
2.2 USB 总线优势................................................................................6
2.2.1 USB 的速度.................................................................................6
2.2.2 USB 的总线拓扑体系..................................................................7
2.2.3 USB 的即插即用.........................................................................9
2.2.4 USB 的低功耗........................................................................... 11
2.2.5 USB 的标准接口和外设............................................................ 12
2.2.6 结论....................................................................................... 14
2.3 USB 软件通讯协议...................................................................... 14
2.3.1 USB 数据流............................................................................... 14
2.3.2 USB 数据单元........................................................................... 16
2.3.2.1 域....................................................................................... 16
2.3.2.2 包....................................................................................... 17
2.3.3 USB 总线传输........................................................................... 19
2.3.3.1 控制传输(Control Transfer) ................................................ 20
2.3.3.2 同步传输(Isochronous Transfer) ......................................... 22
2.3.3.3 批传输(Bulk Transfer) ........................................................ 23
2.3.3.4 中断传输(Interrupt Transfer) .............................................. 24
2.3.3.5 结论................................................................................... 25
2.3.4 数据触发同步与重试............................................................ 26
2.3.5 低速操作............................................................................... 28
2.3.6 错误检验与恢复:................................................................... 29
2.4 结论............................................................................................. 30
第三章 USB 项目开发技术................................................................... 31
3.1 USB 设备端硬件开发................................................................... 31
3.2 USB 设备端软件开发................................................................... 32
3.2.1 USB 设备通用模块的软件开发................................................. 32
3.2.2 USB 设备协议模块的软件开发................................................. 33
3.2.3 设备的挂起与唤醒................................................................ 36
3.2.4 USB 设备端软件整体流程........................................................ 36
3.3 USB 主机端软件开发................................................................... 37
3.3.1 Windows 98 下的驱动程序结构................................................ 38
3.3.2 Windows 98 下的USB 设备驱动程序体系................................ 40
3.3.3 Windows 98 DDK 使用.............................................................. 42
3.3.3.1 Windows 98 DDK 系统需求............................................... 42
3.3.3.2 Windows 98 DDK 的安装................................................... 43
3.3.3.3 建立和使用 Windows 98 驱动程序构造环境.................... 44
3.3.4 Windows 98 下的USB 设备应用程序开发................................ 44
3.4 结论............................................................................................. 44
第四章 USB 项目简介.......................................................................... 46
4.1 USB 手写识别输入系统............................................................... 47
4.1.1 背景....................................................................................... 47
4.1.2 原理....................................................................................... 47
4.1.2.1 设备端硬件设计................................................................ 48
4.1.2.2 设备端软件设计................................................................ 50
4.1.2.3 主机端软件设计................................................................ 51
4.1.3 结论....................................................................................... 54
4.2 USB 通用设备开发平台............................................................... 55
4.2.1 背景....................................................................................... 55
4.2.2 全速USB 设备设计原理........................................................ 56
4.2.2.1 设备端硬件设计................................................................ 57
4.2.2.2 设备端软件设计................................................................ 59
4.2.2.3 主机端软件设计................................................................ 60
4.2.3 USB HUB 集线器设计原理................................................. 61
4.2.4 结论....................................................................................... 65
4.3 USB 安全钥.................................................................................. 65
4.3.1 背景....................................................................................... 65
4.3.2 原理....................................................................................... 67
4.3.2.1 设备端硬件设计................................................................ 67
4.3.2.2 设备端软件设计................................................................ 68
4.3.2.3 主机端软件设计................................................................ 70
4.3.3 结论....................................................................................... 72
4.4 USB 在线编程设备...................................................................... 72
4.4.1 背景....................................................................................... 73
4.4.2 原理....................................................................................... 73
4.4.2.1 设备端软件设计................................................................ 76
4.4.2.2 主机端软件设计................................................................ 77
4.4.3 结论....................................................................................... 78
4.5 结论............................................................................................. 78
第五章 其他工作...................................................................................... 80
5.1 MOTOROLA 微控制器的使用......................................................... 80
5.1.1 在线编程技术和MC68HC908GP32IDK ................................ 80
5.1.1.1 MC68HC908 系列微控制器的在线编程技术..................... 81
5.1.1.2 MC68HC908GP32IDK 在线编程开发系统......................... 86
5.1.1.3 结论................................................................................... 88
参考文献.................................................................................................... 89
致谢........................................................................................................... 90
个人简历.................................................................................................... 91
|