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.

[参考译文] BQ27750:bqStudio 'Golden Image File'破坏监测计

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

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/669057/bq27750-bqstudio-golden-image-file-corrupts-my-gauge

器件型号:BQ27750

你(们)好

我使用 EVM 中全新 bq27750的所有默认参数创建了一个'flash filestream'文件。

我的目标是重置我已焊接到实际硬件中的 bq27750的所有默认值(无法连接到 bqStudio)。

闪存命令('W'、'C'、'X')足够容易实现、因此这似乎是一个很好的前进方式。

但是、bqStudio 的闪存文件输出会破坏我的器件。 我知道你在想什么:“他没有正确执行命令”。

我相信他们的描述是正确的: http://www.ti.com/lit/an/slua801/slua801.pdf

编程后、某些参数是正确的默认值(即大多数高级充电算法块是正确的、不包括'termination'配置)、而有些参数不是(现在保护块大多是垃圾)、这一事实告诉我流处理良好、但流处理不好。

那么、如何继续呢?  我的设备损坏了。 SREC...???

我知道如何读取 SREC 文件、但 bq27750的 ROM 命令是最机密的。

我可以从 flashsteam 文件中生成一些 ROM 命令、但并非所有命令。

bqStudio 有一个 SREC 到闪存流转换函数(是的、它是隐藏的、但在某种程度上、该函数在某个特定点为我显示、所以我使用了它)。

我将'bq27750_V0_04_build12.srec'文件转换为一个 bq.fs 文件、我可以看到与 SREC 数据相关的 ROM 命令'0F'。

然而,这些命令的前身是一组更多的 ROM 命令,执行它们不会超过第四行:'W: 16 09 02 00'... 总线超时。

因此、bqStudio 似乎再次出现冲击。

我的问题:如何解除设备损坏? 我首选的方法是执行 SREC 文件、但我自然需要为此使用 ROM 模式。

这是 bqStudio 生成的 ROM 代码。 也许有人可以"修复"它、以便我可以执行它。

W:AA 3E 33 00
X:1000
宽:16 09 00 00
W:16 0A CC 00
W:16 09 02 00 ->它停止的位置
W:16 0A 00
W:16 00 00 00
W:16 1A DE 83
宽:16 06 00 00
X:250
宽:16 00 80 00
W:16 1A DE 83
宽:16 06 80 00
X:250
宽:16 09 00 00
W:16 0A CC 00
宽:16 09 02 00
W:160A B8 00
W:16 00 80 01
W:16 1A DE 83
W:16 06 80 01
X:250
宽:16 09 00 00
W:16 0A CC 00
宽:16 09 02 00
W:16 0A 00
W:16 11 de 83
X:400
W:16 07 de 83
X:250

----

此致、

