电路设计论坛
直播中

ben111

11年用户 2643经验值
擅长:模拟技术 嵌入式技术 MEMS/传感技术
私信 关注
[问答]

ADLX345 可否实现运动静止检测?

第一次用ADLX345这种芯片,芯片很棒,就是我没搞懂操作.手册读了几遍,还是理解欠缺.有如下问题,请解答。
  • 芯片应用:
    用ADLX345检测设备是否静止。了解到该芯片有活动/非活动检测功能。同时也具备低功耗和休眠功能。非常适合我的应用。
  • 想实现的效果:
    利用该芯片的静止检测功能,实现设备静止时,ADLX345产生中断,唤醒MCU。
  • 问题:
  • 寄存器ACT_INACT_CTL中,交流和直流的工作模式,想要实现静止检测的话,哪一种模式更合适?
  • 选定了DC/AC工作模式之后,寄存器THRESH_INACT和tiME_INACT应该设置多少合适?(1g=0x10 1s=0x01.对吧?)
  • 寄存器POWER_CTL的链接位有影响吗。设置POWER_CTL为0x08是否可以?
  • 几寄存器DATA_FORMAT的自测力设置是否有影响?设置DATA_FORMAT为0x2B是否可以?
  • 寄存器FIFO_CTL、FIFO_STATUS没有进行设置,默认值是否可以?
  • 读取的寄存器INT_SOURCE的中断源需要清零吗?怎么清除?
  • XYZ偏移量怎么设置,寄存器的值怎么计算?
  • IIC读取的XYZ的加数度值(高低位合并后的值),是否需要换算成g为单位的加速度值,换算方法是用读取的原始值/256LSB/g吗?
  • 休眠和低功耗的设置,这种设置之下寄存器的配置.
ADLX345水平放置,现在读取的XYZ的数据为7 1 248,是正常的吧. 我自己的寄存器配置如下:  I2C_Write(OFSX,0x00);   //X 偏移量 根据测试传感器的状态写入pdf29页
   I2C_Write(OFSY,0x00);   //Y 偏移量 根据测试传感器的状态写入pdf29页
   I2C_Write(OFSZ,0x00);   //Z 偏移量 根据测试传感器的状态写入pdf29页
   
   I2C_Write(THRESH_INACT,0x08);   //静止阈值 0.5g
   I2C_Write(TIME_INACT,0x01);   //静止时间 1s
   I2C_Write(ACT_INACT_CTL,0x07);   //静止检测DC耦合  
   I2C_Write(BW_RATE,0x07);   //低功率模式OFF 速率设定为6.25 参考pdf13页  
   
   I2C_Write(INT_MAP,0x00);   //使能 INT1 中断
   I2C_Write(DATA_FORMAT,0x2B);   //中断低电平有效 全分辨率 右对齐 ±16g,
   I2C_Write(POWER_CTL,0x08);   //自动休眠off 测量模式 参考pdf24页
   I2C_Write(INT_ENABLE,0x08);   //使能 inactivity 中断
谢谢!谢谢!

更多回帖

发帖
×
20
完善资料,
赚取积分