基于ARM9的三轴加速度传感器动作识别装置设计.doc

基于ARM9的三轴加速度传感器动作识别装置设计.doc

ID:58863714

大小:52.00 KB

页数:4页

时间:2020-09-22

基于ARM9的三轴加速度传感器动作识别装置设计.doc_第1页
基于ARM9的三轴加速度传感器动作识别装置设计.doc_第2页
基于ARM9的三轴加速度传感器动作识别装置设计.doc_第3页
基于ARM9的三轴加速度传感器动作识别装置设计.doc_第4页
资源描述:

《基于ARM9的三轴加速度传感器动作识别装置设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于ARM9的三轴加速度传感器动作识别装置设计摘要:该装置以ARM9为核心,采用linux操作系统,驱动飞思卡尔的三轴陀螺仪mma7660fc传感器采集外部动作的数据。加以算法分析处理,即可得到方向的角度变化、震动、敲击的外部信息。该装置可用于MP3、PDA、MID、智能手机等各种手持电子设备的人性化智能控制。关键字:三轴加速度传感器、linux操作系统、ARM9ARM9-basedthree-axisaccelerationsensordevicedesignedtoidentifytheactionAbstract:The

2、devicetoARM9core,usinglinuxoperatingsystem,driversofthree-axisgyroscopemma7660fcFreescalesensordataacquisitionexternalaction.Toalgorithmanalysisandprocessing,canbeobtainedbychangingtheangleoforientation,vibration,percussionexternalinformation.ThedevicecanbeusedforMP

3、3,PDA,MID,smartphonesandotherhandheldelectronicdevices,humanintelligentcontrol.Keywords:three-axisaccelerometer,linuxoperatingsystem,ARM90引言随着电子消费品性能和功能的不断发展,消费者对产品的各种人性化的操作的需求也不断提高,因此,在手持设备等便携电子产品上使用各种智能传感器采集外部各种信息,并用于完善设备本身功能的控制,使其更加人性化,具有现实意义。1装置概述该装置由ARM9处理器结合li

4、nux操作系统,通过i2c总线驱动,获取ma7660fc采集外部动作:设备被转动方向的变化和角度的大小,和速度的快慢,震动或被敲击的数据,并进行适当的算法处理,提取出有用的控制信息。其硬件原理图如图1所示,其软件系统结构如图2所示。图1I2CconnectiontoMCU3软件设计3.1驱动核心代码分析……staticstructtimer_list*sensor_timer;staticstructwork_structsensor_work_q;……//定时器中断服务程序staticvoidsensor_timer_han

5、dler(unsignedlongdata){//调度工作队列if(schedule_work(&sensor_work_q)==0){sensor_dbg("cannotschedulework!!!");}}……//注册一个内核定时器staticvoidsensor_timer_registertimer(structtimer_list*ptimer,unsignedinttimeover){init_timer(ptimer);ptimer->expires=jiffies+msecs_to_jiffies(tim

6、eover);ptimer->data=(unsignedlong)NULL;ptimer->function=sensor_timer_handler;add_timer(ptimer);}……//定时器中断底半部处理函数staticvoidsensor_fetch_thread(structwork_struct*work){mma7660_sensor_get_accel();sensor_timer_registertimer(sensor_timer,sensor_duration);}int__inittcc_se

7、nsor_init(void){……//初始化工作队列并将工作队列与处理函数绑定INIT_WORK(&sensor_work_q,sensor_fetch_thread);return0;}3.2测试应用程序分析……#include#include……intmain(intargc,char**argv){//打开设备文件fd=open(/dev/sensor,O_RDWR);……//读数据xyz数据ret=read(fd,&calib_data,sizeof(cal

8、ib_data));……//读取加速度数据ioctl(fd,IOCTL_SENSOR_GET_DATA_ACCEL,&accel);……//设置采样时间ioctl(fd,IOCTL_SENSOR_SET_DELAY_ACCEL,&delay_time);……//读取驱动状态标

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。