STM32开发 -- MMA8452Q 手册阅读

仅供个人学习!!
参看:MMA8452Q datasheet

MMA8452Q是一款智能低功耗三轴电容式微机械系统,具有12位分辨率的加速计。MMA8452Q具有用户可选的满量程±2g /±4g /±8g高通过滤后的数据以及实时可用的未过滤数据。 该设备可以 配置成从任何组合产生惯性唤醒中断信号,可配置的嵌入式功能允许MMA8452Q监控事件,并在闲置期间保持低功耗模式。

特征:

•1.95 V至3.6 V电源电压
•1.6 V至3.6 V接口电压
•±2g /±4g /±8g可全面动态选择
•从1.56 Hz到800 Hz的输出数据速率(ODR)
•99μg/√Hz噪音
•12位和8位数字输出
•I2C数字输出接口(运行至2.25 MHz,4.7kΩ上拉)
•2个可编程中断引脚,用于6个中断源
•3个嵌入式运动检测通道 - 自由落体或运动检测:1个通道 - 脉冲检测:1个通道 - 颠簸检测:1个频道
•设置滞后检测方向(纵向/横向)
•自动唤醒的自动ODR更改并返回睡眠
•高通滤波器数据实时可用 • 自我测试
•符合RoHS标准 •电流消耗:6μA - 165μ

引脚定义:

表1.引脚说明
Pin# 引脚名称    描述              引脚状态
1    VDDIO     内部电源(1.62 V - 3.6 V)    输入
2    BYP      旁路电容(0.1μF)        输入
3    NC       保持开放。不要连接。      打开
4    SCL      I 2 C串行时钟         开漏
5    GND     连接到地面           输入
6    SDA      I 2 C串行数据         开漏
7    SA0      I 2 C设备I 2 C地址的最低有效位  输入
8    NC      内部未连接(可以是GND或VDD) 输入
9    INT2      惯性中断2            输出
10   GND      连接到地面            输入
11   INT1      惯性中断1            输出
12   GND      连接到地面            输入
13   NC       内部未连接(可以是GND或VDD)  输入
14   VDD      电源(1.95 V - 3.6 V)       输入
15   NC       内部未连接(可以是GND或VDD)  输入
16   NC       内部未连接(可以是GND或VDD)  输入

器件电源通过VDD线供电。电源去耦电容器(100 nF陶瓷加上4.7μF容量,或单个4.7μF陶瓷)应尽可能靠近器件的引脚1和14放置。 控制信号SCL,SDA和SA0不能耐受高于VDDIO + 0.3 V的电压。如果VDDIO被移除,则控制信号SCL,SDA和SA0将利用其内部ESD保护二极管来钳位任何逻辑信号。两个中断引脚(INT1和INT2)的功能,阈值和时序可通过I 2 C 进行用户编程接口。 SDA和SCL I 2 C连接是漏极开路的,因此需要使用上拉电阻。

参看:S5PV210开发 – I2C 你知道多少?(三)

机械和电气规格

这里写图片描述

I2C接口特性

这里写图片描述

操作模式

这里写图片描述

操作模式说明

这里写图片描述

功能

MMA8452Q是一款低功耗数字输出3轴线性加速度计,具有I2C接口和嵌入式逻辑,可用于检测事件并通过中断线路通知外部微处理器。该功能包括以下内容:
•包含高通滤波数据的8位或12位数据
•4种不同的过采样选项,可根据应用在分辨率和电流消耗之间进行折衷 要求
•额外的低噪声模式,独立于过采样模式运行,以获得更高的分辨率
•低功耗和自动唤醒/休眠功能可节省电流消耗
•单/双击带方向信息1个频道
•具有方向信息或自由落体1频道的动态侦测
•基于高通滤波器和可检测上述加速度变化的可设置阈值的瞬态/突波检测 具有方向性信息1个通道的阈值
•纵向/横向检测,跳动点固定在30°和60°,以实现方向之间的平滑过渡。 所有功能都有2g,4g或8g动态范围。有许多配置设置可以启用所有不同的配置 功能。 已经提供了单独的应用笔记来帮助为每个嵌入式功能配置设备。

