毕业设计论文-基于linux系统下usb鼠标驱动开发内容摘要:

采用超宽带技术进行通信。 目前无线局域网的 协议采用位于 附近的一小段频带进行 通信,而超宽带技术则采用从 到 的频带进行通信。 超宽带的信号水平足够低,因此对于其他无线通信技术来说,超宽带信号的影响类似于噪声。 USB 接口类型 图 1 USB接口类型 Mini 型(公口)、 Mini 型(母口)、 Mini 型 USB B 型、 USB A 型(母口)、 USB A型(公口) 标准 USB 接口标准 USB 连接器触点 触点 功能(主机) 功能(设备) 1 VBUS (- V) VBUS (- V) 2 D D 3 D+ D+ 4 接地 接地 东华理工大学长江学院毕业设计 第二章 USB简介 5 USB 信号使用分别标记为 D+ 和 D 的 双绞线 传输,它们各自使用 半双工 的差分信号 并协同工作,以抵消长导线的电磁干扰。 规范 技术规范是有由 Compaq、 Hewlett Packard、 Intel、 Lucent、 Microsoft、NEC、 Philips 共同制定、发布的,规范把外设数据传输速度提高到了 480Mbps,是USB 设备的 40 倍。 但按照原定计划新的 USB 标准只是准备把这个标准定在240Mbps,后来,经过努力将它提高到了 480Mbps。 由于当时制订的标准有了变化, USB 规范就产生了三种速度选择: 480Mbps、12Mbps、。 而 2020 年 6 月份,当 标准开始逐渐深入人心之后, USB协会重新命名了 USB 的规格和标准。 重新命名了 USB 标准将原先的 USB 改成了 USB Full Speed(全速版),同时将原有的 USB 改成了 USB HighSpeed(高速版),并同时公布了新的标识。 USB 支持的操作系统: Microsoft Windows 7 、 Microsoft Windows Server 20 Microsoft Windows vista、 Microsoft Windows Server 2020 、 Microsoft WindowsXP(所有版本) 、 Microsoft Windows 20 Microsoft Windows 98SE 、Microsoft Windows Me。 USB 简介 英特尔公司( Intel)和业界领先的公司一起携手组建了 USB 推广组,旨在开发速度超过当今 10 倍的超高效 USB 互联技术。 该技术是由英特尔,以及惠普( HP)、NEC、 NXP 半导体以及德州仪器( Texas Instruments)等公司共同开发的,应 用领域包括个人计算机、消费及移动类产品的快速同步即时传输。 随着数字媒体的日益普及以及传输文件的不断增大 —— 甚至超过 25GB,快速同步即时传输已经成为必要的性能需求。 USB 具有后向兼容标准,并兼具传统 USB 技术的易用性和即插即用功能。 该技术的目标是推出比目前连接水平快 10 倍以上的产品,采用与有线 USB 相同的架构。 除对 USB 规格进行优化以实现更低的能耗和更高的协议效率之外, USB 的端口和线缆能够实现向后兼容,以及支持未来的光纤传输。 USB 基于半双工二线制总线,只能提 供单向数据流传输,而 USB 采用了对偶单纯形四线制差分信号线,故而支持双向并发数据流传输,这也是新规范速度猛东华理工大学长江学院毕业设计 第二章 USB简介 6 增的关键原因。 除此之外, USB 还引入了新的电源管理机制,支持待机、休眠和暂停等状态。 USB 在实际设备应用中将被称为 “USB SuperSpeed” ,顺应此前的 USB FullSpeed 和 USB HighSpeed。 图 2 USB 东华理工大学长江学院毕业设计 第 三 章 USB系统架构与协议 7 第三章 USB 系统架构与协议 USB 系统拓扑结构 图 3 USB系统拓扑结构 a 每个 USB 系统都有一个主控制器( Host),该( Host)主控器和一个根集线器作为一个整体。 USB 主控器在 USB 系统中 USB 主控器负责主机与设备之间的电气和协议层得互联。 USB主控器的常规规格有 OHCI、 UHCI、 EHCI。 OHCI即 Open Host Controller Interface,开放式主机控制接口协议。 EHCI驱动程序设计成为实现新的高速 USB 协议的芯片提供支持。 OHCI驱动程序用来为非 PC 系统上的(以及带有 SiS 和 ALi 芯片组的 PC 主板上的) USB 芯片提供支持。 UHCI驱动程序用来为大多数其它 PC 主板(包括 Intel 和 Via)上的 USB 实现提供支持。 一个 USB HOST 最多可以同时支持 128 个地址,地址 0 作为默认地址,只在设备枚举期间临时使 用,而不能被分配给 任何一个设备,因此一个 USB HOST 最多可以同时支持 127 个地址,如果一个设 备只占用一个地址,那么可最多支持 127 个 USB 设备。 在实际的 USB 体系中,如果要连接 127 个 USB 设备,必须要使用 USB HUB,而 USB HUB 也是需要占用地址的,所以实际可支持的 USB 功能设备的数量将小于 127。 USB 体系采用分层的星型拓扑来连接所有 USB 设备,如下图所示: 主机 根集线器 根集线器 根集线器 集线器 设备 设备 设备 东华理工大学长江学院毕业设计 第 三 章 USB系统架构与协议 8 图 4 USB系统拓扑结构 b 以 HOSTROOT HUB 为起点 ,最多支持 7层( Tier), 也就是任何一 个 USB 系统中最多可以允许 5 个 USB HUB 级联。 一个复合设备( Compound Device) 将同时占据两层或更多的层。 ROOT HUB 是一个特殊的 USB HUB, 它集成在主机控制器里,不占用地址。 ROOT HUB 不但实现了普通 USB HUB 的功能,还包括其他一些功能。 USB 设备逻辑结构 图 5 USB设备逻辑结构 在 USB 协议中接口由多个端点组成,代表一个基本的功能,是 USB设备驱动程序控制的对象。 如:配置一:音频(接 口) +旋钮(接口) ; 配置二:音频(接口) +旋钮(接口) +视频(接口)。 设备端点是 USB 设备中的唯一可寻址部分,它位于 USB 设备或主机上的一个数据缓冲区,用来存放和发送 USB 各种数据,主机和设备的通信的最终作用于设备的各个端点。 USB 设备有一个唯一的地址,在设备连接上主机时,由主机分配,而设备终的每一个端点在设备内部有唯一的端点号,给端点号是设计设备时给定的。 每个设备必设备描述符 配置 0 配置 n 接口 0 接口 0 接口 1 端点 0 端点 1 端点 0 东华理工大学长江学院毕业设计 第 三 章 USB系统架构与协议 9 有端点 0,它用于设备枚举和对设备进行一些基本的控制功能。 USB 描述符 在每个 PCI 设备中都有一组固定格式的寄存器,称之为 PCI 寄存 器,通过访问这组寄存器,主机能获得 PCI 设备的信息。 同样, USB 内部,同样也包含了类似于 PCI配置寄存器,这样的固定格式的数据,通过这些数据,主机可以获取 USB 设备的类型、生产厂商等信息。 标准 USB设备有 5钟 USB 描述符:设备描述符、配置描述符、接口描述符、字符串描述符。 一个 USB 设备只有一个设备描述符,一个设备描述符可以包含多个配置描述符,一个配置描述符可以包含多个接口描述符,一个接口使用几个端点就有几个端点描述符。 USB 数据传输方式 USB 采用轮询的广播机制传输数据,所有的传输都由主机发起 ,任何时刻整个 USB 体系内仅允许一个数据包的传输,即不同物理传输线上看到的数据包都是同一被广播的数据包。 USB 采用“令牌包” “数据包” “握手包”的传输机制,在令牌包中指定数据包去向或者来源的设备地址和端点( Endpoint),从而保证了只有一个设备对被广播的数据包 /令牌包作出响应。 握手包表示了传输的成功与否。 图 6 USB传输方式分析 一个传输有一个或多个事务( transaction)构成。 事务可分为 IN 事务、 OUT 事东华理工大学长江学院毕业设计 第 三 章 USB系统架构与协议 10 务, Setup 事务。 一个事务由一个或多个包( packet)构成。 包又可分为 令牌包、数据包、握手包、特殊包。 一个包由多个域构成:同步域( SYNC)、标示域( PID)、地址域 (ADDR)、端点域 (ENDP)、帧号域 (FRAM)、数据域 (DATA)、校验域 (CRC)。 数据包是 USB 总线上数据传输的最小单位,包括 SYNC、数据及 EOP 三个部分。 其中数据的格式针对不同的包有不同的格式。 但都以 8 位的 PID 开始。 PID 指定了数据包的类型(共 16 种)。 令牌包即指 PID 为 IN/OUT/SETUP 的包。 端点( Endpoint)是 USB 设备中的可以进行数据收发的最小单元 ,支持单向或者双向的数据传 输。 设备支持端点的数量是有限制的,除默认端点外低速设备最多支持 2 组端点( 2 个输入, 2 个输出),高速和全速设备最多支持 15 组端点。 管道( Pipe)是主机和设备端点之间数据传输的模型,共有两种类型的管道:无格式的 流管道( Stream Pipe)和有格式的信息管道( Message Pipe)。 任何 USB 设备一旦上电就存 在一个信息管道,即默认的控制管道, USB 主机通过该管道来获取设备的描述、配置、状 态,并对设备进行配置。 USB 设备连接到 HOST 时, HOST 必须通过默认的控制管道对其进行枚举,完成获得 其设备描述、进行地址分配、获得其配置描述、进行配置等操作方可正常使用。 USB 设备 的即插即用特性即依赖于此。 枚举是 USB 体系中一个很重要的活动,由一系列标准请求组成(若设备属于某个子类,还包含 该子类定义的特殊请求)。 通过枚举 HOST 可以获得设备的基本描述信息,如支持的 USB 版本、 PID、 VID、设备分类( Class)、供电方式、最大消耗电流、配置数量、各种类型端点的数量及传输能力(最大包长度)。 HOST 根据 PID 和 VID 加载设备驱 动程序,并对设备进行合适的配置。 只有经过枚举的设备才能正常使用。 对于总线供电设备,在枚举完成前最多可从总线获取 100mA 的电流。 枚举的步骤为获取设备描述符、复位、设置地址、再次获取设备描述符、获取配置描述符、获取接口及端点描述符、获取字符串描述符、选择设备配置。 USB 数据流模型 USB 体系定义了四种类型的传输,它们是: 控制传输、 中断传输、批量传输、同步传输。 控制传输 控制传输是一种可靠的双向传输,一次控制传输可分为三个阶段。 第一阶段为从 HOST 到 Device 的 SETUP 事务传输,这个阶段指定了此次控制传输的请求类型; 第二阶段为数据阶段,也有些请求没有数据阶段;第三阶段为状态阶段,通过一次 IN/OUT 传输表明请求是否成功完成。 控制传输通过控制管道在应用软件和 Device 的控制端点之间进行,控制传输 东华理工大学长江学院毕业设计 第 三 章 USB系统架构与协议 11 过程中传输的数据是有格式定义的, USB 设备或主机可根据格式定义解析获得的 数据含义。 其他三种传输类型都没有格式定义。 控制传输对于最大包长度有固定的要求。 对于高速设备该值为 64Byte;对于低速设备该值为 8;全速设备可以是 1 3 64。 最大包长 度表征了一个端点单次接收 /发送数据的能力,实际上反应的是该端点对应的 Buffer 的大小。 Buffer 越大,单次可接收 /发送的数据包越大,反之亦反。 当通过一个端点 进行数据传输时,若数据的大小超过该端点的最大包长度时,需要将数据分成若干个数据 包传输,并彍要求除最后一个包外,所有的包长度均等于该最大包长度。 这也就是说如果 一个端点收到 /发送了一个长度小于最大包长度的包,即意味着数据传输结束。 控制传输在访问总线时也受到一些限制,如:高速端点的控制传输不能占用超过 20%的微帧,全速和低速的则不能超过 10%。 在一帧内如果有多余的未用时间,并且没有同步和中断传输,可以用来进行控 制传输。 中断传输 中断传输是一种轮询的传输方式,是一种单向的传输, HOST 通。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。