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.

[参考译文] BQ2.7542万-G1:BQ2.7542万-G1不存在ROM模式,但i2c写入未显示任何故障

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/582157/bq27542-g1-bq27542-g1-doesn-t-exist-from-rom-mode-but-i2c-write-didnot-show-any-failure

部件号:BQ2.7542万-G1
主题中讨论的其他部件: EV2400BQSTUDIO

您好,

使用bq2.7542万-G1燃料表和Intel Edison。 我需要读取.bqfs文件,然后更新燃料表的固件。  

我尝试解开设备封条,然后进入ROM模式,然后写入一些在.bqfs文件中给出的值(未写入完整文件),然后退出ROM模式。 在此模式下使用i2c模式

第一次,当我编程时,一切都正常。  

但退出ROM模式后,设备没有响应其正常地址(即0x55)。 已尝试关闭并重新打开设备电源,但仍处于ROM模式

我执行了i2cdetect 命令,显示的设备地址为0x0B (ROM模式中的燃油表地址)

我能够成功地在ROM模式下写入。

如何从ROM模式恢复设备??  

我是否应该使用bqstudio?? 我没有EV2400主板或类似的东西。

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

     请检查 并遵循bq2.7542万-G1 TRM (技术参考手册)第111页图B-5中的顺序。 "I2C或HDQ中的ROM模式退出顺序"。

     谢谢!

    Phil

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

    我也在做同样的事。 但仍无法退出ROM模式。

    问题:在退出ROM模式之前,我是否应该写入完整的bqfs文件?? 现在我只执行了两 个写操作。

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

     是的。 以下是一些亮点:一旦进入ROM模式,用户测试设置必须能够打开BQFS或DFFS文件,并与FlashStream文件完全相同的顺序执行每个I2C或HDQ事务。 完成FlashStream文件中的所有命令后,用户测试系统将发送“Exit ROM mode (退出ROM模式)”过程(图B-5)。 在退出ROM模式后,在尝试使用I2C地址0xAA与目标设备进行I2C或HDQ通信之前,必须至少发生250毫秒的延迟。

    Phil

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

    我编写了一些C代码来执行i2c事务。 现在我要解析整个bqfs文件。 现在出现的另一个问题是我遇到了校验和错误。
    宽:16 00 04 00 00 00 83 DE
    宽:16 64 65 01
    X:200
    C:16 66 00
    宽: 16 00 02 00 00 00 00 EA FF 33 A0 FA 33 12 FB 33 8C FE 33 D1 FE 33 FF FF 3F FF 3F FF 3F FF 3F FF 3F FF 3F FF 3F FF 3F FF 3F FF FF 3F FF FF 3F FF FF FF FF FF FF FF 3F FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 3F FF FF 3F 01 02 3F 58 CB 33 FB 00 08 01 00 00 00 00 00 00 FF AA 0E FB A7 0E FF A6 0E FF A1 0E FF A0 0E FF A0 0E FE A3 0E 62 A2 0E D2 FF 3A FF A1 0E 63 A0 0E FF A3 0E
    这些说明进展顺利。 从下一次写入(即从W:16 64 D5 35),我得到i2c故障。 进一步写入会导致i2c故障。
    此外,在比较指令中,读取数据为0x02,而不是0x00。 我认为这是校验和错误。

    以前曾报告过类似的问题。
    e2e.ti.com/.../22.1507万
    e2e.ti.com/.../15.8561万

    有什么建议吗??
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    I2C写入故障问题已被清除。 这是因为i2c缓冲区大小为32字节。 因此当我们写入96字节时,缓冲区溢出,从而使整个程序退出。

    但校验和错误问题仍然存在。 当我读取寄存器(在比较指令中)时,它与bqfs文件中的值不匹配。 希望是校验和错误。 它适用于所有比较指令。 读取数据为0x30,0xff,0x34等。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否有任何更新??

    我购买了一个新的定制板并尝试将dffs文件加载到其中。 在执行此命令后,W: 16 00 03 00 00 i2c写入和校验和读取成功。 在下一个命令上,W: 16.6403万 00我们得到了i2c故障(错误:未指定原因)。 因此,自定义代码将执行“退出ROM”模式过程。
    当我们检查设备的地址时,它显示0x0B。 因此我们运行一个执行从ROM模式退出的代码。 我们再次检查了设备地址,它给出了0x55。
    我们再次尝试加载相同的代码。 前几次,其行为如上所述
    然后它只响应0x0B地址。
    我们接下来应该怎么做??
    这是否意味着燃油表被晃了? 如果是,它是否会响应任何从属地址?
    在不使用燃油表的情况下,我们应该遵循什么程序来执行此操作?

    提前感谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我需要更多的时间来研究您的案例,一旦收到,我将立即给出答案。
    谢谢!
    Phil
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Pavitra,

    您是如何提取闪存流文件的。 您是否使用bqstudio进行了提取。

    您是否能够使用bqstudio在设备上对闪存进行编程?

     您使用的是EV2300或EV2400的哪个固件版本? 您可能需要更新固件版本。

    谢谢

    Onyx

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

    Flashstream文件由客户端提供。 他们使用bqstudio。

    我没有EV2300和EV2400。 将尝试获取一个并尝试上述步骤。

    是否有其他方法可供验证?

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

    我使用EVM2400和bqstudio恢复了bq2.7542万。 现在我得到了所有预期的东西。

    bq2.7542万固件更新usf bqfs和dffs已成功完成。

    谢谢