8位或12位数据

测得的加速度数据存储在OUT_X_MSB,OUT_X_LSB,OUT_Y_MSB,OUT_Y_LSB,OUT_Z_MSB和 OUT_Z_LSB寄存器为2的补码12位数字。每个轴的最重要的8位存储在OUT_X(Y, Z)_MSB,因此只需要8位结果的应用程序就可以使用这3个寄存器并忽略OUT_X,Y和Z_LSB。要做到这一点, 必须设置CTRL_REG1中的F_READ位。当F_READ位被清除时,快速读取模式被禁止。 当满量程设置为2g时,测量范围为-2g至+ 1.999g,每个计数对应1g / 1024 (1 mg),分辨率为12位。
当满量程设定为8g时,测量范围为-8g至+ 7.996g,并且每个计数 对应于12位分辨率下的1g / 256(3.9mg)。如果仅使用8位结果,分辨率会降低16倍。

低功耗模式与高分辨率模式

MMA8452Q可针对低功耗模式或输出数据的更高分辨率进行优化。高分辨率是 通过将寄存器0x2A中的LNOISE位置1来实现。这提高了分辨率,但请注意动态范围有限 当此位被设置时为4g。这将影响所有内部功能并降低噪音。另一种提高分辨率的方法 数据是通过过采样。当寄存器0x2B中的MODS = 10时,可以激活数据的其中一个过采样方案 这将仅改善输出数据的分辨率。最高分辨率达到1.56 Hz。 在低功耗和高分辨率之间进行权衡。过采样率可以实现低功耗 降低。 当MODS = 11时,实现最低功率。当采样率设置为1.56 Hz时,功耗最低。

自动唤醒/休眠模式

MMA8452Q可以配置为根据采样率(以及各自的电流消耗)进行转换该设备的四个中断功能。使用Auto-WAKE / SLEEP的优点是系统可以自动执行在需要时转换到更高的采样率(更高的电流消耗),但大部分时间都用于SLEEP 模式(较低的电流),当设备不需要更高的采样率。自动唤醒指的是被触发的设备 其中一个中断功能可以转换到更高的采样率。这也可能会中断处理器从睡眠状态转换模式转换到更高功率模式。在加速计未检测到中断的时间超过用户可定义的超时时间之后发生SLEEP模式。器件将转换到指定的较低采样率。它也可能提醒处理器进入低功耗模式进行保存 在这段时间不活动的时候。 可以将设备从睡眠状态唤醒的中断如下:点击检测,方向检测,运动/自由落体, 和瞬态检测。

自由落体和运动检测

MMA8452Q具有灵活的中断架构,用于检测自由落体或运动。可以在设置的地方启用自由落体阈值必须小于配置的阈值,或者在设置的阈值必须大于阈值的位置启用运动 门槛。运动配置可以选择启用或禁用高通滤波器以消除倾斜数据(静态偏移)。 自由落体不使用高通滤波器。

自由落体检测

“自由落体”的检测涉及监视加速度幅度情况下的X,Y和Z轴是下面的时间用户可定义的量的用户指定的阈值。通常可用的阈值范围介于两者之间±100毫克和±500毫克。

运动检测

运动通常用于简单地向主处理器通知设备当前正在使用中。当加速度超过a时运动中断置位的阈值。运动可以是快速移动的摇动或缓慢移动的倾斜。这将取决于为事件配置的阈值和定时值。运动检测功能可以分析静态加速度变化或 更快的颠簸。例如,要检测一个物体正在旋转,所有三个轴将启用阈值检测> 2g。 这种情况需要至少发生100毫秒,以确保事件不仅仅是噪音。定时值已设置 由一个可配置的去抖计数器。去抖动计数器就像一个过滤器,以确定条件是否存在 可配置的一组时间(即100 ms或更长)。源寄存器中还有定向数据可供检测 议案的方向。这对于诸如方向摇晃或轻弹等应用很有用,它可以帮助各种算法 手势检测。

