bq34110 DF 参数无法修改,只成功修改过一次0x4000的四个字节,往后再怎么也写不了

1,芯片处于full access模式

2,电池电压4.8V,flash update ok voltage是2.8v,没有改动

还需要配置或者注意其他地方吗?


4 个回复

  • 最有可能的原因是,参数“Flash Update Ok Voltage”设置得比在设备的BAT pin处观察到的电压高。请参考user's guide 3.2.1中的步骤,您应该能够更新这个参数,并且可以修改其他参数了。

  • 回复 Star Xu:

    谢谢回复,按该步骤,
    我从ManufacturingStatus: 0x0057中读出值始终为0x7F;
    通过CAL_TOGGLE命令无法使Manufacturing Status register中的CAL_EN flag切换;
    以上,请帮忙分析原因,谢谢!

    另,
    1,芯片的命令数据读,data flash数据读均无问题,仅不能操作data flash写操作
    2,芯片被锁过,每次启动都进行解锁,并进入full access模式,这个是否有影响?
    3,曾经进行Control()的所有sub commond控制操作,这个是否有影响?
    该问题困扰好长时间,Thanks♪(・ω・)ノ
  • 回复 aaron chan:

    无法使Manufacturing Status register中的CAL_EN flag切换,请确认芯片是不是进入保护状态。
    您可以将画面发过来看一下。
    您的芯片锁过,在锁码状态下参数不能写是正常的。
  • 回复 Star Xu:

    HI,我使用的是st的mcu直接和bq34110通信

    以下:
    1,我昨天操作失误了读取的是0x40d7的Data flash的值,因为是配置init的地址,所以一直都是0x7f,不改变是正常的
    2,我重新读取的ManufacturingStatus: 0x0057的值,是可以切换CAL_EN flag的,切换后该地址值为0x807f
    3,切换后:
    读取0x4155的值为0x1,即一个电池组;
    读取0x4157的值为0xaf0,即2800mv;
    向0x4157写值0x64,即100mv;
    再次读取0x4157的值仍为0xaf0,没有改变;
    4, the stack voltage指的是电池电压,还是BAT这个pin上的输入?
    ---------------------------------------------------------------------------------------------------------
    另:
    每次执行上述命令序列或重启设备时均检查OPERATION_STATUS: 0x0054的SEC1, SEC0值
    如果为11,则:
    先执行向ManufacturerAccessControl(): 0x3E/0x3F写0x1404,0x7236
    再执行向ManufacturerAccessControl(): 0x3E/0x3F写0xFFFF,0xFFFF
    再检查确认OPERATION_STATUS: 0x0054的SEC1, SEC0值为01,即为Full access status