工具/软件:Linux
各位专家:
我尝试根据 TI 电量监测计通信源代码(slua801.pdf)在 BQ27220中设置一些寄存器以实现最低功耗:
-)将 DSG 放松时间设置为零(0x922E)
-)禁用唤醒比较器(运行配置 A [WAKE_EN、WK_TH0、WK_TH1]全部为零)(0x9206)
I reference to BQ27220:Configuration not changed in device e2e.ti.com/.../2331011
但我仍然无法写入/更新 BQ27220配置。
是否有人会检查以下进程(或附加的文件函数 BQ27220_12())并向我提供如何实现正确的命令流的建议。
注意:随附的文件基于 TI Gauge 通信源代码(slua801.pdf)。 但它似乎不能直接用于 BQ27220??
谢谢。
===================
// BQ27220中的尝试示例 :器件中的配置未更改
//操作状态:0x (94)、位2 CFGUPDATE=0
//0x929F MACData (0x40 0x41)= 0xB80B = 3000mAh
//enter_cg_fupdate
nresult = gauge _control (pHandle、0x0090);
睡眠(2);
//操作状态:0x (494)、位2 CFGUPDATE=1
//ref 至 e2e.ti.com/.../2331011
BQ27220_WriteByte (0x3E、0x9f);//设计容量地址:0x929F
BQ27220_WriteByte (0x3F、0x92);
BQ27220_WriteByte (0x40、0x0f);//设计容量= 0x0FCB
BQ27220_WriteByte (0x41、0xcb);//
BQ27220_WriteByte (0x60、0xf4);// 0x9F + 0x92 + 0x0F + 0xCB = 0x020B。 0x020B 或0xFF = 0x0B。 CS = 0xFF - 0x0B = 0xF4
BQ27220_WriteByte (0x61、0x06);// len
//exit_CFGUPDATE
nresult = gauge _control (pHandle、0x0092);
睡眠(2);
//操作状态:0x (94)、位2 CFGUPDATE=0
//0x929F MACData (0x40 0x41)= 0xB80B = 3000mAh、没有变化。
===================
===================
//要将放电放松时间(0x922E)设置为0
//操作状态:0x (94)、位2 CFGUPDATE=0
//0x922E MACData (0x40 0x41)= 0x3C00 = 60s
//enter_cg_fupdate
nresult = gauge _control (pHandle、0x0090);
睡眠(2);
//操作状态:0x (494)、位2 CFGUPDATE=1
//ref 至 e2e.ti.com/.../2331011
BQ27220_WriteByte (0x3E、0x2E);
BQ27220_WriteByte (0x3F、0x92);
BQ27220_WriteByte (0x40、0x00);
BQ27220_WriteByte (0x41、0x00);
BQ27220_WriteByte (0x60、0x3F);// 0xFF -(0x2e + 0x92 + 0x00 + 0x00)或0xFF = 0x3F
BQ27220_WriteByte (0x61、0x06);
//exit_CFGUPDATE
nresult = gauge _control (pHandle、0x0092);
睡眠(2);
//操作状态:0x (94)、位2 CFGUPDATE=0
//0x922E MACData (0x40 0x41)= 0x3C00 = 60s、没有变化
===================
参考至: BQ27220:器件中的配置未更改
谢谢
Hb