瞬态检测

MMA8452Q具有内置的高通滤波器。加速度数据通过高通滤波器,消除偏移(DC) 和低频率。高通滤波器的截止频率可由用户设置为四个不同的频率 取决于输出数据速率(ODR)。较高的截止频率可确保直流数据或较慢移动的数据将被过滤只允许更高的频率通过。嵌入式瞬态检测功能使用高通滤波数据 允许用户设置阈值和去抖动计数器。瞬态检测功能可以以相同的方式使用作为绕过高通滤波器的运动检测。在配置寄存器中有一个选项可以执行此操作。这增加了更灵活地覆盖各种客户使用案例。许多应用程序使用加速度计的静态加速度读数(即倾斜度)来测量加速度的变化 仅因重力。这些功能受益于加速度数据在高频数据处于低通滤波器的情况下进行滤波 考虑噪音。但是,加速度计必须分析动态加速度的功能很多。功能 如轻击,轻弹,摇动和步数计算都是基于对加速度变化的分析。解释起来更简单 这些功能取决于静态部件被移除时的动态加速度数据。瞬态检测 功能可以通过CTRL_REG5寄存器(0x2E)中的bit 5路由至中断引脚。寄存器0x1D - 0x20是 专用瞬态检测配置寄存器。源寄存器包含方向数据以确定方向 加速度,无论是正面还是负面。有关嵌入式瞬态检测功能的优点的详细信息 具体的应用实例和推荐的配置设置,请参考飞思卡尔应用笔记AN4071。

点击检测

MMA8452Q具有嵌入式单/双向定向分接检测功能。该功能具有各种定制定时器 设置脉冲之间的脉冲时间宽度和等待时间。所有三个轴都有可编程的阈值。水龙头 检测可以配置为通过高通滤波器并通过低通滤波器,从而提供更多定制 和可调节抽头检测方案。状态寄存器提供事件被检测到的轴的更新 水龙头的方向。有关如何配置设备进行抽头检测的更多信息,请参阅飞思卡尔应用程序 注意AN4072。

方向检测

MMA8452Q具有方向检测算法,能够检测所有6个方向。从肖像的过渡 景观是固定的45°的阈值角度和±14°的滞后角度。这允许从肖像平滑过渡以大约30°进行景观,然后从大约60°的景观到人像。 设备不再检测到方向改变的角度被称为“Z锁定角度”。装置 从平坦位置向下运行29°。所有角度精确到±2°。
这里写图片描述

中断寄存器配置

MMA8452Q中有6个可配置中断:数据就绪,运动/自由落体,点击(脉冲),方向,瞬态和自动SLEEP事件。这六个中断源可以被路由到两个中断引脚之一。中断源必须启用并进行配置。如果事件标志因检测到事件条件而被置位,则相应的中断引脚INT1或 INT2,将会断言。
这里写图片描述

串行I2C接口

参看:S5PV210开发 – I2C 你知道多少?(一)
加速度数据可通过I 2 C接口访问,从而使设备特别适合直接连接用微控制器
MMA8452Q具有一个中断信号,用于指示何时测量一组新的加速度 数据可用,从而简化了使用该设备的数字系统中的数据同步。MMA8452Q也可能是 配置为相应于用于运动的设备的可编程嵌入式功能生成其他中断信号, 自由落体,瞬态,方向和点击。 嵌入MMA8452Q内部的寄存器可以通过I 2 C串行接口访问。启用I 2 C接口,VDDIO线必须连接到高电平(即接口电源电压)。如果VDD不存在且VDDIO存在, MMA8452Q处于关闭模式,I 2 C接口上的通信将被忽略。I 2 C接口可用于其他I 2 C设备与MMA8452Q 之间的通信不会影响I 2 C总线。
这里写图片描述
有两个信号与I 2 C总线相关联 ; 串行时钟线(SCL)和串行数据线(SDA)。后者是一个双向线用于向/从接口发送和接收数据。连接到VDDIO的外部上拉电阻是预计SDA和SCL。当总线空闲时,两条线路都很高。I 2 C接口符合快速模式(400 kHz),和正常模式(100 kHz)I 2 C标准。

