基于ARM平台的MEMS输入设备的固件设计
1 引言
MEMS(Micro Electro Mechanical System,即微机电系统)是指集微型传感器、执行器以及信号处理和控制电路、接口电路、通信和电源于一体的微型机电系统,具有体积小、重量轻、性能稳定、可大批量生产、性能一致性好、成本低等特点,将MEMS器件——加速度传感器应用于输入产品和嵌入式系统,满足它们对倾斜、运动、定位、振动等微小变化的测量 需求,以MEMS替换机械控制部件,为消费产品带来了一场革新。
国外和港台地区有一些单位正在开展这方面的研究,并取得了一定的成绩。例如:香港 中文大学Alan H. F. Lam等几个博士生提出了一种基于微加速度传感器的虚拟键盘鼠标系统(MIDS),能同时具备鼠标和键盘的功能[1];加州大学伯克利分校设计了一种加速度感应手套,利用放置在手指上的二维加速度传感器感测手和手指的动作,实现电脑输入的功能[2]。
2. 系统设计
本文设计的无线输入系统是以加速度计为敏感元件,来完成鼠标的功能,并能够在三维 空间上同步操作者的三维运动,从而实现电脑输入的目的。本文采用美国AD公司的微加速 度传感器ADXL203,并结合Nordic半导体公司的射频收发器NRF2401,与Philips公司的 D12USB接口芯片形成一个硬件体系。该系统由两个子系统组成:远端子系统和主机端子系 统,具体的构成如图1所示。
在软件开发上,采用 ARM 嵌入式系统的开发理念,采用内置有ARM7 处理器核的 LPC2214 微控制器,开发新一代基于微加速度传感器的MEMS 无线输入设备。在调试初期, 以周立功公司的EasyARM2200 开发板为开发平台,使用ADS 作为开发环境。
2.远端子系统设计
远端子系统的主要任务是加速度计信号的采集,信号的放大、滤波等的处理,控制器 对射频无线发送的软件控制。主要的实现过程为:使用GPIO 口,并按照一定的采样频率将 加速度信号送入微控制器LPC2214,在LPC2214 内部进行信号放大和A/D 转换;并且按照 无线传输模块定义的格式将数据进行编码,再通过GPIO 口传送给无线射频模块。 主程序主要实现各个器件的初始化和任务的调用。
int main(void)
{
TargetInit();
Init_RF();
Init_ADC();
Init_Transmitter();
TaskMouse();
return 0;
}
在完成各个模块的初始化之后,执行Taskmouse 函数。Taskmouse 函数是主执行函数,包含了GetMousePos()、ModeSelect()、Get_ADCValue_X()和Get_ADCValue_Y()等子函数。调用该函数就可以执行加速度计信号采集、鼠标位置确定、系统工作模式选择等程序行。 获取鼠标位置信息的示意程序如下所示:
相关文章
- 2023-03-09铜氨液流量测量的改进
- 2023-12-10吸收式制冷循环系统的热力学分析
- 2023-11-19轴类零件的高精度形状误差检测方法研究
- 2023-12-14浅谈减压阀的结构设计
- 2023-07-20光栅投影轮廓测量的系统标定技术
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。