引言
目前,计算机已经在相当多的家庭中实现普及,成为了普通家电的一员。同时,计算机也从先前的科学计算、办公等功能更多地向多媒体、娱乐功能转移,成为家庭的多媒体娱乐中心。在这种背景下,一系列相关的计算机外延产品也相继出现。比如电脑分身卡,这种产品可以使两个以上用户同时使用同一台电脑,或者使书房的电脑同时也成为家庭中的多媒体娱乐中心。您只需躺在大厅的沙发上对着大屏幕液晶,及高保真环绕音响,就能体验真正的高清影音生活;或者您可以躺在床上就可以欣赏电影大片或玩一些小游戏。
在这样的应用中,现在的计算机输入设备就显得过时了。目前最重要的一个计算机输入设备――鼠标,无论是先前的机械式的,还是当前主流的光电式的,都不能离开一个桌面的使用环境。当我们躺在大厅的沙发上或躺在床上享受电脑的强大娱乐功能时,并不希望还得为手中的鼠标找一个平坦且反光度适合的桌面。同时,随着像wii这样的游戏控制器的流行,人们已经不能满足于拿着传统鼠标在桌上划来划去这样的游戏体验,对“空中鼠标”这样灵活、方便、趣味的输入设备的需求逐渐形成。
(资料图片仅供参考)
本文设计项目就是开发这样一个可以离开桌面,真正在空中使用的一款鼠标产品。
系统方案
此系统的电路原理如图1所示。电路可分为空中鼠标主体电路与接收电路两个部分,主体电路由两节7号电池进行供电,而接收电路由USB总线进行供电。主体电路为时代民芯公司的MXT8051控制器为核心,实时获取MEMS加速度传感器与各个按键以及滚轮的状态信息,通过信号处理技术进行处理后,整合成符合HID报告规范的数据包格式,传送给无线射频系统模块。无线射频模块再通过一定的通讯协议发送给空中鼠标接收电路。接收电路接收到有效的数据包后,通过USB接口将HID报告送到计算机,完成鼠标的一次输入过程。
同时,MXT8051也控制一些LED,指示鼠标的状态,也使鼠标更加美观。
硬件系统设计
从上面的介绍中,可以把整个硬件系统细分为以下几个主要模块:鼠标主体电路控制模块、MEMS运动传感器模块、无线收发模块和USB电路模块。各个模块之间相互配合工作。下面,将对各个模块逐一进行介绍。
主体电路控制模块
主体电路的控制模块以MXT8051微控制器为核心。MXT8051是北京时代民芯科技有限公司近期推出的一款高性能8位MCU,以高速单指令周期 8051 为核心。电路拥有丰富的外设,包括 PWM、UART、WDT,Timer 等,大容量存储器,内嵌 32Kx8 可在线编程 flash,10 位 AD,8 位 DA,若干OP,36x4 LCD driver、POR、LDO 以及可编程增益放大器(PGA)等模拟电路。电路集成片上调试系统,通过标准JTAG接口,快速诊断复杂 SoC,该调试系统具有不占用任何硬件资源可进行全速和单步运行、支持硬件断点、软件断点、以及观察内部特殊功能寄存器、程序指针和内部 RAM 等功能。
本系统中,使用GPIO口来捕捉按键状态。用外部中断计数滚轮转动,并同时用GPIO口判断转动的方向。MXT8051控制器中并没有SPI接口,这里,使用软件模拟的方法来获得SPI接口,驱动MEMS芯片和CC2400。MXT8051控制器提供了3路PWM输出,这里采用这3路PWM输出驱动3个LED,用以指示鼠标的状态。此部分电路如图2所示。