zf1995 发表于 2018-2-10 18:52

关于LSM6DSL的功耗配置问题

我做的是一个低功耗设备。然后我测试功耗时发现在睡眠模式下还有125uA左右的电流。然后我就排查原因发现是6轴LSM6DSL产生的功耗。排查方法为我将6轴取下被屏蔽6轴相关代码。发现睡眠功耗正常了只有10几uA。但是我将6轴焊接上去发现功耗又变成了125uA(没有写配置6轴的相关代码)。在我配置加速度和角速度都为POWER_DOWN任然有那个么高的功耗。 甚是不解这是为啥龙鳞好几天了。以下是我的P原理图和配置睡眠的代码,代码是用三轴的驱动改的。


void hal_acc_wakeup_int(void)
{

//        LIS3DH_WriteReg(LSM6DSL_ACC_GYRO_CTRL4_C, 0x40);       // 角速度睡眠
//        delay_ms(10);
       LIS3DH_WriteReg(LSM6DSL_ACC_GYRO_CTRL1_XL, 0x10);   //12.5Hz,量程+-2g
        delay_ms(10);
        LIS3DH_WriteReg(LSM6DSL_ACC_GYRO_CTRL2_G, 0x00);   //角速度掉电模式
        delay_ms(10);
        LIS3DH_WriteReg(LSM6DSL_ACC_GYRO_TAP_CFG1,0xE0);   //中断唤醒模式,开启高通数字滤波,中断不锁存
LIS3DH_WriteReg(LSM6DSL_ACC_GYRO_WAKE_UP_DUR, 0x40); //识别中断时间
        LIS3DH_WriteReg(LSM6DSL_ACC_GYRO_WAKE_UP_THS, 0x10);//唤醒阈值250mg
LIS3DH_WriteReg(LSM6DSL_ACC_GYRO_MD1_CFG, 0x20);    //使能唤醒中断为INT1       

        LIS3DH_WriteReg(LSM6DSL_ACC_GYRO_CTRL9_XL, 0x00);    //x,y,z轴失能
       
}

littleshrimp 发表于 2018-2-10 19:31

I2C_SDA和I2C_SCL接上拉电阻了吗

zf1995 发表于 2018-2-11 09:43

littleshrimp 发表于 2018-2-10 19:31
I2C_SDA和I2C_SCL接上拉电阻了吗

接了 在另外一个地方

littleshrimp 发表于 2018-2-14 12:50

去掉过SDx和SCx的下拉电阻没

zf1995 发表于 2018-2-22 09:31

littleshrimp 发表于 2018-2-14 12:50
去掉过SDx和SCx的下拉电阻没

这个没试过 今天试一下 但是我买的模块就是这样的。我去掉直接接地试一下

zf1995 发表于 2018-2-22 17:51

zf1995 发表于 2018-2-22 09:31
这个没试过 今天试一下 但是我买的模块就是这样的。我去掉直接接地试一下

还是一样的多了120多uA的电流

zf1995 发表于 2018-2-24 10:48

已解决 最后发现是中断我一边配置为推挽 一边是上啦 短路了 我变成下拉就好了

ssssssssss1 发表于 2024-3-19 15:03

谢谢大佬分享。。。。。。。。。。。。。。。。。。。。。。。
页: [1]
查看完整版本: 关于LSM6DSL的功耗配置问题