I2C操作

I2C时序图不讲了,参看:S5PV210开发 – I2C 你知道多少?(一)

设备地址:
MMA8452Q的标准从地址是两个连续地址0011100和0011101之间的选择,分别通过SA0(引脚7)输入的高和低逻辑电平进行选择。从地址是工厂模式可根据客户要求提供编程地址和备用地址。
这里写图片描述
读地址/写地址
这里写图片描述

数据寄存器

0x00 STATUS: 数据状态寄存器(只读)

这里写图片描述
这里写图片描述

只要在完成前一组检索之前生成新的加速度数据,就会设置ZYXOW。这个事件当至少一个加速度数据寄存器(即OUT_X,OUT_Y,OUT_Z)的内容被覆盖时发生。ZYXOW 在所有活动通道的加速度数据(OUT_X_MSB,OUT_Y_MSB,OUT_Z_MSB)的高字节为读。
只要在检索前一个采样之前生成与Z轴有关的新加速度采样,就会设置ZOW。发生这种情况时,先前的样本将被覆盖。随时读取OUT_Z_MSB寄存器,ZOW被清零。
只要在检索前一个样本之前生成与Y轴相关的新加速度采样,就会设置YOW。发生这种情况时,先前的样本将被覆盖。在读取OUT_Y_MSB寄存器时,YOW被清除。
只要在检索前一个样本之前生成与X轴相关的新加速度采样,就会设置XOW。发生这种情况时,先前的样本将被覆盖。在读取OUT_X_MSB寄存器时,XOW被清零。
ZYXDR表示可以使用任何启用通道的新样本。 ZYXDR在高字节时清零,读取所有使能通道的加速度数据(OUT_X_MSB,OUT_Y_MSB,OUT_Z_MSB)。
每当产生与Z轴有关的新加速度采样时,就设置ZDR。任何时候,OUT_Z_MSB寄存器都会清零ZDR 被阅读。
只要产生与Y轴有关的新加速度采样,YDR就会置位。YDR随时被清零OUT_Y_MSB寄存器被阅读。
每当产生与X轴相关的新加速度采样时,就设置XDR。任何时候OUT_X_MSB寄存器都会清零XDR 被阅读

0x01 OUT_X_MSB, 0x02 OUT_X_LSB

0x03 OUT_Y_MSB, 0x04 OUT_Y_LSB

0x05 OUT_Z_MSB, 0x06 OUT_Z_LSB (重点)

这些寄存器包含以2的补码表示的X轴,Y轴和Z轴12位输出采样数据。 该采样数据输出寄存器存储当前采样数据。
这里写图片描述
OUT_X_MSB,OUT_X_LSB,OUT_Y_MSB,OUT_Y_LSB,OUT_Z_MSB和OUT_Z_LSB 被存储在自动恢复模块中, 将地址范围0x01增加到0x06以减少将12位轴数据读取到7字节的状态。如果 F_READ 位置1(0x2A位1),自动增量将跳过LSB寄存器。这将缩短从数据采集 7个字节到4个字节。LSB寄存器只能在相应MSB寄存器的读访问后立即读取。 对LSB寄存器的随机读访问是不可能的。依次读取MSB寄存器和LSB寄存器确保两个字节(LSB和MSB)属于同一个数据样本,即使新数据样本在读取之间到达也是如此 MSB和LSB字节。

0x0B: SYSMOD 系统模式寄存器

系统模式寄存器指示当前的设备操作模式。使用Auto-SLEEP / WAKE机制的应用程序 应该使用该寄存器将应用程序与设备操作模式转换同步。
这里写图片描述
这里写图片描述

0x0C:INT_SOURCE 系统中断状态寄存器

在中断源寄存器中,可以确定各种嵌入式功能的状态。被设置的位(逻辑’1’) 指示哪个函数已经声明了一个中断,相反地被清零的位(逻辑’0’)指示哪个函数具有没有断言或已经解除中断。 这些位由低到高转换设置,并通过读取来清除适当的中断源寄存器。通过读取X,Y和Z数据来清除SRC_DRDY位。它不是简单地清除读状态寄存器(0x00)。
这里写图片描述
这里写图片描述

