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.

[参考译文] UCD9246:I2C/PMBus 编程

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/736608/ucd9246-i2c-pmbus-programming

器件型号:

尊敬的 Yihe:

我们越来越了解器件的工作原理。
遗憾的是,我们不需要阅读文件,而是要浪费您和我们在对话中的时间。
在我们的案例中、我们无法真正遵循您发送给我们的脚本。
问题是、我们没有需要擦除的1k 扇区程序闪存中的信息(客户只向我们提供数据闪存文件)。
因此、根据我们的理解、我们需要在擦除之前读取1k 程序闪存。
摘要我们的问题是:
-在擦除之前、我应该读取1k 程序闪存吗? 如果需要、请发送特定命令(脚本示例)如何执行该操作(任何地方都没有信息)。
-应该将所有读取位置编程回原来的位置,还是应该屏蔽(写入0xFF)程序闪存完整性字? 如果是、程序闪存完整性字的位置是什么?
-我是否应该根据脚本使用命令 Verify Checksum ROM (Integrity Word)? 实际上、我无法验证该值、因为首先、我没有程序闪存内容、其次、我不知道校验和计算的算法。
-我注意到脚本使用绝对地址、但不像 UCD9090那样偏移。 这是否意味着我应该使用绝对地址、然后我将读取数据闪存?
-脚本在其他命令中使用命令0xFD (device_id)。 这是否意味着命令可以根据模式改变其含义?

-是否有一种机制(脚本)从 ROM_MODE 恢复器件、以便我可以从 Fusion 工具之外恢复器件? 如果是、您也可以将其发送给我吗?

如果您回答 我的所有问题、我将不胜感激。
我将在下周下班,并将继续工作。

