您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>电子元器件>传感器>

bma250e读出数据分析详解

2017年11月19日 15:52 网络整理 作者: 用户评论(0

  BMA250E是一款针对消费电子类应用的低重力、数字式加速度传感器,能够测量三个相互正交的方向上的加速度大小。测量值由传感器的ASIC电路,通过将采用了差动电容原理的,加速度微机械感应结构的输出值转换得到。BMA250E的封装和接口设计可以满足大多数情况下的硬件需求,极微小的引脚加上扁平的外形封装非常适合于移动平台的应用。

  BMA250E提供了1.2V到3.6V的供电电压范围,并且可以被编程以优化在特定应用中的性能和功耗。此外,该传感器还集成了中断控制器,从而使得在基于运动测量类的应用中不再需要使用微控制器。BMA250E加速度传感器能够在手机、手持设备、计算机外设、人机界面、虚拟设备和游戏控制器中检测倾斜、运动、静止和振动状态。

  是一种先进的BMA250,超小,三轴,低g加速度传感器和数字接口,针对低功耗电子消费品的应用程序。这个BMA250允许测量加速度在3个互相垂直的轴,因此感官倾斜,运动,冲击和振动在手机,手机,计算机外设,人机界面,虚拟现实的特性和游戏控制器。

  

  BMA250支持两种操作模式:

  1)流数据模式:加速数据直接读出通过传感器的数字接口和计算系统µController、应用处理器或基带处理器。

  2)中断发动机模式:加速数据计算已经在BMA250的集成,可编程中断发动机。根据可编程设置综合中断发动机BMA250的信号发生一定的通过传感器事件的两个中断pin。相应的寄存器的BMA250可以很容易地设置和读出通过数字传感器接口。

  BMA250目标应用程序及特性

  显示切换姿态(肖像/景观, 此卡/脸朝下转换) 平检测

  丝锥传感功能 菜单滚动

  游戏

  高级电源管理为移动设备 休克和自由落体检测 步骤计算

  倾斜赔偿电子罗盘

  I²C和SPI(3线/ 4电线)数字化串行接口。传感器参数,如g范围或低通滤波器的设置,也可以很容易地中断引擎设置程序通过数字接口。

  看bma250E的datasheet快一个星期了,感觉这个datasheet写的确实不怎么好,没有bma250那么完整。

  

  从工作模式上说,有六个工作模式,除了normal模式外,还有5个低功耗,但是datasheet里面只有低功耗模式的具体描述,并没有normal mode的相关介绍(其实他觉得没必要吧,所有的功能都在运转没有什么好说的)。

  关于数据采集,除了中断方式外,肯定还有数据流模式,即外部可以通过轮询的方式访问3D数据。但是呢,datasheet里还是没有介绍(这个他是不是觉得还没有必要呢?!我给你提供了中断接口了还是两个,你好好用就行了啊)。

  另外一个我不得不说的是,中断引脚,int1和int2,设置了开漏输出(open-driver)和推挽输出(push-pull)(博世想把它做成一款mcu吗?),我觉得是很没有必要的(除了我认知范围以外)。

  还有一个,就是第11引脚了,datasheet里面说了“In case the I2C interface shall be used, a direct electrical connection between Vddio supply and the PS pin is needed in order to ensure reliable protocol selection. For SPI interface mode the PS pin must be directly connected to GNDio”,那如果PS引脚悬空呢??在bma250里面,这个引脚悬空带来的是另外一种工作模式,但是在250E里面,并没有相关的说明。

  分析了一下bma250E的驱动代码,是mtk下的,使用I2C接口。我把他移植到了stm32下面,并使用SPI接口,关闭所有中断,设置了工作模式normal mode,采用轮询的方式访问数据(测试),采集到的数据没有问题。但是在其他板子上,出现了一个问题,那就是一段时间后,数据不再变化,好像数据寄存器里面的数据没有被更新。

  bma250E的初始化代码:

  View Code

  首先是SPI接口的初始化,另外软件复位,初始化设备信息,设置范围和带宽,设置数据源和读方式,设置工作模式并关闭所有中断,最后通过调用驱动里的bma250_read_accel_xyz(),得到每个方向轴的加速度数据。

  关于加速度数据的说明:

  2G:256LSB/g

  4G:128LSB/g

  8G:64LSB/g

  16G:32LSB/g

  解释:如果采用2G的范围,采集到的数据x轴方向是256的话,那么在x轴方向,其加速度是1g

非常好我支持^.^

(5) 38.5%

不好我反对

(8) 61.5%

( 发表人:龚婷 )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!