尤金

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

    您好、Eugene、

     如果您可以与器件通信、则很可能应该能够对从器件的产品文件夹中获取的默认 srec 进行编程。  使用 bqstudio 对 srec 进行编程。 如果无法对其进行编程、则需要更换芯片。

    您能否确认您使用哪个适配器进行编程? EV2300或 EV2400? 您正在使用的适配器上的固件版本是什么? 如果您使用的是 EV2300、并且您具有版本3.1c、则可以将损坏的原因与之比。 更新至3.1m 或3.1r。  如果您使用主机进行编程、并且器件发生故障、我建议您执行以下操作:

    使用 bqstudio 提取闪存流文件、然后确保能够使用 bqstudio 在器件上对闪存流进行编程。 如果一切正常、并且在使用工具时器件损坏、则意味着编程顺序出错、必须进行故障诊断。

    希望这对您有所帮助。

    谢谢

    Onyx

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

    我使用 EV2400来创建闪存文件。
    我无法使用 bqStudio 对器件进行编程、但可以使用 bqStudio 对 EVM 进行编程。
    这似乎起作用。

    以下是来自" www.ti.com/.../slua801.pdf'的 TI 说明

    --------------------------------------------------------------------

    每个闪存流类型都是一个文本文件、并具有相同的语法、如下所示:
    •注释–以分号→开头;这是注释的示例。
    •写入命令–W:[器件地址][命令][数据][数据]…[数据]
    示例:将0x02写入命令0x3E、并将0x00写入带有器件的监测计的命令0x3F
    地址0xAA
    W:AA 3E 02 00
    •比较命令–C:[器件地址][命令][数据][数据]…[数据]
    示例:从命令0x3E 开始、将监测计的内容与器件地址0xAA 进行比较
    字节序列0x02、0x00、0x02、0x20、0x00、 0x03
    C:AA 3E 02 00 02 20 00 03
    如果字节序列匹配、则继续、否则停止(错误)。
    •延迟命令–X:[以毫秒为单位的延迟]
    示例:等待10ms
    X:10.

    --------------------------------------------------------------------

    哪里没有(我缺少什么)? 我可以想到的一件事(即 bq27750技术参考中没有对此进行解释)是在每次写入后将校验和发送到0x60。 我尝试过、但这不起作用。 另一件事可能是字节序? 但我怀疑这一计划背后的想法是,文件中的任何内容都只是加载和发送,而不会与所有的人发生相互干扰(因为其中的数据边界没有定义,因此这将是一场灾难)。 我已经验证的是、导线上输出的数据与文件中的数据相匹配。

    感谢你能抽出时间。

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

    您好、Eugene、

    如果您能够使用 bqStudio 提取的闪存文件对 EVM 进行编程、并且电路板正常工作、那么您的编程序列肯定会出错。 您能否附加您尝试编程的闪存流文件。 与客户一起看到的一件事是、如果闪存流文件中包含长字节(例如32字节)的命令、则使用其工具对器件上的文件进行编程时会遇到问题、尽管 bqStudio 会成功地对同一文件进行编程。 我建议您检查您的文件、如果您在命令之后看到有长字节、请使用 bqstudio 将命令分解为更小的命令组。 为此、请转到 golden image plugin、然后在提取文件之前单击 options、然后限制包大小并将其减少到10以下。

    如果仍然没有帮助、我建议使用 i2c 总线监听器并监听 EVM 通信线路、以查看 bqstudio 如何将命令写入监测计、然后执行类似操作。

    此外、请参阅 c 中附加的示例代码、该代码分析类似器件上的闪存流文件。

    e2e.ti.com/.../4846.FlashStream028_5F00_bundle-_2800_3_2900_.zip

    谢谢

    Onyx

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

    你好、Onyx

    附加了 bqStudio 创建的文件。 'big' ROM 命令为21字节(包括地址)...所以可能是边界性的? 以下是我拥有的选项(遗憾的是没有"限制包装尺寸")。 我运行的是 bqStudio 1.3.80。

    感谢 zip 文件、我将查看(但我非常确信线上的数据良好->与文件中的数据相同)...

    此致、

    尤金

    e2e.ti.com/.../Onyx.df.fs.txt

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

    所有源代码均受密码保护。 看不到太多:)

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

    您好、Eugene、

    文件夹中应包含一个包含密码的文本文件。 试用 TI 或 BMS。 其中一个应该起作用

    谢谢

    Onyx

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Eugune、
    您能否将闪存文件中的所有延迟时间从2ms 增加到大约200ms、以便我们了解这是否有帮助?

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

    你好、Onyx

    (将延迟增加到200ms)、没有差异。

    我编写了一个 python 脚本,将我发送给您的闪存文件转换为一个具有较短 ROM 写入命令的文件:它当前每个'W:'命令发送16个字节,我将其更改为8个字节,并自然地相应地更新了地址(即格式为:  [I2C Addr][CMD][Length ][Addr LSB][Addr MSB][Data 0]...[Data15]、延迟为200ms)->没有差异(无论我使用此"存储器"文件还是 bqStudio 生成的文件、我在此后读取的存储器都保持不变)。

    我看了闪存编程器'main'。 你们做的正是我做的

    -解析文件

    -将字符串转换为字节

    -将 I2C 地址移动为7位(即删除 I2C 读取或写入位)

    — 把这些都放在线上

    我获取了您的代码(用于通过 ROM 进行写入)并在我的之后执行了代码(但只是为了重建字节数组)、以作为一种内联单元测试进行比较、并且完全相同...结果->没有区别。 不正确的参数仍然不正确、正确的参数仍然正确、没有任何变化...

    我也看不出微控制器上的 I2C 写入/读取例程会是什么问题->无论我使用此闪存文件流还是直接进行 DataFlash 编程、它们都是相同的例程、 并且已经过验证、可以与 EVM 配合使用(即、当我将开发板插入 EVM 并进行读/写时、如果我在 bqStudio 中执行此操作、我将会看到与我相同的操作。

    无论如何。 再次感谢您的观看。

    此致、

    尤金

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Eugene、
    您是否认为您能够像使用 bqStudio 一样使用开发板与 EVM 进行通信? 您自己的电路板是否存在硬件设计缺陷、从而使您无法使用主机对其进行编程? 请澄清。

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

    你好、Onyx

    不用说这个。

    我目前有4种工作方式(即完整性检查)。

    1) bqStudio + EVM (1)(通过 EV2300)->此设置有问题(有一个 WebEx 与 Eric、他立即看到了这一点)、他很好地给我发送了一个新的 EVM 和 EV2400。 EV2300。

    2) bqStidio + EVM (2)、通过 EV2400 (由 Eric 发送)

    3) Atmel SAMD21 Xplained Pro 开发板->通过切换总线(但由于某种原因、这不再适用于发送给我的新 EVM)、我成功地与 EVM(1)进行了通信、"就像使用 bqStudio"。 我在这里运行与实际器件相同的固件->因此、我说 i2c 读取/写入已通过目视检查我在 bqStudio 中看到的闪存值(反之亦然)验证、当我上次将其连接到 EVM in 1时)。 因此、我用于进行 filestream 编程的基本例程与我用于使用 slubi6.pdf 中所述协议对 DataFlash 存储器进行编程的基本例程相同。

    4)我的实际(原型)器件。 运行与3中相同的固件。 我正在尝试"修复"此设备。 但我并不是因为我真的很关心解决这个问题、而是因为当我们从发送给您的电池中获取化学 ID、并且我们执行电池校准时、我想通过使用黄金映像和闪存流来简化调整生产设备的过程。 我想、如果这种方法真的不起作用、我只需直接向寄存器写入即可对其进行编程。

    有趣的注意:由于安装了 EV2400,我无法再使用1)。

    我希望这能解释一下吗?

    此致、

    尤金

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    PS:关于4)->无法将 bqstudio 连接到监测计、只能通过微控制器进行访问。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Eugene、
    我建议继续与 Eric 合作、因为您已经有了一个开放的沟通渠道。


    谢谢
    Onyx