0x0D:WHO_AM_I 设备ID寄存器 (重点)

器件识别寄存器标识器件。默认值是0x2A。该值是工厂编程的。咨询工厂自定义替代值。
这里写图片描述

0x0E:XYZ_DATA_CFG 寄存器 (重点)

XYZ_DATA_CFG 寄存器设置动态范围并设置输出数据的高通滤波器。当HPF_OUT 位被设置。当该位置1时,数据寄存器0x01-0x06将包含高通滤波数据。
这里写图片描述
这里写图片描述

0x0F:HP_FILTER_CUTOFF 高通滤波器寄存器

该寄存器设置用于消除偏移的高通滤波器截止频率和较慢的改变加速度数据。 该 当寄存器0x0E的第4位(HPF_OUT)置位时,该滤波器的输出由数据寄存器(0x01-0x06)表示。过滤器截止 选项会根据所选的数据速率进行更改。
这里写图片描述
这里写图片描述
这里写图片描述

0x10:PL_STATUS 纵向/横向状态寄存器

通过读取位7或具体信息,可以读取状态寄存器以获取有关方向的任何更改的更新信息 通过读取其他位的方向。为了进一步了解肖像向上,向下肖像,左侧风景,风景 右后,前后方向请参考 图3 。读取PL_STATUS寄存器时,中断被清除.
这里写图片描述
这里写图片描述
1.默认上电状态为BAFRO = 0,LAPO = 0,LO = 0。
在STANDBY到ACTIVE转换后的第一个方向检测之后,NEWLP被设置为1,并且每当LO, BAFRO或LAPO发生。在读取PL_STATUS寄存器时,NEWLP位被清零。方向机制状态改变 限制在最大1.25g。NEWLP设置后,LAPO BAFRO和LO会继续更改。当前位置被锁定 在三个轴中的任何一个轴上所经历的加速度的绝对值大于1.25g。

0x11 纵向/横向配置寄存器

这里写图片描述
这里写图片描述

0x12 纵向/横向去抖计数器

该寄存器设置定向状态转换的去抖计数。最小的去抖动延迟由 数据速率由所选系统ODR和PL_COUNT寄存器的乘积设置。从WAKE到SLEEP的任何转换或副作用 通用会重置内部风景/人像去抖动计数器。 注意:去抖计数器加权(时间步长)会改变基于ODR和Oversampling模式。 表22解释了所有采样率和所有过采样的时间步长值 模式。
这里写图片描述

0x13:PL_BF_ZCOMP 后退/前置和Z补偿寄存器

Z锁角度补偿设置为29°。回到前面的跳闸角度设置为±75°。
这里写图片描述

0x14:P_L_THS_REG 纵向/横向阈值和滞后寄存器

该寄存器表示纵向到横向行程阈值。
这里写图片描述

