基于STM32的USB简易鼠标_第1页
基于STM32的USB简易鼠标_第2页
基于STM32的USB简易鼠标_第3页
基于STM32的USB简易鼠标_第4页
基于STM32的USB简易鼠标_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

毕 业 设 计 论 文 题 目: 基于 STM32 的 USB 简易鼠标设计 学 院: 电气与信息工程学院 专 业: 电子信息工程 姓 名: XXX 学 号: XXXXXX 指导老师: XXX 完成时间: 2015 年 06 月 01 日 河南城建学院本科毕业设计(论文) 摘要摘 要 随着设备的越来越智能化,嵌入式计算机大量应用到各种电子设备中,基于嵌入式系统的 USB 鼠标及键盘的应用也变得越来越广泛。在本次设计中,研究的是一款基于 STM32 的 USB 鼠标,即插即用,免驱动自动识别,很好的解决了鼠标设备智能化和低延迟的设计要求。由于是基于 HID 的 USB 设备,所以编程非常方便,贴近工程实践,应用前景广阔。嵌入式系统 HID,即人机接口设备,是 Human Interface Device 的缩写。HID 是计算机周边设备中非常常见的设备类型,是可以直接与进行人交互的 USB设备,例如鼠标、摄像头、U 盘等。在种类繁多 USB 设备中,HID 类设备的成本一般情况下是比较低的。实际上,只要是符合 HID 标准的设备都是 HID 设备,不一定非要具有人机交互功能。 最早支持 HID 设备的计算机操作系统是 Windows98系统。 HID 设备的驱动程序内置在这些系统中,不需要单独开发与安装驱动,应用程序可以直接使用这些驱动程序来与设备通信。近年来,受计算机性能提升和游戏软件等的影响,人们对鼠标的要求越来越高,特别是一些即时作战游戏,人们希望能达到“零”延迟,这就对原来的鼠标技术提出了挑战。老式的圆孔鼠标早已不再适用,特别是笔记本电脑根本不再设计老式插孔。随着 USB2.0 以及 USB3.0 的不断完善,再加上高速而价廉的单片机,一款基于 STM32 的 USB 简易鼠标正是本课题的研究内容。本文主要研究基于STM32 的 USB 简易鼠标系统的功能、设计思想和实现,以及基于 STM32 的 USB 简易鼠标的组成及工作原理,描述了研究该课题的意义和应用价值。本设计的重点在于 USB 协议的 HID 部分,精通此协议并植入单片机才能实现计算机与鼠标的沟通。关键词: USB 技术; HID 协议; STM32 单片机;鼠标河南城建学院本科毕业设计(论文) 摘要I河南城建学院本科毕业设计(论文) AbstractAbstractAs more and more intelligent devices, embedded computers applied to the large variety of electronic devices, embedded systems USB mouse and keyboard applications are becoming more and more widespread. In this design, the study is a based on the STM32 USB mouse, plug and play, driver-free automatic identification, a good solution to the mouse device intelligence and low-latency design requirements. Because it is based on HID USB device, so the programming is very convenient, close to the engineering practice, the application prospects.Embedded systems HID, namely human interface devices, is an abbreviation for Human Interface Device. HID is a computer peripheral device in a very common device types, people can interact directly with the conduct of USB devices, such as a mouse,camera, U disk and so on.In a wide range of USB devices, under HID class devices generally cost is relatively low.In fact, as long as a HID-compliant devices are HID device does not necessarily have to have interactive features.The earliest HID devices supported computer operating system is Windows98 system. HID device drivers built into these systems, the need for separate development and install the driver, an application can use these drivers to communicate with the device.In recent years, the impact of computer and game software performance by, people have become increasingly demanding of the mouse, especially some instant combat game, people want to be able to achieve “zero“ delay, which the original mouse technology presents a challenge . Old-fashioned mouse the hole is no longer applicable, especially notebook computers designed simply no longer the old jack. With the continuous improvement USB2.0 and USB3.0, coupled with high speed and low cost microcontroller, a research based on the STM32 USB simple mouse precisely this topic. This article is mainly based on the STM32 USB simple mouse systems design and implementation, as well as easy on the STM32 USB mouse and work principle, it describes the subject of research and practical value. The design focuses on some USB HID protocol, proficient in this agreement and in order to achieve single-chip implanted communication computer mouse.Keywords: USB technology; HID protocol; STM32 microcontroller; mouse河南城建学院本科毕业设计(论文) AbstractI河南城建学院本科毕业设计(论文) 目录目录摘 要 .IAbstract .II目录 .III第 1 章 引言 .11.1 课题背景 .11.2 基于 STM32 的 USB 鼠标的设计研究方法及目标 .11.3 USB 鼠标国内外研究现状 .2第 2 章 USB 协议概述 .32.1 USB 简介 .32.2 USB 的拓扑结构 .32.3 USB 的电气特性 .42.4 USB 描述符 .42.5 USB 的包结构 .52.5.1 令牌包 .52.5.2 数据包 .62.5.3 握手包 .62.5.4 特殊包 .62.6 USB 的传输类型 .7第 3 章 STM32 及 MDK 简介 .83.1 STM32 简介 .83.2 MDK 的使用 .8第 4 章 USB 鼠标的实现 .104.1 USB 简易鼠标的程序编写 .104.2 USB 鼠标的运行 .124.3 硬件实现 .12设计总结 .14参考文献 .15致 谢 .16附 录 .17河南城建学院本科毕业设计(论文) 引言0第 1章 引言1.1 课题背景USB 接口是串行总线通信端口,支持即插即用,在计算机领域应用非常广泛。HID 设备是一种可以进行人机交互操作的设备,在 USB 设备中占有重要地位,可以辅助计算机进行各种操作,如常用的电脑摄像头、手写板等设备。一般 USB 设备的研发非常困难,不但要严格遵守 USB 协议,还要编写驱动程序。但 HID 设备使用的是操作系统自带的 HID 驱动程序,免去了驱动程序的编写,加快了开发效率,因此一些简单的 USB 设备,都喜欢枚举成 HID 设备。USB 接口不但具有热插拔功能而且还是即插即用的,非常方便。USB 接口在理论上最多可以同时连接127 个外设,如游戏手柄、手写板、键盘等。USB 协议最早在 1996 年提出,经过多年的发展 USB 版本到现在已经发展为 3.0 版本。从 1975 年第一个单片机产生后经过四代的发展,目前单片机具有生命周期长、接口内容丰富、运算速度快、低电压低功耗、价格便宜等优点。本次设计中使用的 STM32 是一款基于 Cotex-M3 内核的 32 位处理器。这款处理器具有低成本、高性能的有点,非常适合 USB 鼠标的设计。鼠标自从 1968 年美国科学家研制出来后,基于其方便快捷操作简单等优点很快成为家喻户晓的产品,是现在每台电脑都必须配备的电子产品。从有线到无线,从滚球到光电,鼠标经过一代代的发展可以说是品种繁多,价格也是十几元到几千元的都有。在选购鼠标时,我们一般会挑选外观漂亮延迟小的产品,无论什么样的鼠标,目的只有一个,那就是舒适好用。所以不管计算机发展到什么程度,只要有人用鼠标,鼠标的研制与开发都是必须的。1.2 基于 STM32的 USB鼠标的设计研究方法及目标想让计算机把一个 HID 设备识别为鼠标设备,要完成的主要工作是修改 HID 设备的标准描述符。HID 设备的描述符主要包括 5 个 USB 的标准描述符和 3 个HID 设备类特定描述符。通过修改描述符可以将 HID 设备枚举为鼠标。本次设计使用 C 语言进行程序的编写。本文所讲述的 USB 鼠标是采用 STM32 来实现的。它自身带的 USB 模块符合USB2.0 规范和 OTG1.3 规范,支持全速 12Mbps 和低速 1.2Mbps 两种模式。而且STM32 官方封装了很多库函数,对于编写 USB 驱动节省了很多时间。本次设计通河南城建学院本科毕业设计(论文) 引言1过把符合 HID 协议的程序烧录到 STM32 开发板中,由开发板的四个按键控制window 窗口光标的移动。1.3 USB鼠标国内外研究现状从原始鼠标、机械鼠标、光电鼠标(光学鼠标,激光鼠标)再到如今的触控鼠标,鼠标技术经历了漫漫征途终于修成正果。与主流 PC 部件相比,鼠标的技术革新显得非常保守,从道格拉斯博士的原始鼠标,再到后来的纯机械鼠标、光电鼠标、光机鼠标,以及光学鼠标,鼠标技术只经历寥寥几次大变革,其中真正算得上成功的其实只有光机鼠标和光学鼠标,它们也是当前鼠标技术的主流形态。其中,光机鼠标为过去的主流,我们一般也将它俗称作“机械鼠标”。对于光学鼠标,则是现在鼠标技术的发展方向,它已经大面积取代过时的光机鼠标产品。现在光学鼠标的技术相当完善,基本上每个人用的都是光学鼠标。但不管是哪一种鼠标都少不了和 USB 打交道,特别是 USB3.0 出现以后,基于 USB 的设备已经是电子产品研发的主流。河南城建学院本科毕业设计(论文) 第 2 章 USB 协议概述 2第 2章 USB 协议概述2.1 USB简介USB 是英文 Universal Serial Bus(通用串行总线)的缩写,是一个外部总线的标准,用于规范电脑与外部设备的连接和通讯,是应用在 PC 领域的接口技术。USB 传输速度极快,使用很方便,它可以连接非常多的外设,比如:手写板、游戏手柄、U 盘等。现在 USB 设备已进入千家万户,应用之所以如此广泛,优点主要有以下几点:1、支持热插拔,也就是即插即用。这让用户在使用外接设备时不需要进行关机再开机就可以完成硬件的安装,分分钟就可以使用,省时省力。2、标准统一。常见的是 IDE 接口的硬盘,串口的鼠标键盘,并口的打印机扫描仪,可以有了 USB 之后,这些应用外设统统可以用 USB 接口与 PC 连接,这时就有了 USB 硬盘、USB 鼠标、USB 网卡等一系列设备。3、可以连接多个设备。USB 在 PC 上往往具有多个接口,可以同时连接多个外设,最高可连接 127 个设备。USB 协议出现过的版本有 USB1.0、USB1.1、USB2.0 以及现在最新的USB3.0。USB 的结构是主从模式,设备与设备之间不能互连,主机与主机之间也不能互连,于是就产生了 USB OTG。USB OTG 就是让同一个设备在不同场合下实现主机与从机之间的切换。在传输速度上,USB1.0 和 USB1.1 版本只支持1.5Mb/s 的低速模式和 12Mb/s 的全速模式。USB2.0 中不仅支持这两种模式,还增添了速度更快的 480Mb/s 的高速模式。现在 USB3.0 已经非常完善,最新发布的计算机产品都带有 USB3.0 接口,其最大传输速度更是达到恐怖的 5.0Gbps。2.2 USB的拓扑结构前面提到,USB 是一种主从结构的系统。主机在一般情况下都会具有一个或多个 USB 主控制器(host controller)和根集线器(root hub)。主控制器下虽然只有一个根集线器,但一般情况下根集线器上都有多个 USB 口。USB 集线器是一种特殊的 USB 设备,是在 USB 接口不够用时扩展 USB 口用的。集线器虽然可以扩展出更多的 USB 口,但不能扩展出更多的带宽,带宽还是共享的。所以最好不要把多个 USB 设备接到同一个 USB 端口上。我们可以在电脑的设备管理器中是查看 USB 主控制器和 USB 根集线器的。对河南城建学院本科毕业设计(论文) 第 2 章 USB 协议概述 3于 window7 系统,右击“计算机”,在弹出的菜单中选择“管理”,在“计算机管理”选项卡中单击“设备管理器”,就可以查看计算机设备的属性了,在这里可以查看驱动程序信息、设备的 PID 和 VID 等。在“设备管理器”中找到“通用串行总线控制器”并把它展开,就可以看到 USB 主控制器和根集线器了。USB 的拓扑结构为金字塔型,塔顶为主控制器和根集线器,下面是通过 USB 集线器拓展的多个 USB 口。在 Windows 中,由各种 USB 功能驱动程序负责产生和管理 USB 功能设备(FOD),即我们最终所看到的设备。2.3 USB的电气特性标准的 USB 连接线使用四芯电缆:5V 电源线、差分数据线负(D)、差分数据线正(D+)及地(GND )。在 USB

温馨提示

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

最新文档

评论

0/150

提交评论