毕业设计(论文)-基于Linux系统下USB鼠标驱动开发.doc

上传人:爱问知识人 文档编号:3945580 上传时间:2019-10-10 格式:DOC 页数:48 大小:8.10MB
返回 下载 相关 举报
毕业设计(论文)-基于Linux系统下USB鼠标驱动开发.doc_第1页
第1页 / 共48页
毕业设计(论文)-基于Linux系统下USB鼠标驱动开发.doc_第2页
第2页 / 共48页
毕业设计(论文)-基于Linux系统下USB鼠标驱动开发.doc_第3页
第3页 / 共48页
毕业设计(论文)-基于Linux系统下USB鼠标驱动开发.doc_第4页
第4页 / 共48页
毕业设计(论文)-基于Linux系统下USB鼠标驱动开发.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《毕业设计(论文)-基于Linux系统下USB鼠标驱动开发.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于Linux系统下USB鼠标驱动开发.doc(48页珍藏版)》请在三一文库上搜索。

1、毕毕 业业 设设 计计( 论论 文文) 题题 目目 基于基于 Linux 系统下系统下 USB 鼠标驱动开发鼠标驱动开发 英文题目英文题目 Using Linux system to Write Device Drivers of USB mouse 学生姓名学生姓名 学学 号号 指导教师指导教师 职称职称 讲讲 师师 专专 业业 信信 息息 工工 程程 二二 零零 一一一一 年年 五五 月月 东华理工大学长江学院毕业设计 目录 目目录录 摘摘 要要-I ABSTRACT-II 第一章第一章绪绪 论论-1 1.1 课题研究的背景和意义-1 1.1.1 课题研究的背景-1 1.1.2 课题研究的

2、意义-1 1.3 课题研究的内容-1 第二章第二章USB 简介简介 -2 2.1 USB 的沿革-2 2.2 USB 的优点-2 2.3 USB 的应用及发展趋势-3 2.3.1 USB 的扩展应用 -3 2.3.2 USB 的发展趋势 -4 2.4 USB 接口类型-4 2.5 USB2.0 规范-5 2.6 USB 3.0 简介-5 第三章第三章USB 系统架构与协议系统架构与协议 -7 3.1 USB 系统拓扑结构-7 3.2 USB 设备逻辑结构-8 3.3 USB 描述符-9 3.3 USB 数据传输方式-9 3.3 USB 数据流模型 -10 3.3.1 控制传输-10 3.3.2

3、 中断传输-11 3.3.3 批量传输-11 3.3.4 同步传输-12 第四章第四章LINUX 系统内核及内核模块系统内核及内核模块-13 4.1 LINUX体系结构 -13 4.2 LINUX内核架构 -13 4.3 LINUX内核目录结构 -14 4.4 LINUX内核模块开发 -15 4.4.1 makefile-15 4.4.2 安装和卸载内核模块-17 4.5 LINUX内核配置与安装 -18 3 3 第五章第五章LINUX USB 系统与功能测试系统与功能测试 -23 5.1 USB 协议软件层次 -23 5.2 LINUX USB 架构-24 5.3 MASSSTORSGE-2

4、4 5.4 USB-HID-28 第六章第六章LINUX USB 鼠标驱动程序设计鼠标驱动程序设计 -31 6.1 USB 鼠标驱动程序分析 -31 6.2 URB-33 6.3 搭建开发平台 -33 6.3.1 安装编辑工具-33 6.3.2 安装和配置编译器-33 6.3.3 安装其他工具-34 6.3.4 平台硬件构成-34 6.3.5 平台软件构成-36 6.4 USB 鼠标驱动程序详细设计 -36 总总结结-41 致致谢谢-42 参考文献参考文献 -43 东华理工大学长江学院毕业设计 摘要 I 摘摘 要要 随着计算机硬件飞速发展,外围设备日益增多,键盘、鼠标、调制解调器、打 印机、扫

5、描仪早已为人所共知,数码相机、MP3 随身听接踵而至,这么多的设备, 如何接入个人计算机?USB 就是基于这个目的产生的。USB 是一个使计算机周边设备 连接标准化、单一化的接口,其规格是由 Intel(英特尔) 、 NEC、Compaq、DEC、IBM(商业机器公司) 、Microsoft(微软) 、Northern Telecom 联系制定的。USB 具有传输速度快,使用方便,支持热插拔,连接灵活,独立供电 等优点,几乎应用于所有的外部设备,成为当今个人电脑和大量智能设备的必配的 接口之一。 本设计主要以 Linux USB 为中心,研究 USB 系统架构与其协议分析、Linux 系 统内

