文档章节

BMA355三轴加速度传感器寄存器速查

h
 houj
发布于 2015/01/20 19:56
字数 2148
阅读 39
收藏 1

BMA355三轴加速度传感器寄存器速查


0x00 ID寄存器

0x00[7:0] ID寄存器 ==0xEA b11101011

0x02 X轴加速度数据低位寄存器

0x02[0:0] new_data_x X是或否是新数据
0x02[7:4] aac_x[3:0] X轴低4位

0x03 X轴加速度数据高位寄存器

0x03[7:0] aac_x[11:4] X轴高8位

0x04 Y轴加速度数据低位寄存器

0x04[0:0] new_data_y Y是或否是新数据
0x04[7:4] aac_y[3:0] Y轴低4位

0x05 Y轴加速度数据高位寄存器

0x05[7:0] aac_y[11:4] Y轴高8位

0x06 Z轴加速度数据低位寄存器

0x06[0:0] new_data_z Z是或否是新数据
0x06[7:4] aac_z[3:0] Z轴低4位

0x07 Z轴加速度数据高位寄存器

0x07[7:0] aac_z[11:4] Z轴高8位

0x08 温度寄存器

0x08[7:0] temp 温度,0为23摄氏度,单位0.5度

0x09 中断状态寄存器0

0x09[0] low_int low_g中断发生标记
0x09[1] high_int high_g中断发生标记
0x09[2] slope_int 斜率中断发生标记
0x09[3] slo_no_mit_int 慢/无运动中断发生标记
0x09[4] d_tap_int 双击中断发生标记
0x09[5] s_tap_int 单击中断发生标记
0x09[6] orient_int 方向中断发生标记
0x09[7] flat_int 水平中断发生标记

0x0A 中断状态寄存器1

0x0A[5] fifo_full_int FIFO缓冲区满
0x0A[6] fifo_wm_int FIFO流水号
0x0A[7] data_int 数据已经准备好

0x0B 中断状态寄存器2

0x0B[0] slope_first_x X轴先发生斜率中断
0x0B[1] slope_first_y Y轴先发生斜率中断
0x0B[2] slope_first_z Z轴先发生斜率中断
0x0B[3] slope_sign 倾斜符号
0x0B[4] tap_first_x X轴先点击
0x0B[5] tap_first_y Y轴先点击
0x0B[6] tap_first_z Z轴先点击
0x0B[7] tap_sign 点击符号

0x0C 中断状态寄存器2

0x0C[0] high_first_x X轴先高G
0x0C[1] high_first_y Y轴先高G
0x0C[2] high_first_z Z轴先高G
0x0C[3] high_sign 高G符号
0x0C[5:4] orient[1:0] 00:直立肖像
01:颠倒肖像
10:风景左
11:风景右
0x0C[6] orient[2] Z轴:
0:向上看
1:向下看
0x0C[7] flat_sign 水平符号

0x0E FIFO状态寄存器

0x0E[6:0] fifo_frame_count FIFO帧数
0x0E[7] fifo_overrun FIFO溢出

0x0F 加速度范围寄存器

0x0F[3:0] range[3:0] 加速度范围:
0011b:±2G
0101b:±4G
1000b:±8G
1100b:±16G

0x10 采样频率寄存器

0x10[4:0] bw[4:0] 采样频率:
00xxxb:7.81Hz
01000b:7.81Hz
01001b:15.63Hz
01010b:31.25Hz
01011b:62.5Hz
01100b:125.Hz
01101b:250Hz
01110b:500Hz
01111b:1000Hz
1xxxxb:1000Hz

0x11 电源模式寄存器

0x11[4:1] sleep_dur[2:0] 睡眠时间:
0000b-0101b:0.5ms
0110b:1ms
0111b:2ms
1000b:4ms
1001b:6ms
1010b:10ms
1011b:25ms
1100b:50ms
1101b:100ms
1110b:500ms
1111b:1s
0x11[7:5] power[2:0] 电源模式:
000:普通模式
001:深度睡眠
010:低功耗模式
100:暂停模式

