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位;