6、核及内核模块配置和编译、Linux USB 系统与功能测试和 Linux USB 鼠标驱动 程序设计。主要知识涉及 USB 系统架构,USB 描述符,USB 数据描述方式,USB 枚举, Linux 内核简介,Linux 内核及内核模块配置预编译,Linux 系统架构, MassStorage 与 USB-HID,USB URB 等相关内容。 关键词关键词:驱动程序;USB;Linux;嵌入式。 东华理工大学长江学院毕业设计 ABSTRACT II ABSTRACT With the rapid development of computer hardware and peripherals

7、increasing, keyboard, mouse, modem, printer, scanner is already known, digital camera, MP3 player, so many of the ensuing equipment, how to access personal computer? USB is based on the objective of generation. USB is a computer peripheral devices connected standardization, simplification, its speci

8、fication is made interface Intel (Intel), NEC, Compaq, DEC, IBM (business machine company), Microsoft (Microsoft), Northern Telecom contact work. USB with transmitting speed, easy to use, support hot swaps, connect flexible, independent power supply etc, almost applied to all external devices, now b

9、ecame a personal computer and intelligent devices with one of the interface of will. This design mainly Linux USB as the center, the research system architecture and USB protocol analysis, Linux kernel and kernel module configuration and compilation, Linux USB system and function testing and Linux U

10、SB mouse driver design. Main knowledge system architecture involving USB, USB descriptors, USB, USB enumeration data description way, Linux kernel introduction, Linux kernel and kernel module configuration pre-compiled MassStorage system architecture, Linux, and USB - HID, USB URB and other related

11、content. Key words: Device Drivers;USB;Linux; Embedded. 东华理工大学长江学院毕业设计 第一章 绪论 1 第一章第一章绪绪 论论 1.1 课题研究的背景和意义课题研究的背景和意义 1.1.1 课题研究的背景课题研究的背景 随着计算机硬件飞速发展,外围设备日益增多,键盘、鼠标、调制解调器、打 印机、扫描仪早已为人所共知,数码相机、MP3 随身听接踵而至,这么多的设备, 如何接入个人计算机?USB 就是基于这个目的产生的。USB 是一个使计算机周边设备 连接标准化、单一化的接口,其规格是由 Intel(英特尔) 、 NEC、Compaq、DEC

12、、IBM(商业机器公司) 、Microsoft(微软) 、Northern Telecom 联系制定的。USB 具有传输速度快,使用方便,支持热插拔,连接灵活,独立供电 等优点,几乎应用于所有的外部设备,成为当今个人电脑和大量智能设备的必配的 接口之一。 1.1.2 课题研究的意义课题研究的意义 USB 凭借自身的优势,USB 设备也开始广泛的应用于嵌入式设备中。本论文就是 基于嵌入式系统来编写 USB 设备驱动,以加强对 USB 接口和设备的认识,同时也通 过本毕业设计将四年来所学的专业知识和其他方面的知识融入到实际应用中。 1.3 课题研究的内容课题研究的内容 本设计主要以 Linux U

13、SB 为中心,研究 USB 系统架构与其协议分析、Linux 系 统内核及内核模块配置和编译、Linux USB 系统与功能测试和 Linux USB 鼠标驱动 程序设计。主要知识涉及 USB 系统架构,USB 描述符,USB 数据描述方式,USB 枚举, Linux 内核简介,Linux 内核及内核模块配置预编译,Linux 系统架构, MassStorage 与 USB-HID,USB URB 等相关内容。 东华理工大学长江学院毕业设计 第二章 USB 简介 2 第二章第二章USB 简介简介 2.1 USB 的沿革的沿革 USB 是英文 Universal Serial Bus 的缩写,中

14、文含义是“通用串行总线” 。它 是一种应用在计算机领域的新型接口技术。早在 1995 年,就已经有个人电脑带有 USB 接口了,但由于缺乏软件及硬件设备的支持,这些个人电脑的 USB 接口都闲置 未用。1998 年后,随着微软在 Windows 98 中内置了对 USB 接口的支持模块,加上 USB 设备的日渐增多,USB 接口才逐步走进了实用阶段。 这几年,随着大量支持 USB 的个人电脑的普及,USB 逐步成为个人电脑的标准 接口已经是大势所趋。在主机端,最新推出的个人电脑几乎 100%支持 USB;而在外 设端,使用 USB 接口的设备也与日俱增,例如数码相机、扫描仪、游戏杆、磁带和 软