谢谢你

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

    [引用用户="Dmitry Ivanov"]

    器件型号: UCD9246

    尊敬的 Yihe:

    我们越来越了解器件的工作原理。
    遗憾的是,我们不需要阅读文件,而是要浪费您和我们在对话中的时间。
    在我们的案例中、我们无法真正遵循您发送给我们的脚本。
    问题是、我们没有需要擦除的1k 扇区程序闪存中的信息(客户只向我们提供数据闪存文件)。
    因此、根据我们的理解、我们需要在擦除之前读取1k 程序闪存。
    摘要我们的问题是:
    -在擦除之前、我应该读取1k 程序闪存吗? 如果需要、请发送特定命令(脚本示例)如何执行该操作(任何地方都没有信息)。

    [TI] 1K 闪存是固定的、它已经在脚本文件中。 您不必再次阅读、只需关注该文件即可。
    -应该将所有读取位置编程回原来的位置,还是应该屏蔽(写入0xFF)程序闪存完整性字? 如果是、程序闪存完整性字的位置是什么?
    -我是否应该根据脚本使用命令 Verify Checksum ROM (Integrity Word)? 实际上、我无法验证该值、因为首先、我没有程序闪存内容、其次、我不知道校验和计算的算法。

    [TI]查看脚本的末尾、可以调用0xEF 来计算校验和、调用0xEE 来读取校验和。 脚本已经为您完成了所有工作。 校验和位于0x7FFC

    -我注意到脚本使用绝对地址、但不像 UCD9090那样偏移 。 这是否意味着我应该使用绝对地址、然后我将读取数据闪存?

    [TI]遵循划线规定的操作。 UCD9090不需要 ROM 模式进行编程、但 UCD9246确实需要 ROM 模式。 因此存在差异。
    -脚本在其他命令中使用命令0xFD (device_id)。 这是否意味着命令可以根据模式改变其含义?

    [TI]是的、您是对的。 0xFD 的含义与器件的模式(程序模式和 ROM 模式)不同。

    -是否有一种机制(脚本)从 ROM_MODE 恢复器件、以便我可以从 Fusion 工具之外恢复器件? 如果是、您也可以将其发送给我吗?

    [TI]目前、除了融合 GUI 之外、我们没有其他工具。

    如果您回答 我的所有问题、我将不胜感激。
    我将在下周下班,并将继续工作。

    谢谢你

    [/报价]

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

    我们现在正在使用 UCD9246。 如果您还记得、我们已进入 ROM 模式、无法将其恢复。
    我们有 USB-TO-GPIO、能够恢复器件。
    之后、我尝试严格地遵循您发送给我的脚本。
    我的问题:
    编程期间、我总是需要使用 PEC。 否则、我收到 NACK。
    您注意到 PEC 是可选的。 您能解释一下为什么我们真的需要使用 PEC?

    2.正如我已经写的那样,我们严格遵循了脚本。
    它包含以下步骤:
    a)正在将设备发送到 ROM 模式...无错误地通过
    b)大量擦除数据闪存..... 没有错误
    c)写入数据闪存...无错误地传递
    d)擦除程序闪存的最后一部分...... 没有错误
    e)使用脚本中的数据编写程序闪存...无错误传递
    f)让 ROM 计算程序闪存校验和...传递时没有错误
    g)验证计算出的校验和 ROM 与我们所写的内容匹配... !!!!
    在此步骤中、我们从器件获取与脚本数据不同的数据。
    这可能意味着校验和错误、不是吗?
    h)正在执行程序...顺利通过

    在最后一步器件变为"砖型"并且不进行绝对的应答之后。
    我的问题:
    2.1为什么我们从器件获取的校验和不等于脚本校验和?
    2.2如何从该状态恢复器件?

    3.在已安装的用于 USB-TO-GPIO 的软件中,我们发现了实用程序“Fusion Tool Launcher”(位于文件夹...\Texas Instruments\Fusion Digital Power Designer\bin)
    这可能对恢复砖型器件很有用。
    但它会要求程序闪存十六进制文件进行恢复。 您可以将此文件发送给我们吗?

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

    1.当器件处于 ROM 模式时、PEC 字节是 dotary 的、只有当器件处于正常模式时、它才是可选的。

    2. 您的设备是否具有脚本文件中所述的正确设备 ID:UCD9246-64|5.6.0.11220|090922? 如果不是、则不能使用我共享的脚本文件。

    从脚本文件中、您需要将0x66DBEBB2EEEBB833B5EE00002C55D6C7写入地址0x17FF0、其中2C55D6是校验和。 在步骤 g 中、返回的校验和应为2C55D6。 如果不是、器件将保持 ROM 模式、您需要刷写出厂数据来解决此问题。

    3.下面是文件,您可以使用 Fusion 固件和配置下载工具来解压 device.e2e.ti.com/.../UCD9246_2D00_64_5F00_5.6.0.11220.x0

    此致

    Yihe

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

    Yihe

    您写的内容必须包含 ID 为 UCD9246-64|5.6.0.11220|090922的器件、否则我们无法使用您的脚本。  

    这意味着我们只能使用此 ID 对器件进行编程。 但合理的问题是、我们应该如何处理其他 ID、无法对它们进行编程? (例如、我有 ID:UCD9246-64|5.7.0.11359|091029)
    是否有通用方法对器件进行编程?
    我们看到了以下方法:
    -读取程序闪存并将其写回、但我们没有关于读取工作原理的信息。 器件是否有此机会读回闪存?
    -始终在所有设备中写入特定固件。 但我认为这不是一种好方法、因为该器件可能具有较新的器件。


      Fusion 工具如何涵盖所有版本的框架?

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我希望您了解脚本文件不能与不同的器件兼容。 方法是相同的、但不能将脚本与器件混合使用
    如果您查看我提供的脚本文件、第一步是读取 DEVICE_ID、您必须确保器件中的 DEVICE_ID 与脚本文件匹配。 提供的脚本文件仅适用于 UCD9246-64|5.6.0.11220|090922。

    对于您正在使用的任何设备、您都需要自己导出脚本文件。

    此致

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

    尊敬的 Yihe:

    您认为我们非常聪明地理解此脚本仅用于一个 ID、这一点很好。 如果没有您的任何信息、我们就不是很聪明。
    但是、我们需要支持客户端的所有 ID 版本
    我们看到 TI 工具可以为不同的 ID 创建脚本文件。 因此、您可以通过一种方法来实现该目的。
    我们似乎需要这种技术。
    如果我们需要签署任何其他 NDA 才能获取此技术、请告诉我可以与之解决此问题的人。
    如果我们不需要解决一些组织问题、请阐明如何自行创建脚本文件。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    对于客户终端的每个 ID、您的客户将提供一个单独的脚本文件进行编程。
    您需要遵循脚本并将与脚本文件 ID 相同的数据写入器件。
    我不明白为什么您需要 GUI 的功能。 脚本文件必须来自 FUSION GUI。
    此致
    Yihe
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Yihe:

    正如我们所说的、我们当前的客户现在是 Flextronics (一家非常大的制造公司)。
    它们为我们提供的文件仅包含 EEPROM 数据。
    我绝对确信他们不知道脚本是什么以及如何生成脚本。
    此外、它们会产生大量设备、并且可能是在一个制造批次中存在具有不同 ID 的设备时出现的情况。
    在这种情况下(根据您的规则)、当他们满足具有新 ID 的器件时(我们无法支持、因为没有相应的脚本)、
    他们必须停止制造、向我们发送电路板(如果没有具有新 ID 的特定器件、我们无法生成脚本并将其连接到 TI 工具)、等待电路板交付到我们的实验室(可能需要几周时间、 他们目前正在等待) 等
    您是否意味着我们需要遵循此规则?
    如果是、根据我们的经验、这是真正最原始的客户支持方式、我们从未遇到过类似的情况。
    我们将向您发送建议、并向您发送他们的反馈。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好
    感谢您的观看。 最近、TI 发布了一系列 UCD90xxx 培训视频。 以下内容是培训客户如何生成数据闪存脚本文件
    training.ti.com/fusion-power-designer-how-import-and-export-data-flash-script-files。

    当 TI 发布新的 ID prodcut 时、Fusion GUI 能够生成脚本文件。 无论如何配置器件、您的客户始终需要使用 TI Fusion GUI。 如果没有 Fusion GUI、它们就无法配置/调优器件。 修复所有设计后、它们将导出数据闪存脚本文件并向您提供该文件。 您需要的是按照文件进行操作并将程序编程到器件中。
    希望这能消除您的疑虑。

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

    由于您的消息已持续数周、我们将关闭此帖子。 如果您有更多问题、请告知我们。

    谢谢