运动和自由落体嵌入式功能寄存器
自由落体/运动功能可以通过 OAE配置位(0x15)以自由落体或移动检测模式进行配置位6)。通过将所有三位ZEFE,YEFE和XEFE设置为零,可以禁用自由下落/移动检测块。 根据寄存器位 ELE(0x15位7)和OAE(0x15位6),每个自由落体和运动检测块都可以以四种不同的模式运行:
模式1:ELE = 0,OAE = 0的自由落体检测
在此模式下, EA位(0x16位7)指示防抖计数器完成后的自由落体事件。ZEFE,YEFE和XEFE控制位确定哪些轴被考虑用于自由落体检测。一旦EA位被置位,并且DBCNTM = 0, 只有在FF_MT_COUNT指定的延迟后,EA位才能清零。这是因为计数器处于递减模式。 如果 DBCNTM = 1,一旦自由落体状态消失,EA位就会被清除,并且在延迟之前不会再被置位 由FF_MT_COUNT指定已通过。读取FF_MT_SRC寄存器不会清除EA位。事件标志(0x16) ZHE,ZHP,YHE,YHP,XHE和XHP反映了运动检测状态(即高g事件),没有任何反弹,只要 相应的位ZEFE,YEFE和/或XEFE被设置。
模式2:ELE = 1,OAE = 0的自由落体检测
在此模式下, EA事件位指示防抖计数器之后的自由落体事件。一旦反弹计数器达到设置阈值的实时值时,EA位将被置1,并保持置1直到读取FF_MT_SRC寄存器。当FF_MT_SRC 寄存器被读取,EA位和去抖动计数器被清除,并且只有在指定的延迟后才能产生新的事件 由FF_MT_CNT。ZEFE,YEFE和XEFE控制位确定哪些轴被考虑用于自由落体检测。 而 EA = 0时,事件标志ZHE,ZHP,YHE,YHP,XHE和XHP反映了运动检测状态(即高g事件) 只要设置了相应的位ZEFE,YEFE和/或XEFE即可。事件标志着ZHE,ZHP,YHE,YHP,XHE, 和XHP在EA事件位置位时锁存。ZHE,ZHP,YHE,YHP,XHE和XHP事件标志只会开始变化 在读取FF_MT_SRC寄存器之后。
模式3:运动检测,ELE = 0,OAE = 1
在此模式下, 达到去抖动计数器时间后,EA位指示运动事件。ZEFE,YEFE和XEFE控制位确定运动检测考虑了哪些轴。一旦 EA位置1,并且DBCNTM = 0,EA位只有在FF_MT_COUNT指定的延迟后才能清除。如果DBCNTM = 1, EA位立即清零运动高g状态消失。事件标志ZHE,ZHP,YHE,YHP,XHE和XHP反映移动检测状态 (即高g事件),只要设置了相应的ZEFE,YEFE和/或XEFE位即可。阅读 FF_MT_SRC不清除任何标志,也不清除去抖计数器。
模式4:ELE = 1,OAE = 1时的运动检测
在这种模式下,EA位表示去抖后的运动事件。ZEFE,YEFE和XEFE控制位决定哪一个 轴被考虑用于运动检测。一旦反跳计数器达到阈值,EA位被置位,并且 保持置1直到读取FF_MT_SRC寄存器。当读取FF_MT_SRC寄存器时,所有的寄存器位都被清零,并且 去抖动计数器清零,并且只有在FF_MT_CNT指定的延迟后才能生成新事件。虽然有点 EA为零,事件标志ZHE,ZHP,YHE,YHP,XHE和XHP反映运动检测状态(即高g事件),而无 如果设置了相应的位ZEFE,YEFE和/或XEFE,则可以进行任何去抖动。当EA位置位时,这些位保持不变 它们的当前值,直到读取到FF_MT_SRC寄存器。

0x15 FF_MT_CFG 自由落体/运动配置寄存器(重点)

这里写图片描述
OAE位允许在Motion(逻辑或组合)和Freefall(逻辑与组合)检测之间进行选择。ELE表示启用的事件标志是将要锁存在FF_MT_SRC寄存器还是事件标志状态中FF_MT_SRC将指示事件的实时状态。如果ELE位被设置为逻辑’1’,那么当事件标志被冻结时 EA位置1,并通过读取FF_MT_SRC源寄存器清零。 在X,Y,Z通道上测量的加速度数据时,ZHFE,YEFE,XEFE可以检测运动或自由落体事件超出了FF_MT_THS寄存器中设置的阈值。如果ELE位在FF_MT_CFG寄存器的新事件标志中设置为逻辑’1’ 被阻止更新FF_MT_SRC寄存器。 FF_MT_THS是用于检测自由落体运动事件的阈值寄存器。未签名的7位FF_MT_THS阈值寄存器在X和Y和Z加速度值的大小低于或等于的情况下,保持自由落体检测的阈值 阈值。相反, FF_MT_THS也保持运动检测的阈值,X或Y或Z加速度值高于阈值。
这里写图片描述

0x16 FF_MT_SRC 自由落体/运动源寄存器