0x12 低功耗模式寄存器

0x14 复位寄存器

写入0xB6复位

0x16 中断配置寄存器0

0x16[0] slope_en_x 检测X轴斜率
0x16[1] slope_en_y 检测Y轴斜率
0x16[2] slope_en_z 检测Z轴斜率
0x16[4] d_tap_en 检测双击
0x16[5] s_tap_en 检测单击
0x16[6] orient_en 检测方向
0x16[7] flat_en 检测水平

0x17 中断配置寄存器1

0x17[0] high_en_x 检测X轴高G
0x17[1] high_en_y 检测Y轴高G
0x17[2] high_en_z 检测Z轴高G
0x17[3] low_en 检测低G
0x17[4] data_en 检测数据已就绪
0x17[5] int_ffull_en 检测FIFO满
0x17[6] int_fwm_en 检测FIFO流水号

0x18 中断配置寄存器2

0x18[0] slo_no_mot_en_x X轴慢速/无运动中断
0x18[1] slo_no_mot_en_y Y轴慢速/无运动中断
0x18[2] slo_no_mot_en_z Z轴慢速/无运动中断
0x18[3] slo_no_mot_sel 选择:
0:慢速中断
1:无运动中断

0x19 中断重定向寄存器0

0x19[0] int1_low 低G映射到INT1脚
0x19[1] int1_high 高G映射到INT1脚
0x19[2] int1_slop 斜率映射到INT1脚
0x19[3] int1_slo_no_mot 无运动映射到INT1脚
0x19[4] int1_d_tap 双击映射到INT1脚
0x19[5] int1_s_tap 单击映射到INT1脚
0x19[6] int1_orient 方向映射到INT1脚
0x19[7] int1_flat 水平映射到INT1脚

0x1A 中断重定向寄存器1

0x19[0] int1_data 数据就绪映射到INT1脚
0x19[1] int1_fwm FIFO流水号映射到INT1脚
0x19[2] int1_ffull FIFO缓冲满映射到INT1脚
0x19[5] int2_ffull FIFO缓冲满映射到INT2脚
0x19[6] int2_fwm FIFO流水号映射到INT2脚
0x19[7] int2_data 数据就绪映射到INT2脚

0x1B 中断重定向寄存器2

0x1B[0] int2_low 低G映射到INT2脚
0x1B[1] int2_high 高G映射到INT2脚
0x1B[2] int2_slop 斜率映射到INT2脚
0x1B[3] int2_slo_no_mot 无运动映射到INT2脚
0x1B[4] int2_d_tap 双击映射到INT2脚
0x1B[5] int2_s_tap 单击映射到INT2脚
0x1B[6] int2_orient 方向映射到INT2脚
0x1B[7] int2_flat 水平映射到INT2脚

0x1E 数据源寄存器

0x1E[0] int_src_low 不过滤低G中断
0x1E[1] int_src_high 不过滤高G映中断
0x1E[2] int_src_slop 不过滤倾斜中断
0x1E[3] int_src_slo_no_mot 不过滤无运动中断
0x1E[4] int_src_d_tap 不过滤点击中断
0x1E[5] int_src_data 不过滤数据中断

0x20 中断输出控制

0x20[0] int1_lvl 0:INT1脚下降沿激活
1:INT1脚上升沿有效(默认)
0x20[1] int1_od 0:INT1脚推拉(默认)
1:INT1脚开漏
0x20[2] int2_lvl 0:INT2脚下降沿激活
1:INT2脚上升沿有效(默认)
0x20[3] int2_od 0:INT2脚推拉(默认)
1:INT2脚开漏

0x21 中断复位锁存

