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.

[参考译文] BQ35100:ROM 模式下锁定

Guru**** 2524550 points
Other Parts Discussed in Thread: BQ35100, EV2400, BQSTUDIO

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1394355/bq35100-locked-in-rom-mode

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

工具与软件:

我已将此器件用于某个项目、并且我正在使用定制电路板。 阅读了大量文档并花了一些时间在 TI 论坛上之后、我现在面临着定制工作、即将黄金映像传输到定制板上的 BQ35100。

我曾使用过 BQ35100评估模块(通过 EV2400连接到 PC)和 BQ Studio。 我在设置 EVM 后导出黄金映像、并遇到一些问题。 我在论坛上发现了一些关于类似问题的帖子、但不幸的是、没有一个帖子帮助我解决了我的问题。

1.我是指"SLUA801测量仪表通信"来将黄金映像传输到 BQ35100。 我发现了以下问题:生成的黄金映像具有较长的数据传输、而 BQ Studio 将它们拆分成较短的传输。 论坛中的帖子显示了此问题、但我无法找到通过短距离数据传输生成黄金映像的方法。 如何做到这一点?  SLUA801中的函数 Gauge_execute_fs ()假定最大为32个字节、而生成的黄金映像有超过100个字节。

2.不知道上述限制、我最终遇到了卡在 ROM 模式下的 BQ35100 (臭名昭著的未记录0x16 I2C 地址...)。 我尝试了不同的方法来摆脱它。 我尝试了下面的建议顺序("执行闪存代码")、但没运气、IC 继续回复0x16地址:

W:16 00 0F
W:16 64 0F 00

定制电路板上的 BQ35100无法连接到 EV2400、因此我无法用它来重新刷新 IC (除非我们在电路板上焊接了一些导线、我正在考虑...)。 BQ35100如何返回常规模式? ROM 模式下的任何复位命令?

3、如何在生产中避免这种情况? 我们无法在定制电路板上使用 EV2400。

感谢你的帮助。

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

    您好!

    1) 1)我建议使用 BQstudio 在 golden image 选项卡中生成 golden image、然后通过 i2c 将此映像刷写到器件上。

    2) (+) BQ34Z100-G1:如何退出 ROM 模式-电源管理论坛-电源管理- TI E2E 支持论坛

    3) 3)在投入生产之前、我会验证您的刷写过程是否正确。

    此致、

    Evan

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

    感谢您发送编修。

    1.正如我在帖子中写道: 设置 EVM 后,我导出了黄金映像。 我是按照建议进行的、但由于传输大小限制、我不知道如何生成传输短于32字节的黄金映像

    2.我在帖子中写道: 定制电路板上的 BQ35100无法连接到 EV2400。 因此我无法使用建议的方法(SMBus)。 是否有办法在不使用 BQStudio 的情况下退出 ROM 模式并向 I2C 发送命令?

    3.完成了。 问题是、这是在我发现问题后完成的、例如、通过发送超过32个字节(在  "SLUA801电量监测计通信"中没有指出)、所以一些 IC 卡在了 ROM 模式下。

    此致、

    保罗

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

    您好!

    1)这是不可能的。

    2) 2)外部 MCU 可以遵循相同的流程、而不是 BQstudio 和 EV2400。

    此致、

    Evan

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

    谢谢、Evan。

    我要检查我们是否能够在 I2C 上发送模拟 SMBus 的0x08命令。

    此致、

    保罗

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

    为了给那些有同样问题的人带来好处、这是 适合我的伪代码。

    //检查 BQ35100是否处于 ROM 模式
    I2C_READ (地址0x16、寄存器0x00、1个字节)

    如果(无回复){
     //模拟 SMBus 命令0x08
     I2C_WRITE (地址0x16、寄存器0x08、 0x11)

     //执行闪存代码
     I2C_WRITE (地址0x16、寄存器0x00、 0x0F)
     I2C_WRITE (地址0x16、寄存器0x64、 0x0F 0x00)

     延迟(4000ms)
    }

    //从现在开始与地址0xAA 通信
    ...

    我希望这会有所帮助。

    编辑- I2C 写入之间可能需要几毫秒的延迟。