This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] BQ34110:数据闪存读取和写入问题

Guru**** 2604225 points
Other Parts Discussed in Thread: BQ34110, EV2400, BQSTUDIO

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1312488/bq34110-issue-with-data-flash-reading-and-writing

器件型号:BQ34110
主题中讨论的其他器件: EV2400BQSTUDIO

您好、TI 团队、

我正在使用 BQ34110监测计 IC 来监测电池。

我能够通过 I2C 与芯片正确通信、但在读取和写入数据闪存方面运行不正常。

我将使用以下 TRM 中的步骤来读取和写入 DataFlash、

读取:

我正在尝试从地址0x413A 处读取 Operation Config A。 我在这里面临的问题是、ME 计算出的校验和与从0x60读取的校验和不匹配。

这里的技巧是、如果我放入一个断点并尝试逐步调试该问题、它会很有效并且校验和匹配。

除了 TRM 中提到的步骤外、我是否还需要一些延迟?

写入:

我正在写入 JEITA 配置寄存器、但没有得到写入。

如果我尝试获取充电电流、它会为我提供默认值、而不是我在 JEITA 中配置的值。

我在这里遗漏了什么?

此致、

Shashank.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Shashank、

    我有很多问题。

    您是否也在执行上面列出的步骤?

    您是否正在使用 ev2400?

    您启用了 Jeita 吗?

    此致、

    埃文

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Evan:

    我使用示波器测得、即使写入数据闪存、REG25也始终为2.5V。

    读取时 Operation Config A 具有默认值0x8204、因此未启用 JEITA、

    问题是、我正在写入 Operation Config A 以启用 JEITA、但由于写入数据闪存无法正常工作、JEITA 未启用。

    此致、

    Shashank.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    VBAT 值也始终为4.2V。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Shashank、

    尝试将 VBAT 上的电压增加到5.2V、然后查看现在是否能够读取和写入器件。  

    此致、

    埃文  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Evan:

    我已尝试使用 bqStudio、它可以与 Studio 配合使用。 VBAT 仍为4.2V。

    我尝试在工作室改变设计容量、但它正在发生变化。 下面是来自示波器的 I2C 屏幕截图、

    1)

    2)

    3)

    4)

    因此、Studio 将写入30字节数据、而不是仅写入2字节以用作设计容量。

    现在、我使用的固件还用于写入设计容量、但只写入2字节数据。 没有写入设计容量。 下面是该示波器的屏幕截图、  

    在我看来、固件屏幕截图中的所有内容似乎都正确无误。

    您能否查看并告诉我、设计能力无法编写的原因可能是什么?

    此致、

    Shashank.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Shashank、

    Bqstudio 正在写入30位、因为它会尝试向电量监测计写入一个参数块。

    尝试使用 Bqstudio 上的高级通信向电量监测计写入2个位。

    我仍然建议在写入监测计时将电压增加到5V 以上、这已经解决了过去使用相同硬件平台的器件上的问题。

    时序图-图6-2

    BQ34Z100-G1采用 Impedance Track 技术的宽量程电量监测计数据表(修订版 D)(TI.com)

    有用的文档

    在 bq34110 bq35100和 bq34z100-G1系列气体中使用 I2C 通信

    此致、

    埃文

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Evan:

    我使用的是4.2V 电池、无法将 VBAT 提高到5V 以上。

    关于时序图、我使用100KHz 频率、图表中的所有所需时序远高于最小值。 我还将时序与来自 Studio 的信号进行了比较、两者是相同的、因此似乎不存在 I2C 时序问题。

    一种方法是、我能够使其正常工作、即我需要在每个 I2C 写入命令之后为 DataFlash 写入添加30ms 的延迟。

    //通过所需的地址设置 ManufacturerAccessControl 
    30ms
    //将数据写入 MacData
    30ms
    //计算校验和并写入 MACDataSum
    30ms
    //写入 MACDataLen
    50毫秒


    在上述延迟情况下、它能够写入 DataFlash。

    但仍然是在将 DataFlash 写回一个块之后、将另一个块给 i2c 写入上的 NCK 时。


    写入 DataFlash 是否需要超过延迟?
    写入 MACDataLen 后、DataFlash 需要多长时间才能写入数据? 在此期间是否禁用了 I2C 通信?

    此致、

    Shashank.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    是的、需要延迟、我们通常建议使用100ms、但如果30ms 可以正常工作、应该没问题。

    我相信下面的文档能够解答您的问题、如果您不能解释您提出的问题?

    6.12 - 采用 Impedance Track 技术的 BQ34Z100-G1宽量程电量监测计数据表(修订版 D)(TI.com)

    此致、

    埃文

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Evan。

    延迟为100ms 时、效果更好。 我没有获得任何 I2C NACK。

    此延迟是否需要在每个 I2C 命令之后进行闪存写入?

    我的意思是、在将 DF 地址写入  ManufacturAccessControl 之后、或将数据写入  MacData 之后或将 校验和写入 MACDataSum 之后、它预计会有100ms 的延迟?

    或者只需要在向 MACDataLen 写入长度的最后一条 I2C 命令之后?

    另外、本文档提到了2ms 的字写入时间、但并未解释100ms 的延迟。

    此致、

    沙山克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Shashank、

    在发送和接收数据之间需要100ms 的延迟。

    此致、

    埃文