0x20[3:0] int_latch 中断锁存:
0000:不锁存(默认)
0001:250ms
0010:500ms
0011:1s
0100:2s
0101:4s
0110:8s
0111:锁存
1000:不锁存
1001:250us
1010:500us
1011:1ms
1100:12.5ms
1101:25ms
1110:50ms
1111:锁存

0x22 低G中断等待时间

0x22[7:0] low_dur[7:0] 低G中断等待时间=(low_dur+1)*2ms, 范围2-512ms, 默认20ms,

0x23 低G中断阈值定义寄存器

0x23[7:0] low_th[7:0] 低G中断阈值=low_th*7.81mg, 范围0-1.992mg, 默认375mg,

0x24 高低G模式选择寄存器

0x24[1:0] low_hy[1:0] 低G滞后:
low_hy*125mg
0x24[2] low_mode 0:但轴低G模式(默认)
1:多维组合组合低G模式
0x24[7:6] high_hy[1:0] 高G滞后:
high_hy*125mg(2g范围)
high_hy*250mg(4g范围)
high_hy*500mg(8g范围)
high_hy*1000mg(16G范围)

0x25 高G中断等待时间寄存器

0x25[7:0] high_dur[7:0] 高G中断等待时间=(high_dur+1)*2ms, 范围2-512ms, 默认32ms,

0x26 高G中断阈值定义寄存器

0x26[7:0] high_th[7:0] 高G中断阈值
=high_th*7.81mg(2g范围)
=high_th*15.63mg(4g范围)
=high_th*31.25mg(8g范围)
=high_th*62.5mg(16g范围)

0x27 倾斜中断采样数和慢速运动中断时间寄存器

0x27[1:0] slope_dur[1:0] 连续斜率超限次数=slope_dur+1,才会发生中断
0x27[7:2] slo_no_mot_dur[5:0] 两个可能功能:
如果slow_montion模式(slo_no_mot_sel=0):连续慢速slo_no_mot_dur[1:0]+1次才中断
如果no_montion模式(slo_no_mot_sel=1): 延迟秒数定义,slo_no_mot_dur[5:4]==00:slo_no_mot_dur[3:0]+1秒
slo_no_mot_dur[5:4]==01:slo_no_mot_dur[3:0]*4+20秒
slo_no_mot_dur[5]==1:slo_no_mot_dur[4:0]*8+88秒

0x28 运动中断阈值

0x258[7:0] motion_th[7:0] 运动中断阈值:
motion_th*3.91mg(2g范围)
motion_th*7.81mg(4g范围)
motion_th*15.63mg(8g范围)
motion_th*31.25mg(16g范围)

0x29 低速静止中断阈值

0x29[7:0] slo_no_mot_th[7:0] 阈值:
slo_no_mot_th*3.91mg(2g范围)
slo_no_mot_th*7.81mg(4g范围)
slo_no_mot_th*15.63mg(8g范围)
slo_no_mot_th*31.25mg(16g范围)

0x2A 点击中断配置0

0x2A[2:0] tap_dur[2:0] 双击检测时间窗口:
000:50ms
001:100ms
010:150ms
011:200ms
100:250ms(默认)
101:375ms
110:500ms
111:700ms
0x2A[6] tap_shock 点击休克时长:
0:50ms(默认)
1:75ms
0x2A[7] tap_quiet 点击安静时长:
0:30ms(默认)
1:20ms

0x2B 点击中断配置1

0x2B[4:0] tap_th[4:0] 点击阈值(默认6):
tap_th*62.5mg(2g范围)
tap_th*125mg(4g范围)
tap_th*250mg(8g范围)
tap_th*500mg(16g范围)
0x2A[7:6] tap_samp[1:0] 点击采样数:
00:2个(默认)
01:4个
10:8个
11:16个

0x3E FIFO配置0

0x3E[1:0] fifo_data_sel[1:0] 选择数据:
00:X+Y+Z
01:只有X
10:只有Y
11:只有Z
0x3E[7:6] fifo_mode 模式:
00:BYPASS:只能缓存一帧
老数据丢弃(默认)
01:FIFO:数据慢了32帧就停止收集数据
10:STREAM:缓存满了的时候继续获取数据,老数据丢弃

