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.

[参考译文] TPS65988EVM:固件和无电电池配置

Guru**** 2609415 points
Other Parts Discussed in Thread: TPS65988

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1127540/tps65988evm-firmware-and-dead-battery-configuration

器件型号:TPS65988EVM
主题中讨论的其他器件:TPS65988

您好!

TPS65988将通过 I2C 连接到 MCU。 用于连接电源适配器的端口 A、而端口 B 用于需要通信和充电的器件、

外部闪存用途:在数据表中被写入、外部闪存是可选的、但看起来不是。 我不确定我是否理解了它、但如果需要、请纠正我的错误。 该器件具有内置固件、但需要将外部闪存上载到新的最新固件中、以防 TI 发现问题? 需要使用闪存并存储设置、 TPS65988才能在独立模式下工作? 您能否提供支持的闪存 IC 列表? 因此、在每个闪存中、每次 都需要写入生成的库、当器件首次启动时、MCU 会通过 I2C 通过 TPS65988通过 SPI 写入生成的库?

BIN 文件:我尝试从 GUI 保存 bin 文件、但遇到错误:此工程生成的 app config 数据表的大小(0xee9字节)大于固件映像支持的分配区域(0x600字节)。 保存操作已中止。

电池电量耗尽:在这里、我的 EVM 损坏 了、我无法完成实验、但是... 我希望 TPS65988能够仅激活5 V 的适配器(不是目前可用的最大值)。 如果我想使用默认配置2:(仅限 UFP (内部开关) 5V (0.9A - 3.0A 灌电流能力)、则需要在 ADCIN1上具有大约0.25和0V (SPI_POCI)的分压比。 但是、如果我将 SPI_POCI (MISO)接地、则外部闪存将不会运行。

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

    您好、Ivaylo、

    [引用 userid="123792" URL"~/support/power-managing-group/power-management/f/power-managing-forum/1127540/tps65988evm-firm-and-dide-battery-configuration"]此器件具有内置的固件、但在某些情况下需要上传新的最新固件[引用 TI?]

    是的、正确。

    [引用 userid="123792" URL"~/support/power-management-group/power-management/f/power-management-forum/1127540/tps65988evm-firmware-and-dide-battery-configuration"]需要使用闪存、要存储设置、 需要 TPS65988才能在独立模式下工作?

    一旦您将 PD 控制器刷写一次您的配置、它将保留这些设置、直到您再次刷写它们。  

    [引用 userid="123792" URL"~/support/power-management-group/power-management/f/power-manageming-forum/1127540/tps65988evm-firmware-and-dide-battery-configuration"]因此 、当首次通过 TPS65988器件通过 I2C 写入生成的容器时、MCU 始终需要在每个闪存中写入生成的容器[?]

    是的、正确。

    对于 bin 文件问题、能否从 GUI 发送 PJT 文件、以便我可以尝试从我的结尾重新创建它?  

    此致、

    林德华

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

    尊敬的 Raymond:

    感谢您的回复!
    由于我没有您的电子邮件、我将要求 Vsevolod 将其发送给您。 它不是最终配置、而是测试配置。 您能否检查一下为什么尺寸过大、我可以自行解决、将来不会打扰您?  
    通常、bin 文件是根据配置在 GUI 中创建的。 因此、我们将来需要检查 GUI 是否有更新版本、以及固件是否是最新版本。 对吧?
    您是否碰巧有一个 C 语言库、用于将固件加载到外部闪存? 我想对于程序员来说、这将会更简单、更快速。

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

    您好、Ivaylo、

    将设置导出为 JSON 文件时似乎出现错误。 此问题正在解决、将在下一版本的 GUI (版本6.1.4)中修复。 现在,我建议您将配置保存为 PJT 文件 ,方法是依次单击“项目”->“保存项目”,然后选择文件位置和名称,如下所示:  

    您可以将 PJT 文件加载到 GUI 上、并 可以访问所有设置配置。  我将向 Vsevolod 发送一个示例 PJT 文件、其中复制了您的配置设置。 如果当前项目(从您的末尾)在"常规设置"页面上显示"使用的应用程序大小"远远大于分配的大小、则需要创建一个新项目(JSON 设置可能会破坏项目中的某些内容)。 损坏示例如下所示:

      

    在下一个 GUI 版本发布之前、避免使用 JSON 设置。 如果您有任何其他问题或疑虑、请告知我们!

    谢谢、此致、

    林德华

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

    您好 Raymond、

    感谢您提供的信息! 现在配置大小没有问题。 我可以发送到闪存和新创建的 bin。 但这里还有一个问题。 尽管我已将配置写入闪存、但如果我重新启动 EVM 的电源、我需要将设置导出到器件 RAM 中。 为什么?

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

    您好、Ivaylo、

    刷写 EVM 后、它应包含您之前刷写的配置、直到您再次刷写(无需不断刷新)。 重启 EVM 电源后、它是否未显示正确的配置?

    此致、

    林德华

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

    尊敬的 Raymond:

    需要在闪存中的配置不会启动。
    有一些奇怪的东西。 如果 I Flash from current project and after that I do Flash read、both files are different - added a lot 0xFFs and lytes different bytes.
    如果我保存二进制文件并从二进制文件执行闪存操作、那么在执行闪存读取操作之后、两个文件之间的差异是较大的偏移量、0xFF 位于文件中间的某个位置。 有几个对话框要求输入偏移量(它们应该是它们)。 甚至有一个地方可以自动确定它、但不起作用-错误丢失 dll 文件。

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

    您好、Ivaylo、

    刷写设备后、是否对设备进行循环通电(关闭并再次打开)? 除非完成此过程、否则 PD 不会加载您的新配置。  

    如果您遵循了此过程、我想知道您是如何比较文件的、您能指出差异吗?  看到一些0xFF 是正常的(内置为填充目的)。 此外、在保存闪存时、请确保保存完整的闪存并使用该 bin 文件对 PD 控制器进行编程。  

    此致、

    林德华

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

    您好、Raymond、

    是的、我再次为其加电。 就像 我测试的那样、它是否从闪存加载新配置。 我使用 的不是比较4软件。 是的、我保存了完整的闪存。  

    为什么当我从 当前项目为闪存指定时、默认偏移量为 0x2000和 0x20000 (无法确定 I2C 区域读取:导入 aardvark.dll 时遇到的异常

    aardvark.dll 的体系结构可能错误

    没有名为 aardvark 的模块

    DLL spÃCopyrightcifiÃCopyright失败:LE 模块“最有槽”。

    'exceptions.importerror'="">)

     当我按下 "保存二进制文件"时、默认偏移量是 0x2000和 0x7000?  

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

    只是添加一些详细信息/示例。

    我提供了一条 命令 Export settings to device RAM - EVM 将根据设置的配置开始工作。 之后 -从当前项目中刷新 、在成功显示消息后、我按下 EVM 的复位按钮、EVM 不会以相同的 ME 工作配置启动。  

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

    您好、Raymond、

    中的内容 slvae21a.pdf

    "当初始器件配置完成时、引导代码会将 BUSPOWERZ 引脚采样到
    确定器件的启动行为。 该器件可在具有或不具有外部闪存的情况下运行。
    在没有外部闪存的系统上、代码补丁和器件配置是
    从外部主机通过 I2C 或内部 ROM 下载到器件的 SRAM、具体取决于
    BUSPOWERZ 配置。"

    外部闪存需要占用空间和资金。 在我的所有测试中、似乎根本没有使用它。
    您能给我一个算法吗?如何通过 I2C 将代码补丁直接加载到 SRAM?

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

    您好、Ivaylo、

    在同一文档(https://www.ti.com/lit/an/slvae21a/slvae21a.pdf?ts=1661309026969&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FTPS65988)中、从第7页开始、有一个有关闪存更新执行过程的示例(sudo)代码。 我们手头上没有任何特定的算法、因为这取决于所使用的 EC/MCU。  

    关于配置 EVM 的默认偏移和不同设置、让我与我的团队确认这是否是 PD 的正确行为。

    我会尽快返回给您!

    谢谢、此致、

    林德华

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

    e2e.ti.com/.../TPS65988_5F00_portB_2D00_Adapter_5F00_7.pjt

    您好、Raymond、

    我决定切换适配器和设备的位置。 当然、我更改了配置。 端口 B 上的适配器。奇怪的是、端口1的 GUI 中的发送灌电流功能设置控制端口2连接的适配器、而 GUI 中端口2的接收电流功能不会影响适配器的工作。 是否确定没有更新版本的 GUI?

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

    您好、Ivaylo、

    您观察到的文件(0xFF 和几个不同的字节)之间的差异不是行为差异、而只是用于填充。  

    一旦有更新版本的 GUI、它将在 TI 网站上发布、您的 FAE 可以通知您。 我将查看您的 pjt 文件、并通过电子邮件通知您任何更新。

    谢谢、此致、

    林德华

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

    尊敬的 Raymond:

    感谢您的回复!
    我在 I2C 总线上放置了一个 USB 分析仪。 只有寄存器首先在地址0x20发送、然后在地址0x24发送。 补丁不是通过 I2C 发送的、因此看起来确实需要闪存。 我已将 bin 文件导出为*。c、发现所有寄存器都提到两次、即两个端口。 这里有一个问题、为什么如果所有寄存器确实在固件(二进制)中设置、为什么在器件复位后不会自动加载它们? 偏移值是否确实存在问题?

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

    ...而且似乎加载了修补程序,因为如果我断开闪存的焊接,则系统在 将设置导出到器件 RAM 后完全无法正常工作。 那么、为什么只加载补丁、而不加载、寄存器集呢?

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

    您好、Ivaylo、

    让我咨询我的团队、明天回来。

    此致、

    林德华

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

    尊敬的 Raymond:

    我将等待这个答案。

    我想分享更多信息。 我已验证 I2C 捕获的性能。 我发现在将设置加载到器件 RAM 寄存器0x28、0x32、0x33时、地址0x20和0x24处加载相同的值(我假设和对于其余值相同、但未检查)。 然后加载 Porta 值(我将数据与 GUI 中的原始视图进行比较)。 这里应该会出现很多问题。 另外一点是根本不加载寄存器0x5C。 在生成的 c 文件(bin)中、寄存器也相同、但包含0x5C。

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

    您好、Ivaylo、

    感谢您的更新、在我编译我的发现后、我会告诉您。

    此致、

    林德华