工具/软件:Linux
各位专家:
我对如何让 FG (BQ27621)进入节能模式有疑问。
当 FG 连接 至大于2.45v 的电池时,它将开始消耗电池的电流。
我们测量了90uA 与25uA 的电池耗电、移除了 FG 与 FG。
我们认为、如果我们可以让 FG 进入睡眠模式、我们可以降低电流消耗。
但如何实现这一点呢?
1) 1)我应该设置什么位??
2) 2)需要设置"有效电流"??
这是我的 BQ27621状态--
测量仪表测试
开放 I2C 总线
FW_VERSION = 0x0105
DEV_TYPE = 0x0621
CMD_EffectiveCurrent = 63964 [mA]/*有时为0369 [mA]*/
CONTRAL_STATUS = 0x0004
SUB_CMD_SET_HIBERNATE
CONTRAL_STATUS = 0x0044
SUB_CMD_CLEAR_HIBERNATE
CONTRAL_STATUS = 0x0004
数据类"状态"(0x52):
43 33 00 09 79 1C 6B 09 79 0C 80 00 C8 00 32 00
14 03 E8 01 00 C8 10 04 00 0A 10 F9 FF F3 FF F7
00 19 01 2C 12 02 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
数据类"状态"(68):
14 00 03 08 98 00
已关闭 I2C 总线
================================================================================
下面是我的测试程序流程:
printf ("openend I2C bus\n\r");
监测计_address (pHandle、监测计_DEVICE_ADDRESS);
nresult = gauge 控制(pHandle、sub_CMD_FW_VERSION);
printf (" fw_version = 0x%04X\n\r"、nresult);
nresult = gauge _control (pHandle、sub_CMD_DEV_TYPE);
printf (" dev_type = 0x%04X\n\r"、nresult");
nresult = gauge _cmd_read (pHandle、CMD_EffectiveCurrent);
printf (" CMD_EffectiveCurrent = 0x%04X %04d [mA]\n\r\n、结果、nresult);
nresult = gauge 控制(pHandle、sub_CMD_CONTRAL_STATUS);
printf (" control_status = 0x%04X\n\r"、nresult");
睡眠(2);
nresult = gauge 控制(pHandle、sub_CMD_SET_HIBERNATE);
printf (" sub_CMD_SET_HIBERNATE = 0x%04X\n\r\n、nRESULT);
///------------------
睡眠(2);
nresult = gauge 控制(pHandle、sub_CMD_CONTRAL_STATUS);
printf (" control_status = 0x%04X\n\r"、nresult");
///------------------
睡眠(2);
nresult = gauge 控制(pHandle、sub_CMD_CLEAR_HIBERNATE);
printf (" sub_CMD_CLEAR_HIBERNATE = 0x%04X\n\r\n、nRESULT);
睡眠(2);
nresult = gauge 控制(pHandle、sub_CMD_CONTRAL_STATUS);
printf (" control_status = 0x%04X\n\r"、nresult");
///------------------
睡眠(2);
//读取数据类 DC_State:
N = gauge 读取数据类(pHandle、DC_State、pData、DC_State_length);
if (n) printf ("读取数据类时出错、%d\n\r"、n);
printf ("数据类状态"(0x52):\n\n"r);
print_data (pData、DC_State_length);
//读取数据类68:
N = gauge 读取数据类(pHandle、68、pData、6);
if (n) printf ("读取数据类时出错、%d\n\r"、n);
printf ("数据类状态"(68):\n\n"r);
print_data (pData、6);
监测计_EXIT (pHandle、SOFT_RESET);
close (i2c.nI2C);
printf ("closed I2C bus\n"r);
================================================================================
谢谢
Hb