0x3F FIFO数据读取寄存器

数据顺序是:
如果是X+Y+Z模式: X[0]低8位,X[0]高8位, Y[0]低8位,Y[0]高8位, Z[0]低8位,Z[0]高8位, X[1]低8位,X[1]高8位;
如果是只有Z模式: X[0]低8位,X[0]高8位, X[1]低8位,X[1]高8位;

© 著作权归作者所有

h
粉丝 9
博文 81
码字总数 57985
作品 0
长沙
技术主管
私信 提问
MPU6050开发 -- 基本概念简介

上一篇文章简单的介绍了 MPU6050,里面有好多概念不明白,3轴、6轴、9轴、加速度计、磁力针、DMP等等。 都是什么玩意。。。啊!!这道题我不会做,太难了! 带着这些问题,继续看芯片手册。 ...

qq_29350001
2017/11/22
0
0
Android操作系统11种传感器介绍

在Android2.3 gingerbread系统中,google提供了11种传感器供应用层使用。 我们依次看看这十一种传感器 1 加速度传感器 加速度传感器又叫G-sensor,返回x、y、z三轴的加速度数值。 该数值包含...

无鸯
2011/09/25
49K
21
三轴加速度传感器BMA250解读

BMA250凭借其超小的封装,低功耗越来越多的产品在这个芯片作为辅助,比如GPS定位时防止静止时定位信息漂移,可以借助其判断物体是静止还是运动。还有实现计步功能、角度测试等……………… ...

qq_21229715
2017/03/24
0
0
哈,写个mpu6050驱动经验

要玩加速度了,结果发现,加速度测量一坨shit。自检纠偏后,在z轴上,重力只有0.83个G,相反,如果将传感器转90度,让重力到y轴或x轴上,都是能呈现1个G。于是,上了invensense的官网,发现有...

中山野鬼
2015/11/12
2K
9
Android系统中传感器相关的简介

大多数主流的android手机都有内置的传感器,可以用来测方向,位置,环境。通常精确度都很高,应用的领域也自然很广泛。例如重力传感器,很多的游戏都需要靠它来操作,通过检测重力系统的变化...

长平狐
2013/04/25
140
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊nacos的notifyConfigInfo

序 本文主要研究一下nacos的notifyConfigInfo CommunicationController nacos-1.1.3/config/src/main/java/com/alibaba/nacos/config/server/controller/CommunicationController.java @Cont......

go4it
昨天
4
0
队列-顺序(c/c++实现)

队列是在线性表功能稍作一改形成的,在生活中排队是不能插队的吧,先排队先得到对待,慢来得排在最后面,这样来就形成了”先进先出“的队列。 队列(顺序)实现的三个步骤: 定义所需的功能(...

白客C
昨天
5
0
安装tomcat部署网站/nginx代理tomcat/tomcat部署多个网站

来源:https://blog.csdn.net/Powerful_Fy 安装jdk: Oracle官方下载 https://www.oracle.com/technetwork/java/javase/downloads/index.html yum安装openjdk: 1.查找可使用的jdk包: [roo......

asnfuy
昨天
4
0
Linux 安装 Android studio

官网下载linux 版本 android xxxxx-xxxx.tar.gz 然后 找到它 解压缩 得到 android-studio文件夹 执行 [root@monkey java]# mv ./android-studio /opt [root@monkey java]# cd /opt/android-s......

MrLins
昨天
6
0
VMware vSphere虚拟机的迁移

VMware vSphere 6.7下,虚拟机的迁移按照移动的内容,可以分为4种: 1)冷迁移(cold migration) 2)热迁移(vMotion) 3)存储热迁移(storage vMotion) 4)完全热迁移(shared-nothing ...

大别阿郎
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部