这里写图片描述
这里写图片描述
该寄存器跟踪正在触发的加速事件(或已经触发,在FF_MT_CFG中的ELE位的情况下 寄存器被设置为1)事件标志。特别是当加速事件的逻辑组合时,EA被设置为逻辑’1’ 在FF_MT_CFG寄存器中指定的标志为真。该位与INT_EN_FF_MT和中的值组合使用 INT_CFG_FF_MT寄存器位来产生自由下落/运动中断。
当X或Y或Z通道的加速度值高于预设的阈值时,X,Y或Z运动成立 在FF_MT_THS寄存器中定义。
相反,当X,Y和Z通道的加速度值低于或等于时,X,Y和Z低位事件成立 到FF_MT_THS寄存器中定义的预设阈值。

0x17:FF_MT_THS 自由落体和运动阈值寄存器(重点)

这里写图片描述
阈值分辨率为0.063g / LSB,阈值寄存器的范围为0至127个计数。最大范围是 8克。请注意,即使全刻度值设置为2g或4g,动作也会检测到8g。如果低噪声位在寄存器中设置 0x2A,那么无论满量程范围如何,最大阈值都将限制为4g。
当感兴趣的惯性事件暂时不是时,DBCNTM位配置反跳计数器复位的方式 真正。 当DBCNTM位为逻辑’1’时,每当感兴趣的惯性事件不再为真时,去抖计数器清零 .图所示 图14(b)。
当DBCNTM位被设置为逻辑’0’时,反跳计数器每当减1时就减1感兴趣的惯性事件不再是真实的( 图14(c)),直到去抖计数器达到0或感兴趣的惯性事件变得活跃。 减少反弹计数器的作用是使系统能够过滤掉不规则的虚假事件 阻碍了惯性事件的检测。

0x18 FF_MT_COUNT 去抖寄存器(重点)

该寄存器设置事件触发器的反跳采样计数的数量.
这里写图片描述
该寄存器设置连续匹配检测条件用户的去抖动采样计数的最小数量 选择自由落体,动作事件。
当内部去抖动计数器达到FF_MT_COUNT值时,将设置自由落体/运动事件标志。反弹 计数器永远不会超过FF_MT_COUNT值。用于去抖样本计数的时间步取决于 ODR选择和过采样模式,如 表30所示 .
这里写图片描述

0x1D:Transient_CFG 寄存器

瞬态检测机制可以配置为在高通滤波的幅度时产生中断 加速度阈值被超过。TRANSIENT_CFG寄存器用于使能瞬态中断的产生 机构用于加速度的3个轴(X,Y,Z)。还有一个选项可以绕过高通滤波器。高传时 滤波器被旁路,该功能的行为类似于运动检测.
这里写图片描述

0x1E TRANSIENT_SRC 寄存器

瞬态源寄存器提供使能轴的状态和极性(方向)信息。当这个 读取寄存器会清除瞬态检测的中断。EA = 1时新的事件到达时,附加* TRANSE位 可能被设置,并且相应的* _Trans_Pol标志被更新。然而在之前没有 TRANSE位可能被清除 读取TRANSIENT_SRC寄存器。
这里写图片描述

0x1F TRANSIENT_THS 寄存器

瞬态阈值寄存器设置检测瞬态加速度的阈值极限。中的值 TRANSIENT_THS寄存器对应于与高通滤波数据值相比较的ag值。如果高 通过已过滤的加速度值超过了事件标志提升的阈值限制,如果启用则产生中断.
这里写图片描述
阈值THS [6:0]是一个7位无符号数,0.063g / LSB。最小阈值分辨率取决于 选定的加速度范围,并且阈值寄存器的范围为1至127.因此,最小阈值分辨率为 0.063克/ LSB。最大阈值是8g。即使该部分设置为2g或4g的满量程,该功能仍将运行至8g。 如果低噪声位在寄存器0x2A中设置,则要达到的最大阈值为4g.

0x20 TRANSIENT_COUNT

