嵌入式手势传动器5.1.1使用小指南最终翻译文本_第1页
嵌入式手势传动器5.1.1使用小指南最终翻译文本_第2页
嵌入式手势传动器5.1.1使用小指南最终翻译文本_第3页
嵌入式手势传动器5.1.1使用小指南最终翻译文本_第4页
嵌入式手势传动器5.1.1使用小指南最终翻译文本_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、嵌入式手势传动器5.1.1使用小指南 这份复印件不在修正控制中,除非是用红笔标注了日期和印章“修正控制文本”由InvenSense公司提供的这份资料是精确而又可靠的。但是,对于使用或是专利的侵权或是由其他第三方当事人因使用过程中引起的后果,InvenSense公司概不负责。规格如有变动,恕不另行通知。InvenSense公司在没有事先通知的前提下,保留对这种产品的更改权力,包扣它的电路和软件,目的是为了提高它的设计和性能。InvenSense公司在正面表达和暗示中,对于文件中的信息和规范都没有做任何的特约条款。(担保)InvenSense公司对于文件中出现的任何索赔和损害不承担任何责任,包扣产

2、品的使用和其中的一些细节的服务。这里包扣,但不仅仅包扣,基于准立的侵权索赔和赔偿,面具工作和其他的知识产权。部分产权是归InvenSense公司拥有的,本文件中描述的专利也是受保护的。没有许可证的颁发含义或是在任何专利或是InvenSense公司的专利权。这份出版物取代和替换了所有先前提供的信息。注册的商标是各自公司的财产。InvenSense公司的传感器不应该在开发,存储,生产和运用任何常规或大型规模的杀伤性武器中销售和使用,或其他任何武器以及对生命造成威胁的应用程序中,同时也在任何其他的生命周期中,比如医疗器械,交通工具,航空宇宙,核仪器,海底设备,电站设备,防灾和犯罪预防设备中,都是禁止

3、使用的。目录1. 修订历史2. 目的3. 要求(必需品)4. 运动驱动的介绍5. 在集成开发环境中开放运动驱动项目6. 在更多细节上解释运动驱动和功能规格6.1 数据管理平台7. 测试驱动程序的使用和测试脚本 (翻译的不全)8. 通过运动驱动获得罗盘数据9. 指南针集成和校准10.SPI驱动程序实现11.附录12.参考文献1.修订历史 修订时间 修订版本 描述 2012年12月19日 1.0 文件产生2目的 运动驱动是一种很容易安装和成型的芯片,可以利用数据管理平台的能力来进行InvenSense公司的运动跟踪。运动驱动的嵌入式motionAPPs软件是其中的一个子设备,它可以能够更加简单的移

4、植到多个单片机架构。这份文件很好的阐述了运动驱动程序库的实际使用情况。教程的编写是为了更好的兼容来自T1的嵌入式单片机MSP430,还有一些关于MSP430构架知识的推荐。MSP仅作为例子平台的使用。运动驱动程序可以很容易的移植到任何单片机。3.要求 3.1 集成开发环境(仅作为编译MSP430的例子)3.2 运动驱动程序源文件3.3 MotionFit TM 开发板或是相似的硬件 (仅作例子)4.运动驱动的介绍运动驱动是由API的书写程序组成的,在ANSI(美国国家标准协会)中,兼容C的使用和InvenSense位置跟踪设备的配置不同的功能,包扣DMP的操作。(DMP是数据管理平台) 这份指

5、南提供了一份样本工程,它可以发送融合季度离子加速度计和陀螺仪的数据。在个人计算机的串行端口,这个是用脚本语言编写的客户端在Python中的显示和在旋转屏幕上的三维立方体,六轴节离子和九节轴离子在InvenSense设备驱动程序中是被支持的。以下是解决这个运动驱动的教程指南 -如何加载,配置和利用DMP功能 -MSP430的12C驱动程序示例 -陀螺仪和加速计的自测试功能,基于硬件自检自测函数调用文档上 (请参阅产品注册地图文档完整自测描述) -加速度计校准和更新硬件寄存器内的参数 -陀螺仪校准 -配置低功率运动加速度计中断 -能够改变陀螺仪和加速度计的传感器输出数据率 -能够在FIFO中选择数