15、驱、图像设备、打印机、键盘、鼠标等等。目前主板中主要是采用 USB1.1 和 USB2.0,各 USB 版本间能很好的兼容。USB 用一个 4 针(USB3.0 标准为 9 针)插头 作为标准插头,最多可以连接 127 个外部设备,并且不会损失带宽。USB 需要主机 硬件、操作系统和外设三个方面的支持才能工作。目前的主板一般都采用支持 USB 功能的控制芯片组,主板上也安装有 USB 接口插座,而且除了背板的插座之外,主 板上还预留有 USB 插针,可以通过连线接到机箱前面作为前置 USB 接口以方便使用。 而且 USB 接口还可以通过专门的 USB 连机线实现双机互连,并可以通过 Hub 扩

16、展出 更多的接口。USB 具有传输速度快(USB1.1 是 12Mbps,USB2.0 是 480Mbps, USB3.0 是 5 Gbps) ,使用方便,支持热插拔,连接灵活,独立供电等优点,可以连接鼠标、 键盘、打印机、扫描仪、摄像头、闪存盘、MP3 机、手机、数码相机、移动硬盘、 外置光软驱、USB 网卡、ADSL Modem、Cable Modem 等外部设备。 USB 各版本区别版本最大传输速率速率称号最大输出电流协议推出时间: USB1.0:1.5Mbps(192KB/s)低速(Low-Speed)500mA1996 年 1 月; USB1.1:12Mbps(1.5MB/s)全速(

17、Full-Speed)500mA1998 年 9 月; USB2.0:480Mbps(60MB/s)高速(High-Speed)500mA2000 年 4 月; USB3.0:5Gbps(640MB/s)超速(Super-Speed)900mA2008 年 11 月。 2.2 USB 的优点的优点 USB 设备之所以会被大量应用,主要具有以下优点: 1、可以热插拔。这就让用户在使用外接设备时,不需要重复“关机将并口或串 东华理工大学长江学院毕业设计 第二章 USB 简介 3 口电缆接上再开机”这样的动作,而是直接在电脑工作时,就可以将 USB 电缆插上 使用。 2、携带方便。USB 设备大多以

18、“小、轻、薄”见长,对用户来说,同样 20G 的 硬盘,USB 硬盘比 IDE 硬盘要轻一半的重量,在想要随身携带大量数据时,当然 USB 硬盘会是首要之选了。 3、标准统一。大家常见的是 IDE 接口的硬盘,串口的鼠标键盘,并口的打印机 扫描仪,可是有了 USB 之后,这些应用外设统统可以用同样的标准与个人电脑连接, 这时就有了 USB 硬盘、USB 鼠标、USB 打印机等等。 4、可以连接多个设备。USB 在个人电脑上往往具有多个接口,可以同时连接几 个设备,如果接上一个有四个端口的 USB HUB 时,就可以再连上。 2.3 USB 的应用及发展趋势的应用及发展趋势 USB1.1 标准接

19、口传输速率为 12Mbps,但是一个 USB 设备最多只可以得到 6Mbps 的传输频宽。因此若要外接光驱,至多能接六倍速光驱,无法再高。而若要即时播放 MPEG-1 的 VCD 影片,至少要 1.5Mbps 的传输频宽,这点 USB 办得到,但是要完成数据 量大四倍的 MPEG-2 的 DVD 影片播放,USB 可能就很吃力了,若再加上 AC-3 音频数 据,USB 设备就很难实现即时播放了。 用户的需求,是促进科技发展的动力,厂商也同样认识到了这个瓶颈。这时, COMPAQ、Hewlett Packard、Intel、Lucent、Microsoft、NEC 和 PHILIPS 这 7 家

20、厂 商联合制定了 USB 2.0 接口标准。USB 2.0 将设备之间的数据传输速度增加到了 480Mbps,比 USB 1.1 标准快 40 倍左右,速度的提高对于用户的最大好处就是意味 着用户可以使用到更高效的外部设备,而且具有多种速度的周边设备都可以被连接 到 USB 2.0 的线路上,而且无需担心数据传输时发生瓶颈效应。 另外,USB2.0 兼容 USB1.1,也就是说 USB1.1 设备可以和 USB2.0 设备通用,但 是这时 USB2.0 设备只能工作在全速状态下(12Mbit/s)。USB2.0 有高速、全速和低 速三种工作速度,高速是 480Mbit/s,全速是 12Mbit

