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.

[参考译文] BQ27542-G1:更改数据存储器中的参数

Guru**** 2604225 points
Other Parts Discussed in Thread: BQ28Z610-R1, BQ28Z610

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1186456/bq27542-g1-change-parameters-in-data-memory

器件型号:BQ27542-G1
主题中讨论的其他器件:BQ28Z610-R1BQ28Z610

您好!

我一直在向数据存储器写入写入写入命令。

我已经成功地使用了另一个芯片(BQ28Z610-R1)、并且还能够更改特定参数。
在以下结构中:

现在、我想从 BQ27542-G1中更改 PCB 批号、但它不能使用相同的结构。

将 PCB 批次更改为0x0001:

W:AA 3E 38 00 00 00 00 01
X:5
W:AA 60 C6 08
X:5

读取制造商数据(0x38):

W:AA 3E 38 00
X:5
R:AA 3E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

->读取结果:AA 3E 38 00 00 12 34 00 02 00 00 00 00 00 00 00 00 00 00

但它不会更新该值。 我出了什么问题?

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

    您好 Martin、

    bq27542-G1中的数据闪存访问不同于 bq28z610。 请参阅 TRM 第16.2.1节访问数据闪存

    主要区别在于 bq27542-G1只接受整个块进行写入。 更改数据闪存的简单方法是先读取块和校验和、然后更改相关字节、并通过调整1次更改来重新计算校验和、然后将其写回。

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

    您好 Shirish、

    感谢你的答复。

    在您对 TRM 16.2.1的提示和9.2中的分步说明的帮助下、我得到了以下信息:
    1.将0x00写入 BlockDataControl()(0x61)
    2.将"光标"设置为我所需的地址-制造商数据(0x38)
    3.从开始使用 BlockData()(0x40)读取所有数据
    4.修改我想要的内容并将其写回 BlockData()(0x40)...
    5...... 后跟(0xFF -(我写入 BlockData 的每个字节的和))到 BlockDataCheckSum (0x60)

    W:AA 61 00
    2.宽:AA 3E 38 00
    3. R:AA 40 00 00 00 00 00
    读取结果:AA 40 00 12 34 00 02
    4、W:AA 40 00 10 20 00 02
    5.W:AA 60 CD

    它无需使用整个块即可工作。

    是否可以确认这是集成工作流?

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

    您好 Martin、

    测量仪表在返回数据之前将数据存储在块中、因此如果您进行部分写入、则其他数据已经存在。 只要两者之间没有发送其他命令、这是一种可接受的方法。