6、据填充 5. 在集成开发环境中开放运动驱动项目 1.在文件菜单中选择import(输入) 2.选择现有的CCS eclipse 项目(CCS 开发环境) 3.单击browse(浏览)按钮来选择运动驱动程序文件夹 4.单击finish(完成)按钮来打开运动驱动项目 5.打开文件运动驱动程序测试下的简单应用程序文件夹。这个文件夹将被作为这份指南的主要文件。这份主要的文件夹包含了如何配置运动驱动程序的例子和将文档来帮助用户通过每一行的代码来阅读。 6. 在更多细节上解释运动驱动和功能规格 6.1 DMP (数据管理平台) 1.DMP和DMP特性: a).DMP特征:这是一个低功率(陀螺角)三轴四元数

7、,在DMP上,200hz的陀螺仪数据中计算出的。 b)这是一个低功率六轴传感器,融合计算陀螺仪和加速度计在DMP上以200hz输出数据。c) 这是一个点击手势特征,可以检测一个点击事件和意义等基本功能,例如单一点击/双击,或点击的方向。d) 这个功能的实现显示方向与谷歌运动驱动设备兼容。此功能包括一个计算显示方向的状态机。e)这是一个步数的特征,总是处于开机状态,当MPU开机的时候总是在DMP上运行的。运动驱动程序库可以重置计步器步骤计算值,步行时间查询以及返回的步数。在更新步骤计算数量和步行时间来提高准确性和减少错误的方向之前,有一个延迟7步骤。只要DMP启用,这个特性总是启用着的。f)DM

8、P特性 陀螺仪加速度计:这个功能启用时将校正陀螺仪的偏向,当设备在没有运动超过8秒的状态下。g) 给FIFO添加了原始加速度计数据和芯片坐标加速度计数据h) 给FIFO添加了原始陀螺数据,陀螺仪坐标是在芯片坐标内i) 给FIFO添加校准陀螺仪数据,这个不与发送原始陀螺一起使用,输出的设备框架和主框架代替芯片框架。2.步骤加载并启用DMP的特性。更新的序列图像和初始化DMP的特性突出显示的示例应用程序中提供运动驱动程序项目。这些步骤包括:a)推动DMP图片到微处理器的内存:辅助功能(DMP负载运动驱动固件)为这一任务提供了帮助。b) 把陀螺仪和加速度计DMP方向矩阵 一个方向矩阵可以被发送到DM

9、P变换输出的方向参考或是设备坐标系统。功能更新方向矩阵。C) DMP回调:一些功能注册一个回电话来提醒主程序。这些回电支持触发DMP的特性时,像方向准备或是利用被检测到。这些辅助功能作为一个例子在运动驱动中提供,比如像DMP注册,安卓操作系统,确定方向,为方向的改变特性。请注意,注册一个回调默认情况下不启用一个特性。d)启用DMP特性:辅助功能(DMP启用特性)提供e)数据速率:FIFO比率明确了DMP输出数据速率并能在辅助功能的帮助下自动更新。6.2 I2C驱动与Invensense IC的配合1. I2C驱动程序在MSP430F5528平台上实现,在源内给予以便于更容易在任何MCU平台上传

10、输。MSP430I2C的书写功能和MSP43012C的阅读功能为读和写的数据提供了最基本的功能。MSP430I2C的功能提供了启用和禁用MSP430F5528I2C的通信。这些功能需要从动装置地址,注册地址,长度和可读写的数据。请检查文件MSP430I2C上显示的而更多细节。 6.3陀螺仪和加速度计自测功能调用 MPU的陀螺仪和加速度计自测特性允许使用者检测陀螺仪和加速度计的机械和电器部分。当自测被激活时,车载电子将开动适当的传感器。这个动作将陀螺仪的试验距离相当于一个预定义的科里奥利力,模拟加速度计上的外力。这个传感器输出变化的结果,反映在了输出的信号上。输出信号是用来观察自测反映结合自测寄

11、存器。自测反映如下定义: 自测反应=传感器输出与自我测试启用 传感器输出与自我测试禁用 这个自测反应被用来通过从工厂的自测反应的修剪的改变决定部分是否已经通过或是失败的自测。 改变从工厂自测响应的修剪(%)=(STR-FT)/FT API(应用程序界面)被运动驱动提供来执行陀螺仪和加速度计的自测。如果自测成功执行,O将返回。陀螺仪值弃权从微处理器运行自动测试应该扩展到当前陀螺仪灵敏度设置。陀螺仪灵敏度参数可以通过调回获得。缩减陀螺仪和加速度计的杆子有着格式化的值,以便来存储最新获得的陀螺仪偏差值。 加速度计自测可以确保加速度计的运行是正常的,功能完成进而调用另一个功能。 加速度计圣参数指的是标