21、/s,低速是 1.5Mbit/s。其中 全速和低速是为兼容 USB1.1 和 USB1.0 而设计。 2.3.12.3.1 USBUSB 的扩展应用的扩展应用 2.3.1.1 前置 USB 接口 前置 USB 接口是位于机箱前面板上的 USB 扩展接口。目前,使用 USB 接口的各 种外部设备越来越多,例如移动硬盘、闪存盘、数码相机等等。前置 USB 接口在这 方面就给用户提供了很好的易用性。 前置 USB 接口要使用机箱所附带的 USB 连接线连接到主板上所相应的前置 USB 插针(一般是 8 针、9 针或 10 针,两个 USB 成对,其中每个 USB 使用 4 针传输信号 东华理工大学长

22、江学院毕业设计 第二章 USB 简介 4 和供电)上才能使用。 2.3.1.2 USB 口硬盘盒 目前的主流,其最大优点是使用方便,支持热插拔和即插即用。USB 有两种标 准:一种是 USB1.1 接口,其传输速度只有 12Mbps,一种是 USB2.0 接口,其传输速 度高达 480Mbps。目前的主板上的 USB 都支持 USB1.1,但 USB 2.0 只有较新的主板 才能支持,购买时根据个人情况选择产品,虽然 USB2.0 向下兼容 USB1.1,但支持 USB2.0 接口的移动硬盘盒比 USB1.1 的要贵一些。 2.3.22.3.2 USBUSB 的发展趋势的发展趋势 USB 开发

23、者论坛的主席兼英特尔公司的技术策略官 Jeff Ravencraft 表示,无 线 USB 技术将帮助用户在使用个人电脑连接打印机、数码相机、音乐播放器和外置 磁盘驱动器等设备时,从纷繁复杂的电缆连线中解放出来。无线 USB 标准的数据传 输速率与目前的有线 USB 2.0 标准是一样的,均为每秒 480M,两者的区别在于无线 USB 要求在个人电脑或外设中装备无线收发装置以代替电缆连线。 无线 USB 采用超宽带技术进行通信。目前无线局域网的 802.11g 协议采用位于 2.4GHz 附近的一小段频带进行通信,而超宽带技术则采用从 3.1GHz 到 10.6GHz 的 频带进行通信。超宽带

24、的信号水平足够低,因此对于其他无线通信技术来说,超宽 带信号的影响类似于噪声。 2.4 USB 接口类型接口类型 图 1 USB 接口类型 Mini 型(公口) 、Mini 型(母口) 、Mini 型 USB B 型、USB A 型(母口) 、USB A 型(公口) 标准 USB 接口标准 USB 连接器触点 触点功能(主机)功能(设备) 1VBUS (4.755.25 V)VBUS (4.45.25 V) 2D-D- 3D+D+ 4接地接地 USB 信号使用分别标记为 D+ 和 D- 的双绞线传输,它们各自使用 半双工的 东华理工大学长江学院毕业设计 第二章 USB 简介 5 差分信号 并协

25、同工作,以抵消长导线的电磁干扰。 2.5 USB2.0 规范规范 USB2.0 技术规范是有由 Compaq、Hewlett Packard、Intel、Lucent、Microsoft、NEC、Philips 共同制定、发布的,规范把 外设数据传输速度提高到了 480Mbps,是 USB 1.1 设备的 40 倍!但按照原定计划新 的 USB 2.0 标准只是准备把这个标准定在 240Mbps,后来,经过努力将它提高到了 480Mbps。 由于当时制订的标准有了变化,USB 规范就产生了三种速度选择: 480Mbps、12Mbps、1.5Mbps。 而 2003 年 6 月份,当 USB2.

26、0 标准开始逐渐深入人心 之后,USB 协会重新命名了 USB 的规格和标准。 重新命名了 USB 标准将原先的 USB 1.1 改成了 USB 2.0 Full Speed(全速版) , 同时将原有的 USB 2.0 改成了 USB 2.0 High-Speed(高速版) ,并同时公布了新的 标识。 USB 2.0 支持的操作系统:Microsoft Windows 7 、Microsoft Windows Server 2008、 Microsoft Windows vista、Microsoft Windows Server 2003 、Microsoft WindowsXP(所有版本)

