随着设备的越来越智能化,嵌入式计算机大量应用到各种电子设备中,基于嵌入式系统的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单片机;
4.1 STM32系统电路
单片机最小系统是指能够使单片机正常工作的最小系统。单片机是将中央处理器、只读存储器(ROM)、随机存储器(RAM)、计数器/定时器及输入输出接口电路等计算机主要器件集成在一块集成电路芯片上的微型计算机。本课题研究的管道阴极保护数据无线监测系统的中央处理电路采用美国ST公司生产的低电压、高性能单片机STM32来实现。
本设计采用的STM32,本设计中需要设计系统以及其外部电路,设计的原理图如图3-1所示。
图4.1 主芯片及其外围电路
本系统采用STM32103C8T6,其作为主控芯片一方面对传感器数据进行采集,另一方面将数据通过算法进行处理,并转发到云服务器,因此在电路设计时将两个ADC接口接入传感器。对于STM32系统,其必要组成部分还包括了启动模式选择电路、晶振复位电路等,在设计时还我另外加入了指示灯与按键作为备用。STM32系统电路如图4.1所示。STM32的供电电压以及心率、温度传感器的电压都是3.3V,因此如果采用5V电压供电则还需要进行电压转换,本系统采用了LDO稳压器LM1117将5V转为3.3V。除上文之外选择这款单片机的主要原因还有很多,如:1.本单片机独特的P1.1口外部中断设计,对于计时具有良好的作用,相对于其他的51单片机这是相当于多增加了一个外部中断,而且是优先级很高的中断;2.本单片机可以调节时钟频率,相当于可以有多个运行速度,完全可以超频完成程序,我们都知道在电机控制上需要的是瞬时间的控制,足够的处理速度是最大的保障;3.本单片机的工作电压广泛,因为需要离线控制,即很难实现电源恒压输出,特别是电池会随放电时间的增长产生电压降,所以本设计需要的是一款稳定的单片机;4.本单片机可以提供32个自由的I/O口,而本设计刚好需要做矩阵键盘,所以本设计无疑解决了很大的问题。另外关于单片机周边电路,本设计需要的很简单所以我选用的是简单的按键复位电路以及基本的电容滤波电路以及晶振电路,由于本设计的工作频率要求较高,所以我选用的是11.0592MHz石英晶体晶振,以便于可以提供更快的处理速度,与竞争并联的两个电容是补偿电容,需要注意的是补偿电容不宜过大,如过大会降低电容的补偿调节效果,本设计选用22PF的双电容。复位电路是按键和一个大的电解电容并联,之后串接一个大电阻,避免单片机直接接地,当电源上电时电容相当于短路,此时单片机受高电平刺激开始复位,复位时间为T=R.C,要求T足够长,至少要达到10us级,所以在大电容非常昂贵的情况下,果断选择价格较为低廉的大电阻,使得T增大。至于滤波电路方面,需要使电源稳定,所以使用两个电容并联的方式即可,需要注意到的是电容的选用需要考虑到滤波效果,最佳配比是10uF和0.1uF。除此之外,还需注意的是,单片机的EA端接高电平,用于使能单片机,接地与电源端需要进行滤波隔离。单片机串口通信直接使用TXD与RXD进行通信,可以节省片内资源,不需要外界I/O口转为UART口。
1.2 研究方法及目标
想让计算机把一个HID 设备识别为鼠标设备,要完成的主要工作是修改HID 设备的标准描述符。HID 设备的描述符主要包括5 个USB 的标准描述符和3 个HID 设备类特定描述符。通过修改描述符可以将HID 设备枚举为鼠标。本次设计使用C语言进行程序的编写。
本文所讲述的USB鼠标是采用STM32来实现的。它自身带的USB模块符合USB2.0规范和OTG1.3规范,支持全速12Mbps和低速1.2Mbps两种模式。而且STM32官方封装了很多库函数,对于编写USB驱动节省了很多时间。本次设计通过把符合HID协议的程序烧录到STM32开发板中,由开发板的四个按键控制window窗口光标的移动。
成品毕业设计 可以根据自己的要求 , 自行浏览选购, 可以参考是否符合自己要求,找到满意的成品毕业设计 , 直接发送成品编号联系发你网址的工作人员进行交易, 我们会从 QQ或者邮箱等方式发送毕业设计程序。
我们团队,可以根据用户的功能要求量 身定制毕业设计程序 (同样联系发你网址的 工作人员) , 需要用户提供详细的 , 功能要 求.开发技术要求(开发语言、开发工具、框 架等 ) .我们会根据用户毕业设计的难易程 度 ,工作量大小等,具体的给出一个报价,价格 协商一致过后,付下40%定金.我们开始开 发毕业设计, 做好过后先发送设计桌面演示录像 , 用户看后 满意付尾款, 我们再发程序源码压缩包.