12、准加速度计的偏差值,可以从微处理器寄存器获得调用。关于功能,在运动驱动测试中作为例子来获得更多的细节。同时可以从下列的功能中获得更多的信息。*微控制器运行自动测试*获得偏差*加速度计自检测试6.4加速度计校准 加速度计校准偏差值的更新,如果有必要的话,可以通过比较当前加速度值零运动时期躺板放在一个平面上。加速度计校准执行的功能包含在发票MPU里面。这个功能是从微处理器寄存器来检索加速度计的标准偏差(功能调用,获得偏差,返回标准偏差),当前加速度计的读数,然后计算两者方向的转变来进行最大和最小g值的分配来作为测试的实例。(max:最大; min:最小)为了更新存储在微处理器硬件寄存器中的加速度计

13、的偏差值,需要调回。注意,在DMP记忆中的陀螺仪的偏差已经更新,然而加速度计偏差是被存储在硬件寄存器中。更多细节请参考安装启用。6.5 陀螺仪校准 DMP提供了一种方法来校正陀螺仪偏见基于没有设备的运动状态。启用这个特性可以通过选择DMP特性进行陀螺仪校正。一旦这个特性被启用,如果这个木板超过8秒不运动,陀螺仪将自动被校正。6.6. 低功率运动加速度计中断 这个段落解释帮助实施低功率驱动加速度计中断模式,这个模式可以使用在睡眠时期主机处理器没有运动,直到某项运动被发现。这个功能安装了低功率加速度计中断模式的三个参数(在嵌入式驱动API规格文件中进一步进行了描述),包括临界值,时间和低功率加速度

14、计频率。 在这个模式中,这个装置将继续以固定的频率值进行加速度计取样,直到测量出一段时间的上面临界值的信号。如果时间段的选择比样品周期短定义的频率,LP加速度计中断将处罚在第一次的样品比定义的阈值更大的价值。关于LP加速度计中断的更多细节,请逐个检查产品的规格。6.7 能够改变陀螺仪和加速度计的传感器的全方位无线电导航系统(ODR)InvenSense MPU提供了一个为陀螺仪和加速度计可编程的输出数据率。它可以通过编写配置价值SMPLRT_DIV, 陀螺仪的输出可以作为数据速率。 抽样率=陀螺仪的输出率/(1+SMPLRT_DIV)运动驱动提供了一种简单的方式来安装陀螺仪ODR的功能。然而,

15、当DMP被打开的时候,陀螺仪预设一个200HZ采样率而且不应该使用。当DMP被关闭的时候, 最大值可以调成8KHZ,依靠DMP装置规格。当DLPF被禁用的时候,最大陀螺仪输出率将达到8KHZ,当DLPF被启用的时候,将达到1khz。最大的加速度计输出率是1KHZ。采用率远远超过了1khz.对于一个样本率远超过1khz,同样的加速度计样本或许不止一次输出到FIFO,DMP以及传感器寄存器。6.8 能够在FIFO中选择数据来填充使用功能调用提供一个FIFO缓冲区的内部微处理器列队传感器寄存器的值 和减少从MCU需求的可读率。只有加速度计和陀螺仪传感器数据可以被推到FIFO缓冲区。每一个陀螺仪的最大