27、 、Microsoft Windows 2000、 Microsoft Windows 98SE 、Microsoft Windows Me 。 2.6 USB 3.0 简介简介 英特尔公司(Intel)和业界领先的公司一起携手组建了 USB 3.0 推广组,旨在 开发速度超过当今 10 倍的超高效 USB 互联技术。该技术是由英特尔,以及惠普 (HP) 、NEC、NXP 半导体以及德州仪器(Texas Instruments)等公司共同开发的, 应用领域包括个人计算机、消费及移动类产品的快速同步即时传输。随着数字媒体 的日益普及以及传输文件的不断增大甚至超过 25GB,快速同步即时传输已经成

28、 为必要的性能需求。 USB 3.0 具有后向兼容标准,并兼具传统 USB 技术的易用性和即插即用功能。 该技术的目标是推出比目前连接水平快 10 倍以上的产品,采用与有线 USB 相同的架 构。除对 USB 3.0 规格进行优化以实现更低的能耗和更高的协议效率之外,USB 3.0 的端口和线缆能够实现向后兼容,以及支持未来的光纤传输。 USB 2.0 基于半双工二线制总线,只能提供单向数据流传输,而 USB 3.0 采用 了对偶单纯形四线制差分信号线,故而支持双向并发数据流传输,这也是新规范速 度猛 东华理工大学长江学院毕业设计 第二章 USB 简介 6 增的关键原因。 除此之外,USB 3

29、.0 还引入了新的电源管理机制,支持待机、休眠 和暂停等状态。 USB 3.0 在实际设备应用中将被称为“USB SuperSpeed” ,顺应此前的 USB 1.1 FullSpeed 和 USB 2.0 HighSpeed。 图 2 USB 3.0 标识图 东华理工大学长江学院毕业设计 第三章 USB 系统架构与协议 7 第三章第三章USB 系统架构与协议系统架构与协议 3.1 USB 系统拓扑结构系统拓扑结构 主机 根集线器根集线器 根集线器 集线器 设备设备设备 图 3 USB 系统拓扑结构 a 每个 USB 系统都有一个主控制器(Host) ,该(Host)主控器和一个根集线器作 为

30、一个整体, 。USB 主控器在 USB 系统中 USB 主控器负责主机与设备之间的电气和协 议层得互联。USB 主控器的常规规格有 OHCI、UHCI、EHCI。OHCI 即 Open Host Controller Interface,开放式主机控制接口协议 。“EHCI“驱动程序设计成为实现 新的高速 USB 2.0 协议的芯片提供支持。“OHCI“驱动程序用来为非 PC 系统上的 (以及带有 SiS 和 ALi 芯片组的 PC 主板上的)USB 芯片提供支持。“UHCI“驱动 程序用来为大多数其它 PC 主板(包括 Intel 和 Via)上的 USB 实现提供支持。 一个 USB HO

31、ST 最多可以同时支持 128 个地址,地址 0 作为默认地址,只在 设备枚举期间临时使 用,而不能被分配给任何一个设备,因此一个 USB HOST 最多 可以同时支持 127 个地址,如果一个设 备只占用一个地址,那么可最多支持 127 个 USB 设备。在实际的 USB 体系中,如果要连接 127 个 USB 设备,必须要使用 USB HUB,而 USB HUB 也是需要占用地址的,所以实际可支持的 USB 功能设备的数 量将小于 127。 USB 体系采用分层的星型拓扑来连接所有 USB 设备,如下图所示: 东华理工大学长江学院毕业设计 第三章 USB 系统架构与协议 8 图 4 USB

32、 系统拓扑结构 b 以 HOST-ROOT HUB 为起点 ,最多支持 7 层(Tier) ,也就是任何一个 USB 系 统中最多可以允许 5 个 USB HUB 级联。一个复合设备(Compound Device) 将同 时占据两层或更多的层。ROOT HUB 是一个特殊的 USB HUB,它集成在主机控制器里, 不占用地址。ROOT HUB 不但实现了普通 USB HUB 的功能,还包括其他一些功能。 3.2 USB 设备逻辑结构设备逻辑结构 设备描述符 配置 0配置 n 接口 0接口 0接口 1 端点 0端点 1端点 0 图 5 USB 设备逻辑结构 在 USB 协议中接口由多个端点组成,代表一个基本的功能,是 USB 设备驱动程 序控制的对象。如:配置一:音频(接口)+旋钮(接口) ;配置二:音频(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1