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.

[参考译文] BQ40Z50:Flashstream SMBus格式

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1094343/bq40z50-flashstream-smbus-format

部件号:BQ40Z50
主题中讨论的其他部件:BQ40Z60BQSTUDIO

您好,

我们目前正在努力加快生产线的速度,尝试在不使用BQStudio的情况下刷新BQ40z60 Golden File。

阅读一些文章并参考可以使用bq.fs文件格式,因为它是一个闪存流,包含将黄金文件闪存到芯片所需的任何命令。

我的问题:

  1. 是否有任何有关 闪存流文件SMBus格式的文档? 因为我只能找到I2C格式。 我提出这个问题是因为SMBus的读/写块最大限制为32字节,但在文件中,SWB的数据长度为34字节。 只是想知道我的代码是否正确。
  2. 在闪存编程失败/中断后,是否有任何解决方案可以解块芯片?

谢谢!

Widji

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

    Widji您好,

    您可以找到有关SMBus闪存流文件格式化的其他线程的更多信息: https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/92.271万/bq40z50-programming-in-mass-production/3419355?tisearch=e2e-sitesearch&keymatch=smbus%2520.fs#3419355</s>341.9355万 2520.341.9355万

    如果在编程过程中仪表中断并返回固件模式,或者在编程过程中关闭并重新打开电源,则无法恢复。 恢复的唯一方法是在发生错误编程时保持ROM模式并尝试重新启动编程。

    此致,

    Wyatt Keller

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

    您好,Wyatt:

    是的,我已经阅读了这些文章,但似乎其中包含的信息不够。

    例如,在SWB格式上。它 表示该行是一个命令,用于写入一个包含多个字节数据的SMBus块。 但您知道,SMBus的数据长度有限(最多32字节),但在bq.fs文件中,它包含34字节数据。

    例如:

    SWB:16 0F 00 40 56 2F 05 C2 28 BF 01 C2 33 3F 2D 90 4C 48 00 40 00 00 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF FF

    字节0 =地址

    字节1 =寄存器地址

    字节2 - 35 =字节数据? 大于32字节?

    我真的很困惑,你有什么想法吗?

    谢谢!

    Widji

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

    Widji您好,

    正如线程中提到的,在ROM模式下编程时不需要确切的命令,我们不能给出许多详细信息,但第三位和第四位实质上是地址,数据的主块应该是32字节或更少。

    我将检查确认我们可以分享的内容。

    此致,

    Wyatt Keller

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

    您好,Wyatt:

    感谢您的解释。

    但是,从 我阅读的文章中,写块数据的格式类似于下面的格式,其中寄存器地址以第二字节表示,然后继续处理数据。

    W:i2cAddr RegAddr Byte0 Byte1 Byte2…'

    如果我参考我的例子,它应该是:

    SWB:16 0F 00 40 56 2F xx xx xx ...

    其中:

    I2C地址=16

    注册地址= 0F

    数据=[00,40,56,.]  

    谢谢!

    Widji

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

    Widji您好,

    我确认ROM命令不一定遵循32字节的限制。 在ROM模式下编程时,可以写入32字节以上。 在正常操作模式下(必须为32字节或更少),则不是这样。 ROM模式仅用于编程。

    此致,

    Wyatt Keller

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

    您好,Wyatt:

    感谢您的确认。 由于python SMBus2限制我发送超过32字节的数据,我将数据拆分,然后将块数据在序列中的每行发送两次,这对我来说是有效的。

    谢谢!

    Widji