16、值数据如果有必要的话都会被独立的存储到FIFO中。加速度计的输出仅仅被用于同时来节省三个最大值。运动驱动提供的功能用来安装到FIFO的缓冲区。传感器的价值包括了以下标志的组合。7. 测试运动驱动程序使用motionfit SDK和Python脚本·在SDK构建项目和加载它。·连接USB,点击进入.inf文件(core/driver/msp430/USB-Empl/*.inf)为SDK安装USB CDC 驱动。·如果你的个人电脑上目前还没有准备好的话,请参考APPENDIX A 来安装Phthon·获得COM端口号与SDK连接。如果你需要查找COM端口号,

17、请参考APPENDIX B.·打开命令提示符,更改运动驱动端目录所在地址,例如:C:/ 现在运行运动驱动目录,通过在数字端口打入下列文本的命令提示符。Python 运动驱动客户端32我们在第四步获得的COM端口号32,改变在第四步接收到的COM端口号。(参考AppendixB)·应用程序应该成功运行,下面的window窗口应该出现。·运动驱动程序提供了一组可以从电脑发送的命令来执行各种任务,比如像自测,等等。下面是指令的清单,在键盘上前缀“inv”,当把它发送到个人电脑上,附有每个指令,比如指令”a”应该通过输入文本“inva”来发送,而集中的窗户应该旋转立方体。

18、·a: 切换在控制台打印加速度计值的状态;·g:切换在控制台打印陀螺仪值的状态;·q:切换在控制台打印四元数值的状态;·t:运行自测试;·f: 切换DMP;·p:读出当前计步器计数;·x:重启系统;·v:切换LP四元数;·m:测试运动中断;·1:如果DMP是开着的状态,那么它将固定DMP FIFO率到10hz. 如果DMP是关闭的状态,它将固定陀螺仪样本率到10hz;·2:如果DMP开着,那么DMP FIFO率将达到20hz;如果DMP关闭着,那么陀螺仪样本率将达到20hz;·

19、;3:分别达到40hz;·4:分别达到50hz;·5:分别达到100hz;·6:分别达到200hz;·7:重置计步器步数和行走时间至0;·8:当DMP不工作的时候,仅切换加速度计传感器;·9: 当DMP不工作的时候,仅切换陀螺仪传感器; 仅通过手势事件来重置硬件中断。这个特性用来保持MCU睡眠知道DMP探测到一个龙头或是设备方向事件是很有用的。 重置硬件来周期性地中断。8. 通过运动驱动程序获得罗盘数据如果使用InvenSense MPU-9150,带有综合的罗盘或是6轴 MPU带有辅助罗盘连接着次等的I2C公交,运动驱动程序有能力从

20、指南针上拉出原始数据。运动驱动功能用来安装指南针,同时也可用于传感器的面具。一旦被安装好,这个功能安装的指南针采样率最高为100hz.这个功能将允许从芯片中获得罗盘数据。9. 指南针集成和校准这个部分提供了总的指南和参考关于如何集成和校准指南针来实现9轴传感器熔接。运动驱动源不会覆盖或是支持任何在这个部分提到的指南针校准或是9轴传感熔接。这个部分主要谈论的是罗盘校准和总体集成以及从TI指出的参考和MEMSense提供的应用笔记和资源。磁力的测量会受地球磁场的存在和当地铁磁材料的存在的影响。考虑理想情况下,磁场部分沿着3轴磁力计应该形成一个球体,球体的原点应该在(0,0,0)。但是,这不仅仅归因

21、于外部效果的存在。如果这些外部效果是来自固定磁场,或是硬铁,那么它将会导致一个偏移量,球面的起源 (x,y,z),能够简单的进行地球字段数据校准,相似与偏见抵消校准。“软铁”的效果是来自弯曲或是扭曲的当地磁场材料的结果,这些结果将导致一个角度的精确误差。软铁的影响也应该获得正确的罗盘值。 下面的链接解释并给出了源代码罗盘校准和集成。应用笔记详细解释如何使用硬件。··10. SPI 驱动安装 InvenSense MPU依赖于产品规格通过I2C或是SPI界面传播到MCU平台。这份指南的MCU参考,MSP430F5528,包扣了USCI系统,在总体上这个系统提供了4个模块来使用

22、SPI。默认情况下,MotionFit 板没有SPI线连接到MSP430,一个单独的项目是用来测试SPI接口,如果需要的话,用户需要开发板来测试SPI驱动程序。开发板为SPI界面利用UCSI B1模块,目前SPI驱动程序配置为使用UCSI B1模块。SPI驱动程序的实现并不是一个最终版本的一部分运动驱动程序,但是提供了作为一个单独的模块图解介于MPU和MSP430之间的传播界面。可参考MSP430和MSP430-的详细内容。总之,SPI驱动装置给出了四个主要的功能。·这个功能启用了介于MSP430和MPU之间的传播界面。·这个功能执行了在MPU寄存器上写的操作以及提供了启用

23、SPI。·这个功能将禁用介于MPU和MSP430之间的传播界面。·标注:“sel”参数,这个参数在MSP430读和msp430写上提供,是不必要的,同时仅包扣在为12C读和写的功能复制原型,以便于他们可交换地使用。如果不止一个SPI设备连接,“sel”参数可用于芯片选择指针。·更多细节请参考MSP430_spi.c和MSP430_spi.h. 和包含的SPI测试工程不是运动驱动的一部分,但是分别在工程计划中分别被罗列出来了 spi_example_invensence.zip11. 附录111 附录A运动驱动程序客户端控制台应用程序被提供作为运动驱动的客户端。这个应用程序是作为Python提供的源代码。它有以下功能:1. 提供了一个简单的数据集的可视化演示传感器融合输出。2. 因为运动驱动程序客户端为Python提供的源代码,使用者将需要安装下列组件来进行python的工作环境。1. Python2.5.4: 这个运动驱动程序客户端在windows XP和Windows 7测试了Python2.5.4.从/download/

温馨提示

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

评论

0/150

提交评论