USB技术应用研究_第1页
USB技术应用研究_第2页
USB技术应用研究_第3页
USB技术应用研究_第4页
USB技术应用研究_第5页
已阅读5页,还剩57页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

哈尔滨理工大学学士学位论文- I -USB 技术应用研究摘要传统的计算机外设接口存在许多缺点,已经不能适应计算机的需要。通用串行总线(USB)以其低成本、使用简单、扩展方便及支持即插即用等特点而得到了广泛应用。在未来 PC 体系结构中,USB 将扮演重要角色。本方首先对通用串行总线 USB 的结构、特点、总线规范及协议作了详细的讨论。同时,在充分理解 USB 通信体系的基础上,设计了一套基于 USB 接口的数据采集系统的方案:系统从功能上分数据采集模块、USB 接口模块和 PC 机处理模块三部分。主要工作体现在以下几个方面:USB 通信接口芯片的选择以及系统硬件分析。进行 WDM 型 USB 驱动程序开发工作。完成单片机系统中相应功能的固件程序和 PC 机应用程序的编制。关键词 通用串行总线 数据采集 驱动程序 中断请求Apply and Research on Universal Bus (USB) Technology AbstractTraditional interfaces of external peripherals have many shortcomings so they do not satisfy the requirement of the PC. The Universal Serial Bus-USB has many advantages, such as high speed, expanding port with ease, supporting Plus and Play, low-cost etc. so it is widely used now. USB will play an important role in future PC architecture.At first, this paper discusses the characters of the characters of the Universal Serial Bus (USB). After understanding the communication architecture of the USB, we decide that our system should consist of three modular. The first is the data-acquisition modular on the hardware board. The second is the interface modular between the hardware and PC. The second is the interface modular between the hardware and PC. The last is the software modular of PC dealing with the processing of information. Main tasks we have completed will be described as follows.The first is how to choose the USB chip and design the hardware circuits frame-work. There are two kinds of USB chips.The second is that we have developed the soft driver.The last involves both the application software in the PC and the firmware in the device.Keywords USB Data Acquisition Driver IRP不要删除行尾的分节符,此行不会被打印哈尔滨理工大学学士学位论文- II -目录摘要 IAbstract II第一章 绪论 11.1 课题背景 11.2 USB 技术特点 1第二章 USB 基本结构和特点 32.1 引言 32.2 USB 的物理连接 32.3USB1.1 协议总览 42.4USB 总线结构 42.5 数据流模式 52.6 USB 的传输类型 52.7 USB 接口的传输协议 72.7.1 组成 USB 包的数据域 82.7.2 USB 包格式 102.7.3 分组格式 112.7.4 USB 传输事务 132.7.5 低速事务 182.7.6 USB 传输错误检测和恢复 182.8 USB 描述符 202.9 USB 的设备请求和标准设备请求 212.10 USB 主机 242.11 USB 设备 252.12 小结 26第三章 基于 USB 的数据采集系统设计 273.1 USB 数据采集系统的硬件设计 273.1.1 系统整体方案的设计 273.1.2 USB 数据采集系统的具体结构 283.2 数据采集系统的软件设计 333.2.1 驱动程序的设计 333.2.2 设备固伯程序的设计 443.3 小结 48结论 49致谢 50参考文献 51附录 52千万不要删除行尾的分节符,此行不会被打印。在目录上点右键“更新域” ,然后“更新整个目录” 。打印前,不要忘记把上面“Abstract”这一行后加一空行哈尔滨理工大学学士学位论文- 1 -绪论USB 是英文 Universal Serial Bus 的缩写,中文含义是 “通用串行总线”。它是一种应用在 PC 领域的新型接口技术。自从 1995 年 PC 机带有 USB 接口, 1998年 USB 接口逐步走进大规模实用阶段。这几年,随着大量支持 USB 的个人电脑的普及,USB 逐步成为 PC 机的标准接口已经是大势所趋。在主机(host)端,最新推出的 PC 机几乎 100%支持 USB;而在外设(device)端,USB 彩一个 4 针插头作为标准插头,可以将键盘、鼠标、打印机等不同计算机外围设备的接口统一起来,并可以彩菊花链形式把所有的外设连接起来而不损失带宽。USB 将作为 PC 外设扩展的新途径取代当前 PC 上的串口和并口。课题背景随着计算机技术、通信技术和多媒体技术的发展以及计算机应用的普及,计算机系统除了包括显示器、鼠标和键盘等基本外围设备,还包括越来越多数字化设备,如打印机、扫描仪、Modem、麦克、数码相机等等。这些日益多样化的设备并没有统一的接口标准,设备的安装和配置都比较复杂。例如,连接打印机要用 25 针的并行接口,鼠标则用 9 针或 25 针的串行接口,而某些设备则需要使用专门插卡。相对于外设种类和数量的增多,PC 机传统接口从系统与用户两个角度都呈现出其固有限制。从系统角度,其一,计算机端口资源(I/O 地址、IRQ 和 DMA 等)有限;其二,计算机提供的接口和主板插槽有限 ,通过添加板卡扩充接口的方法无法根本解决问题;其三,接口数据传输不能满足外设提出的更高要求,如更高速度和双向数据传输。而对用户来讲,在一台 PC 上增加一台新的外设,通常需要完成一系列繁琐工作;关闭电源,打开机箱,安装外设的接口插卡;为了避免资源战胜冲突,设置路线为新的外设插卡选择合适的IRQ、DMA 和 I/O 口地址;安装设备驱动程序。总之,传统计算机接口已不能满足计算机的进一步发展和应用。在此背景下,1995 年,由 Compaq、Digital Equipment、 IBM、Intel、Microsoft、NEC 和 Northern Telecom 七家公司组成联盟,并建立 USB-IF(USB 实施者论坛) ,决定将最初为将电话接入 PC 机而设计的 USB 作为一种计算机外设标准来推广。1996 年,USB-IF 发布为 USB 规范1.0,为 USB 产品提出设计要求。1998 年 9 月 23 日,USB-IF 发布 USB 规范1.1。该版本为目前计算机操作系统以及硬件平台广泛支持的版本,本文亦将以该版本为基础讨论 USB 规范、USB 设备接口设计及其如何应用到光电鼠标上。最新版本 USB2.0 发布于 2000 年 4 月 27 日。USB 技术特点USB 为所有的 USB 外设提供了单一的、易于操作的、标准的连接类型。这样一来就简化了 USB 外设的设计,同时也简化了用户在判断哪个插头对应哪个插槽时的任务,实现了单一的数据通用接口。USB 排除了各个设备象鼠标、调制解调器、键盘和打印机设备对于系统资源的需求,因而减少了硬件的复杂性和对端口的占用,整个的 USB 的系统只有一个哈尔滨理工大学学士学位论文- 2 -端口和一个中断,节省了系统资源。USBF 支持热插拔( hot plug) ,也就是说在不关 PC 的情况下可以安全的插上和断开 USB 设备,动态的加载驱动程序。其它普通的外围连接标准,如 SCSI 设备等必须在关掉主机的情况下才能增加或移走外围设备。USB 支持 PNP。当插入 USB 设备的时候,计算机系统检测该外设并且通过自动的加载相关的驱动程序来对该设备进行配置,并使其正常工作。USB 在设备供电方面提供了灵活性。USB 直接连接到 Hub 或者连接到 Host 的设备可以通过 USB 电缆供电,也可以通过电池或者其它的电力设备来供电,或使用两种供电方式的组合,并且支持节约能源的挂机和唤醒模式。USB 提供全速 12Mbps 的速率和低速 1.5Mbps 的速率来适应各种不同类型的外设。针对不能处理突然发生的非连续传送的设备,如音频和视频设备,USB 可以保证其固定带宽。为了适应各种不同类型外围设备的要求,USB 提供了四种不同的数据传送类型。USB 使得多个外围设备可以跟主机通信。第二章 USB 基本结构和特点2.1 引言在本章主要是对 USB 的基本结构和特性作初步的介绍,是否了解这些知识对于设计 USB 设备系统至关重要,只有清楚地理解这些概念才能更好的进行设计。2.2 USB 的物理连接如图 2-1 所示,USB 采用 4 线电缆。其中 Vbus 为总线电源线,GND 为地线,这两根线为下行(downstream )设备提供电源;D+和 D-是差动(differential)信号线,用于串行传输 USB 数据。采用差动信号线的目的在于消除传输过程中的噪声,从而提高传输可靠性。USB 电缆支持两种速率模式:全速模式(12Mbps)和低速模(1.5Mbps) 。全速电缆与低速电缆的区别在于:全速电缆的数据信号线是双绞线,并且需要屏蔽哈尔滨理工大学学士学位论文- 3 -层;而低速电缆的数据信号线不需要双绞,也不需要屏蔽层。USB 连接器有两种类型:A 型和 B 型。A 型连接器是连接 USB 设备的主要方式,所有 USB 设备都必须具备一个 A 型连接器;A 型插座作为 USB 主机和集线器的下行输出口;A 型插头用于上行连接到 USB 主机和集线器。B 型连接器用于厂家提供的标准的可分离(detachable)电缆,以方便最终用户根据需要替换电缆;B 型插座作为 USB 设备和集线器的上行输入口; B 型插头用于下行连接到 USB 设备。下图所示为 USB 电缆分别连接到 PC 主机、打印机的插头:2.3USB1.1 协议总览总的来说,USB1.1 是一个传输率可达 12Mbps 的串行接口,并由不同类型的 PC外设一起分享这个串行总线接口中,而且可以高达 127 个外设对应于一个 PC 主机。其中,USB 主机是整个总线上的主控者掌握所有的主控权,负责对各个外设发出各设定命令和配置。USB 是以令牌包为主的通信协议,而主机将会于总线上发布一种令牌包,此时一定会有一个符合其地址的设备根据这个令牌包做出相应的操作。此外,12Mbps 的总线带宽是被分割为 1ms 的帧,所有位于此总线的设备就会以时间分隔的多任务传输来分享它。以实体的观点来看,USB 仅含有四条线,两条是电源线(Vcc 与 GND),两条是以差分方式产生的信号线(D+与 D-) 。2.4USB 总线结构USB 系统中的设备与主机的连接方式采用的是新型的层次化的星形连接,如下图所示。图中的 Hub 是一类特殊的 USB 设备,它是一组 USB 的连接点,主机哈尔滨理工大学学士学位论文- 4 -中有一个被嵌入的 Hub 叫根 Hub(root Hub)。主机通过根 Hub 提供若干个连接点。图 2-22.5 数据流模式USB 对于与设备之间的通信提供了特定的协议。虽然 USB 系统的总线拓扑是新型的层次化的星形连接,但实际上 USB 主机与设备的连接方式却是如图 2-3 所示的一对一的连接形式,这被称为 USB 总线的逻辑拓扑结构,而数据流的模式则是以这些逻辑连接为基本结构。主机逻辑设备 逻辑设备逻辑设备USB 为主机上的软件和客户的 USB 功能模块之间提供了通信服务。功能模块会对通信流有不同的要求。需要不同的客户来实现相互作用。通过允许将不同的USB 功能模块的不同通信流分离开来,USB 提供了更好的整体总线利用率.每一个通信流都要使用某一总线访问来完成客户和功能模块之间的通信,并且终止于设备上的某一端点。设备端点用于区别任意的通信流。端 点 是 主机与设备之间的一个逻辑通道,也是一个 USB 设备唯一可以确认的部分,它是主机与设备之间的通信流终点.一个 USB 逻辑设备对整个系统而言就是一个端点的集合。根据其使用的接口,端点可以被分成不同的端点集。软件只能通过一个或多个端点与一个 USB 设备通信。利用设备的地址和端点号哈尔滨理工大学学士学位论文- 5 -就可以唯一地指定任一个端点。管 道 就 是在 USB 主机上的一个软件功能和一个 USB 设备之间建立的一个虚连接,是设备上的一个端点和主机上的软件的联合体,在 USB 技术中有两类管道:流管道和消息管道。对一个 USB 设备进行配置后就会形成道。一个客户软件通常是通过向一个管道发出 IRP 请求来要求发送数据,如果需要的话一个客户软件还可以使管道返回所有未处理的请求。2.6 USB 的传输类型针对设备对系统资源需求的不同,USB 共有 4 种数据传输类型:控制传输、中断传输、同步传输和块传输。控制传输:此方式适用于传输少量的、且对传输时间和传输速率均无要求、但必须保证传输的数据。控制传输主要用于发送和接收与 USB 设备的配置信息有关的数据,如设备地址、配置描述符等,但它也可用于舆其他用途的数据。控制传输可用于低速、全速或高速设备,且所有的 USB 设备都必须支持控制舆。具体来说,任何 USB 设备都必须在其 0 号端点的缺省管道中支持传输,USB 系统软件会使用该管道来访问 USB 设备的,并对其进行配置。从优先级别来说,它是级别最高的传输方式。中断传输:该方式用于传输少量或中量的、且对服务周期有要求的数据,这些数据需要及时处理,以达到实时效果。USB 采用差错和重试机制来确保中断传输的正确性。总的来说中断传输特别适合于键盘、鼠标类设备,因为对于它们,所需处理的事件只是键盘按下、鼠标点击和移动等,其数据量很少,而且用户不希望在使用键盘和无懈可击时出现明显的延迟,所以首先考虑固定的服务周期。同步传输:该方式用于需要连续传输,而且对数据的正确性要求不高,但对时间极为敏感的外设。同步传输以固定的传输速率连续不断的在主机和 USB 外设之间传输数据,在传输数据发生错误时,USB 并不处理这些错误,百是继续传送新的数据。所以在此方式下数据包结束时没有 CRC 校验。同步传输特别适合于音频和视频类设备,如 CD 播放机、扬声器等;因为对于它们,数据被及时发送和接收远比其正确性重要。批量传输:又叫块传输。该方式主要用于大量非周期数据的传输,它采用差错控制和重试机制来确保数据传输的正确性。批量传输特别适合于打印机和扫描仪类设备,因为对于它们,数据无错误地发送和接收远比其传输速率重要。批量传输只能用于高速或全速 USB 设备,但全速/高速设备可以不支持批量传输传输类型 端点类型 传输方式 所传输数据的特点批量传输 批量端点 IN 或 OUT 大量、无传输时间和传输速率要求哈尔滨理工大学学士学位论文- 6 -中断传输 中断端点 IN 或 OUT 少量或中量、有周期性同步传输 同步端点 IN 或 OUT 大量、速率恒定、有周期性控制传输 控制端点 IN 或 OUT 少量、无传输时间要求、传输有保证2.7 USB 接口的传输协议总的来说,USBI.1 是一个传输率可达 12Mbps 的串行接口,并由不同类型的PC 外设一起分享这个串行总线接口,而且可以高达 127 个外设对应于一个 PC主机。其中,USB 主机是整个总线上的主控者,掌握所有的主控权,负责对各个外设发出各设定命令和配置 o USB 是以令牌包为主的通信协议,而主机将会于总线上发布一种令牌包,此时一定会有一个符合其地址的设备根据这个令牌包做出相应的操作。此外,12Mbps 的总线带宽是被分割为 lms 的帧,所有位于此总线的设备就会以时间分隔的多任务传输来分享它。以实体的观点来看,USB 仅含有四条线,两条是电源线(V,。与 GND),两条是以差分方式产生的信号线(D+与 D_)。传输协议:主机与设备之间通过称为事务的离散交互进行通信;一个或多个事务完成一次传输请求。一个传输事务由若干个包(packet)组成。包是总线传输的最小数据块,通常由多个域组成。包仅沿一个方向传送-主机到设备或设备到主机。数据地串行数据线上传输时,先发送最低有效位(LSb),然后是次低位,最后是最高有效位(MSb)。为了保证发送方和接受方在信号级上的同步,串行数据采用 NRZI(不归零反相编码)和比特填充技术:遇到 0 信号发生跳变而遇到 1时保持不变;当出现连续 7 个 1 时插入一个 0 比特。另外,所有包以一个同步域(SYNC)开始。该域为一个 IDLE 状态后面跟随以 NRZI 编码的二进制串“00000001”(数据 80H)。 SYNC 域中的最后两位用于 SYNC 域的结束标志同时表示 PID 域的开始。每个包发送完毕,发送方使两根数据线变为低电平保持 2个比特位的时间,其后再跟随 1 比特时间的 IDLE 状态,该总线状态称为EOP(End of Packet)。通信协议:前面提及过 USB 接口是以令牌包为主的总线协议,而且 PC 主机掌握了这个总线的主控权,就是说一切的沟通都是由 PC 主机来负责启动的。另外由于 use 不占用任何 PC 的中断向量或是输入 /输出的资源,因此必须通过严谨的协议才能与外设达成通信的协议,以执行各项命令。如图 2 -4 显示了 PC 主机如何与设备执行通信协议.从图中可以看到在 USB 总线上执行通信协议的荃本单位就是最下层的数据域。几个不同型式的数据域可以组合成一个分组,有 1 个、2 个或 3 个不同型式的分组又可以组成一个数据交易。因此,对高速设备而言,在 lms 的帧内可能包含各个设备所提交的数据交易,这些数据交易则可能涵盖于不同的客户端驱动程序所启动的输出入要求哈尔滨理工大学学士学位论文- 7 -分组中,图中只显示了 2 个客户端的驱动程序。由上可知,要了解所有的通信协议就需要从数据域来谈起。通过由下而上的顺序,可以从最基本的通信协议单位组合成各种复杂的通信协议。2.7.1 组成 USB 包的数据域根据不同的令牌包的类型,含有不同数量与类型的数据域。以下将依序介绍各种数据域的规格和结构。USB 的传输顺序是由 LSB(最低位)到 MSB(最高位)。 1.同步顺序(SYNC)数据域SYNC 数据域的长度的定义为 8bit,是一个数据分组的前导,是用来产生同步的作用,所以它的数值是固定的,为 00000001。2.包标示符(PID)数据域一个 PID 包括一个 4b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论