FR2012B 休眠电流只有在3.6V供电才正常的问题
-
测试demo使用的是ble_simple_peripheral这个工程,修改蓝牙广播间隔为1S,打开休眠,FR2012B Pin3[VBAT]供电电压调整为3.6V,待机电流在40uA左右,把3脚供电电压调整到3.3V,待机平均电流增加到270uA。复测只有当电压接近3.6V时,平均电流才会再次降到40多uA左右。测试电路跟官方原理图一致,PA0接10K电阻上拉到VDDIO。其他GPIO全部没有外接原件。我们产品实际是3.3V供电的,所以需要使用3.3V供电待机电流正常的设置才行。
-
-
@felix-yang 这个帖子我看了,但是不太明白。
在pmu_sub_init(void)这个函数,设置的是PMU_ALDO_3_3V,我尝试修改为PMU_ALDO_3_1V,没有改善。我想确认下这个值是要小于VBAT电压才行吗? 2.设置为bypass模式是需要改硬件吗? 哪份文档有相关说明?
-
@liu1028tao 在 FR2012B 休眠电流只有在3.6V供电才正常的问题 中说:
是PMU_ALDO_3_3V,我尝试修改为PMU_ALDO_3_1V,没有改善。我想确
attribute((section("ram_code"))) void pmu_ioldo_bypass(bool on)
{
if(on) {
ool_write(PMU_REG_IOLDO_CFG_1, ool_read(PMU_REG_IOLDO_CFG_1) | 0x20);
}
else {
ool_write(PMU_REG_IOLDO_CFG_1, ool_read(PMU_REG_IOLDO_CFG_1) & ~0x20);
}
}用这个函数,开启bypass模式,这样IOLDO就会一直等于VBAT电压了,你那个问题主要是当VBAT电压小于IOLDO就会产生一个比较大的漏电流,打开bypass模式就好