TRANSIENT_COUNT设置连续匹配条件的防反跳计数的最小数量 高通滤波数据的无符号值大于用户指定的TRANSIENT_THS值
这里写图片描述

0x21:PULSE_CFG 脉冲配置寄存器

该寄存器配置用于启用/禁用单脉冲和双脉冲检测的分接检测的事件标志 在每个轴上
这里写图片描述

0x22:PULSE_SRC脉冲源寄存器

该寄存器表示发生了双脉冲或单脉冲事件以及哪个方向。相应的轴和事件 必须在寄存器0x21中使能该事件才能在源寄存器中看到.
这里写图片描述

0x23 - 0x25:X,Y和Z寄存器的PULSE_THSX,Y,Z脉冲阈值

脉冲阈值可以分别针对X,Y和Z轴进行设置。PULSE_THSX,PULSE_THSY和PULSE_THSZ 寄存器定义了系统用来启动脉冲检测程序的阈值。
这里写图片描述

0x24 PULSE_THSY寄存器(读/写)

这里写图片描述

0x25 PULSE_THSZ寄存器(读/写)

这里写图片描述

0x26:PULSE_TMLT脉冲时间窗口1寄存器

这里写图片描述
这里写图片描述

0x27:PULSE_LTCY脉冲延迟定时器寄存器

这里写图片描述

0x28 PULSE_WIND寄存器(读/写)

这里写图片描述

自动唤醒/睡眠检测

ASLP_COUNT寄存器设置从该值更改当前ODR值所需的不活动的最小时间段 在指定的 DR [2:0]寄存器ASLP_RATE寄存器值,所提供的SLPE位在设置为逻辑“1” CTRL_REG2 寄存器。 看到 表45列出了为了触发“返回睡眠”事件而可能被监控的不活动功能块.

0x29 ASLP_COUNT寄存器(读/写)

这里写图片描述
为了唤醒器件,必须在CTRL_REG4中启用所需的一个或多个功能,并将其设置为WAKE至SLEEP CTRL_REG3。所有使能的功能在睡眠模式下仍然会在睡眠模式下运行。只有已经有的功能 选择从睡眠状态 唤醒将唤醒设备。MMA8452Q具有4个功能,可用于保持传感器不会入睡,即瞬态,方向,点击和 运动/ FF。可以启用一个或多个这些功能。为了唤醒设备,提供了4个功能,即, 瞬态,方向,水龙头和动作/自由落体。自动唤醒/休眠中断不影响WAKE / SLEEP,也不会影响WAKE / SLEEP 数据就绪中断。请参见寄存器0x2C以了解来自睡眠位的WAKE。 如果禁止自动睡眠位,则器件只能在待机和唤醒模式之间切换。如果自动休眠 中断使能,从ACTIVE模式转换到自动SLEEP模式,反之亦然产生中断。

控制寄存器

注意:除STANDBY模式选择外,设备必须处于STANDBY模式以更改其中的任何字段CTRL_REG1(0X2A)。

0x2A:CTRL_REG1系统控制1寄存器(重点)

这里写图片描述
这里写图片描述

0x2B:CTRL_REG2系统控制2寄存器(重点)

这里写图片描述

0x2C:CTRL_REG3中断控制寄存器(重点)

这里写图片描述

0x2D:CTRL_REG4寄存器(读/写)(重点)

这里写图片描述

0x2E CTRL_REG5寄存器(读/写)(重点)

这里写图片描述

用户偏移校正寄存器

有关如何校准0g偏移量的更多信息,请参阅AN4069使用MMA8452Q的偏移校准。2的 补偿偏移校正寄存器值用于在设备板之后重新对齐X,Y和Z轴的Zero-g位置 安装。 偏移寄存器的分辨率是每个LSB 2毫克。2的补码8位值会导致偏移量 补偿范围±256毫克。

0x2F:OFF_X偏移校正X寄存器

这里写图片描述

0x30:OFF_Y偏移修正Y寄存器

这里写图片描述

0x31:OFF_Z偏移校正Z寄存器

这里写图片描述

加速度计输出数据

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_29350001/article/details/79799713