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:从数据闪存(DF)读取并通过 I2C 命令写入时出现问题

Guru**** 2330830 points
Other Parts Discussed in Thread: BQ34110EVM-796, BQ34110
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/589548/bq34110-problem-reading-from-the-data-flash-df-and-writing-to-it-via-i2c-commands

器件型号:BQ34110

大家好、

我使用 MSP430为 bq34110编写了一个 I2C 接口。 它适用于数据命令(例如使用 Voltage()命令读取电池电压)、但我在读取 DF 时看到了奇怪的行为、完全无法写入 DF。 请注意、我当前的设置是一个具有 MSP430的开发板、该 MSP430连接到 bq34110的开发板(bq34110EVM-796)

读取 DF

这是我尝试读取 内部系数3寄存器(地址 0x41C5)时的 I2C 序列。 由于我尚未对芯片进行任何修改、我应该读取默认值、即0xCFDC (-12324)。 但是、我得到0xDC17。 以下是我的逻辑分析仪的屏幕截图:

如您所见、 我得到的是0xDC17、而不是0xCFDC。 通过查看技术参考手册(TRM)、我发现0x17是下一个寄存 器(6131 = 0x17F3)的第一个字节、这意味着我可能会得到 int COeff 3的最后一个字节和 int COeff 4的第一个字节。 因此、我尝试从0x41C4而非0x41C5读取:

我得到了很好的数据! 我的问题是:我的 I2C 序列是否有问题或 TRM 是否有问题? 读取 DF 时、我是否应始终应用此偏移?

正在写入 DF

我还尝试分别将{0x55、0x54}写入制造商信息块 A01 (0x4042)和 A02 (0x4043)并读回它、但器件每次返回0x00 0x00。 下面是我的 I2C 序列:

//写入 DF

  • 将0x42 0x40写入 Manufacturer_access_control (0x3E)
  • 将0x55 0x54写入 MAC_DATA_0 (0x40)
  • 将0xD4写入 MAC_DATA_SUM (0x60) (0xD4 =~((0x42 + 0x40 + 0x55 + 0x54)& 0xFF)
  • 向 MAC_DATA_LENGTH (0x61)写入6 (nData = 2 + 4)

//从 DF 读取

  • 将0x42 0x40写入 Manufacturer_access_control (0x3E)
  • 从 MAC_DATA_0 (0x40)读取2个字节

我猜 MACDataSum 和 MACDataLen 有问题、但我已经按照 slua790中的步骤来计算这些数据。 我还尝试使用(LEN = nbytes + 2)而不是(LEN = nbytes + 4)、因为 TRM 指出 LEN 是校验和涉及的字节数(与 slua790中的说法相矛盾)、但没有结果。

我是否应该考虑读取 DF 时需要使用的可能偏移量?

谢谢、

Fred

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

    有人对此问题有更新?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    只有当 Voltage()≥Flash Update OK Voltage 时,才可以更新数据闪存(DF),但器件除外
    校准模式。
    "Flash Update OK Voltage"(Addr = 0x4157)的默认值为2.8V,因此如果要写入数据闪存,Voltage()(command = 0x08)应该大于2.8V。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    当我测试它时、VBAT 为3.1~3.3V、因此这不是问题。