个人简历… 91
个人简历....................................................................................................91
中文摘要 中文摘要 通用串行总线(USB)是PC体系中的一套全新的工业标准,它支持单 个主机与多个外设同时进行数据交换。 论文首先会介绍USB的体系结构和特点,包括总线特征、协议定义、 传输方式和电源管理等等。这部分内容会使USB开发者和用户对USB有 个整体的认识。 接下来论文会讨论USB系统的一般开发方法和技术特点,分设备端硬 件、设备端软件和主机端软件三个部分。 然后论文会介绍几个USB项目的研发过程和技术细节,包括USB手写 识别输入系统、USB通用设备开发平台、USB安全钥和USB在线编程设备等 等。论文会详细介绍USB设备的硬件和软件开发的技术细节,包括USB设 备协议栈的编写方法,同时也会讨论在 Windows98下开发USB内核驱动程 序和用户应用程序的一般方法。 论文最后还会介绍 Motorola的一些相关开发技术,主要是在线编程技 术 论文对广大的USB设备开发人员和技术人员具备较高的参考价值,可 以帮助他们尽快掌握USB设备的特点,以及硬件电路设计和软件编程中的 注意事项。 关键字:通用串行总线微控制器协议栈设备驱动程序在线编
中文摘要 1 中文摘要 通用串行总线 USB 是 PC 体系中的一套全新的工业标准 它支持单 个主机与多个外设同时进行数据交换 论文首先会介绍 USB 的体系结构和特点 包括总线特征 协议定义 传输方式和电源管理等等 这部分内容会使 USB 开发者和用户对 USB 有一 个整体的认识 接下来论文会讨论 USB 系统的一般开发方法和技术特点 分设备端硬 件 设备端软件和主机端软件三个部分 然后论文会介绍几个 USB 项目的研发过程和技术细节 包括 USB 手写 识别输入系统 USB 通用设备开发平台 USB 安全钥和 USB 在线编程设备等 等 论文会详细介绍 USB 设备的硬件和软件开发的技术细节 包括 USB 设 备协议栈的编写方法 同时也会讨论在 Windows 98 下开发 USB 内核驱动程 序和用户应用程序的一般方法 论文最后还会介绍 Motorola 的一些相关开发技术 主要是在线编程技 术 论文对广大的 USB 设备开发人员和技术人员具备较高的参考价值 可 以帮助他们尽快掌握 USB 设备的特点 以及硬件电路设计和软件编程中的 注意事项 关键字 通用串行总线 微控制器 协议栈 设备驱动程序 在线编 程
Abstract Abs七rac七 The Universal Serial Bus (USB) is specified to be an industry standard extension to the PC architecture. USB is a serial cable bus that supports data exchange between a host computer and a wide range of simultaneously accessible peripherals First, the thesis describes the architecture and features of USB, including the bus attributes, the protocol definition, types of transactions, power management, and so on. It tries to give developers and users a snapshot of USB After that, the thesis will talk about how to develop the USB system, including: device hardware, device software and host software Then the thesis describes some development and technique details of several USB projects: USB tablet, USB univeral development tool, USB security key and USB IsP(In System Program)device. I will give you the details of the hardware and software design of device, including how to write USB device protocol stack, and talk about the kernel drivers and user program in Windows 98 Finally i will talk more about some technique of Motorola microcontroller like isp and so on The thesis is very useful to uSB device implementers and developers These can help them rapidly grasp the main feathers and important place in hardware design, programming of the USB device Key words: USB microcontroller protocol stack device driver ISP
Abstract 2 Abstract The Universal Serial Bus USB is specified to be an industry standard extension to the PC architecture. USB is a serial cable bus that supports data exchange between a host computer and a wide range of simultaneously accessible peripherals. First, the thesis describes the architecture and features of USB, including the bus attributes, the protocol definition, types of transactions, power management, and so on. It tries to give developers and users a snapshot of USB. After that, the thesis will talk about how to develop the USB system, including: device hardware, device software and host software. Then the thesis describes some development and technique details of several USB projects: USB tablet, USB univeral development tool, USB security key and USB ISP (In System Program) device. I will give you the details of the hardware and software design of device, including how to write USB device protocol stack, and talk about the kernel drivers and user program in Windows 98. Finally I will talk more about some technique of Motorola microcontroller, like ISP and so on. The thesis is very useful to USB device implementers and developers. These can help them rapidly grasp the main feathers and important place in hardware design, programming of the USB device. Key words: USB microcontroller protocol stack device driver ISP
第一章引言 第一章引言 1.1UsB技术 当今的计算机外部设备,都在追求高速度和高通用性。为了满足用户的需求, 以 Intel为首的七家公司( Intel, Compag, Microsoft,IBM,DEC, Northern telecom 以及日本NEC)于1994年11月推出了USB( Universal Serial Bus,通用串行 总线)协议的第一个草案,专用于低、中速的计算机外设。USB可把多达127个 外设同时连到用户的系统上,所有的外设通过协议来共享USB的带宽,其12Wbps 的带宽对于键盘,鼠标等低中速外设是完全足够的。(注:在2000年发布的USB 规范版本2.0中,已经将USB支持的带宽提升到480Mbps。)USB允许外设在主机 和其它外设工作时进行连接、配置、使用及移除,即所谓的即插即用(Plug& Play)。同时USB总线的应用可以清除PC上过多的I/0端口,而以一个串行通道 取代,使PC与外设之间的连接更容易。自从1996年2月USB规范版本1.0发布, 短短几年间,USB不光成为了微机主板上的标准端口,而且还成为了所有微机外 设(包括键盘、鼠标、显示器、打印机、数字相机、扫描仪和游戏柄等等)与主 机相连的标准协议之一。这种连接较以往普通并口( parallel port)和串口 ( serial port)的连接而言,主要的优点是速度高、功耗低、支持即插即用(Plug &Play)和使用维护方便。 由于USB2.0还不成熟,而且本文涉及的项目又全都基于USB1.1,所以本文 以后对USB的描述将全部基于USB的1.1规范版本。凡属于USB2.0的内容,都 会另外注明。 1.2项目来源及概述 早在1998年, Motorola公司就要求我们中心(清华大学 Motorola单片机应 用开发研究中心)用 Motorola公司的8位单片机(当时是68HCO5JB4)开发支 持USB协议的计算机外设。在调研了当时市场上的USB设备情况以后,我们选择 了与中科院自动化所汉王公司合作开发国内第一套USB手写识别输入系统。由于 种种原因,汉王公司最终并没有加入到这个项目的开发工作中来,而我独自承担
第一章 引言 3 第一章 引言 1.1 USB 技术 当今的计算机外部设备 都在追求高速度和高通用性 为了满足用户的需求 以 Intel 为首的七家公司 Intel Compaq Microsoft IBM DEC Northern Telecom 以及日本 NEC 于 1994 年 11 月推出了 USB Universal Serial Bus 通用串行 总线 协议的第一个草案 专用于低 中速的计算机外设 USB 可把多达 127 个 外设同时连到用户的系统上 所有的外设通过协议来共享 USB 的带宽 其 12Mbps 的带宽对于键盘 鼠标等低中速外设是完全足够的 注 在 2000 年发布的 USB 规范版本 2.0 中 已经将 USB 支持的带宽提升到 480Mbps USB 允许外设在主机 和其它外设工作时进行连接 配置 使用及移除 即所谓的即插即用 Plug & Play 同时 USB 总线的应用可以清除 PC 上过多的 I/O 端口 而以一个串行通道 取代 使 PC 与外设之间的连接更容易 自从 1996 年 2 月 USB 规范版本 1.0 发布 短短几年间 USB 不光成为了微机主板上的标准端口 而且还成为了所有微机外 设 包括键盘 鼠标 显示器 打印机 数字相机 扫描仪和游戏柄等等 与主 机相连的标准协议之一 这种连接较以往普通并口 parallel port 和串口 serial port 的连接而言 主要的优点是速度高 功耗低 支持即插即用 Plug & Play 和使用维护方便 由于 USB2.0 还不成熟 而且本文涉及的项目又全都基于 USB1.1 所以本文 以后对 USB 的描述将全部基于 USB 的 1.1 规范版本 凡属于 USB2.0 的内容 都 会另外注明 1.2 项目来源及概述 早在 1998 年 Motorola 公司就要求我们中心 清华大学 Motorola 单片机应 用开发研究中心 用 Motorola 公司的 8 位单片机 当时是 68HC05JB4 开发支 持 USB 协议的计算机外设 在调研了当时市场上的 USB 设备情况以后 我们选择 了与中科院自动化所汉王公司合作开发国内第一套 USB 手写识别输入系统 由于 种种原因 汉王公司最终并没有加入到这个项目的开发工作中来 而我独自承担
第一章引言 了所有的开发工作。 这个项目开发成功后,我们中心的USB技术实力得到了各方面(包括 Motorola、汉王公司和业内其他开发团队)的认同。这以后我继续用 Motorola 的8位单片机(68HC08系列)为 Motorola开发了2个使用USB技术的项目:USB 安全钥和USB在线编程设备。同时我也根据技术的发展和个人的爱好研究了使用 其他公司的USB芯片(如美国国家半导体的USBN9602)开发USB设备的技术和 方法,与人合作设计了USB通用设备开发平台。 开发一个USB设备需要做很多硬件和软件的工作,包括设计USB设备的硬件, 编写设备协议栈和 Windows下的驱动程序等等。通过这些工作,我对USB协议的 整个体系有了一个非常清晰的概念和认识 本文下面的内容,就将以介绍USB协议和项目为主
第一章 引言 4 了所有的开发工作 这个项目开发成功后 我们中心的 USB 技术实力得到了各方面 包括 Motorola 汉王公司和业内其他开发团队 的认同 这以后我继续用 Motorola 的 8 位单片机 68HC08 系列 为 Motorola 开发了 2 个使用 USB 技术的项目 USB 安全钥和 USB 在线编程设备 同时我也根据技术的发展和个人的爱好研究了使用 其他公司的 USB 芯片 如美国国家半导体的 USBN9602 开发 USB 设备的技术和 方法 与人合作设计了 USB 通用设备开发平台 开发一个 USB 设备需要做很多硬件和软件的工作 包括设计 USB 设备的硬件 编写设备协议栈和 Windows 下的驱动程序等等 通过这些工作 我对 USB 协议的 整个体系有了一个非常清晰的概念和认识 本文下面的内容 就将以介绍 USB 协议和项目为主