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.

[参考译文] TPS65987D:SPI 闪存

Guru**** 2454730 points
Other Parts Discussed in Thread: TPS65987D, TPS65987DDK

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1535028/tps65987d-spi-flash

部件号:TPS65987D
主题中讨论的其他器件: TPS65987

工具/软件:

您好、

我基于您的 EVM 电路 (USB-C-PD-DUO-EVM) 制作了另一个 PCB。我目前正在尝试连接我设计的 PCB 到 EVM 上的 FTDI 接口、并使用 tps6598x 应用自定义工具将软件刻录到 PCB 上的 TPS65987D 中。

但目前我遇到了 SPI 无法读取区域的问题、如下所示:

据我所知、EVM 上有一个 SPI CS 接头 (J202)。 通过短接一端、FTDI 的 CS 引脚可以连接到 EVM 上供电方或受电方 SPI 闪存 (U6 或 U201) 的 CS 引脚、然后我们可以通过该工具读取其区域。  因此、我认为、如果我将 EVM 上的 J2 接头连接到我设计的 PCB 上的 SPI 闪存、并且 EVM 的 J202 任一端都未短接、EVM 上的 FTDI 应该能识别 PCB 上的 TPS65987D、并能够通过工具读取或刻录它、但它似乎无法正常工作。 我不确定哪里出了问题。

TPS65987D 是否需要进行预编程、然后才能使用应用工具通过 FTDI 读取 SPI 区域、或者 SPI 闪存是否有任何规格要求?

以下是我的电路:

  •  TPS65987D

  • SPI 闪存

  • SPI/I2C 接头

基本上、设计与 EVM 上的源 PD 控制器类似、但有些器件已经简化、一些元件的规格不同、但功能相似、P3V3 由外部电源供电。

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

    尊敬的俊伟:

    但目前我遇到了 SPI 无法读取区域的问题、如下所示:

    没关系、空 SPI 闪存将没有区域指针、因为 SPI 闪存尚未格式化。 您应该使用默认值。

    是否需要对 TPS65987D 进行预编程、然后才能使用应用工具通过 FTDI 读取 SPI 区域、或者 SPI 闪存是否有任何规格要求?

    正确、您需要一个预编程的闪存来读取区域。

    但是、您应该能够从 GUI 刷写一个空闪存。 所有这些信息都说明您当前使用的闪存具有无效指针(因为它为空)、因此 GUI 将使用默认指针(推荐使用)。

    您是否尝试过在此步骤中选择“确定“? GUI 是否尝试刷写 SPI 闪存?

    谢谢。此致、

    Chris

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

    您好、Chris、

    感谢您的答复。

    是的、我一开始尝试过、但它卡在 Erasing Device、如下所示:

    稍后、我发现 PCB 的 CS 引脚未连接到 EVM 上 FTDI 的 CS 引脚、而是连接到 EVM 上 Source SPI 闪存上的 CS 引脚。 校正后、它运行良好。  

    我想与您确认软件刻录过程是否正确。 假设我要更改一些设置、即调整下图中的特定寄存器。

    调整并保存工程后、我可以直接从当前工程的闪存中刻录工程并重新启动 PCB 吗? 是否需要执行任何其他步骤?

    我还想问、当器件两侧的 PD 控制器和 PCB 都通过 PD 协议进行通信时、是否仍然可以建立 USB 连接? 由于我的 PCB 设计有传输路径、因此 Type-C DP 和 DM 不是连接到 PD 控制器、而是连接到 mini-USB。 目的是允许我的测试设备同时按照 PD 协议连接到计算机。  但我今天试过、似乎无法识别 USB。

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

    嗨、俊伟

    调整并保存工程后、我可以从当前工程的闪存中刻录工程并重新启动 PCB 吗? 是否需要执行任何其他步骤?

    正确、只要闪存被正确烧录、在下次上电时、PD 控制器将读取新映像并使用最新配置运行。 无需执行其他步骤。

    我还想问、当器件两侧的 PD 控制器和 PCB 通过 PD 协议进行通信时、是否仍然可以建立 USB 连接? 由于我的 PCB 设计有传输路径、因此 Type-C DP 和 DM 不是连接到 PD 控制器、而是连接到 mini-USB。 目的是允许我的测试设备同时按照 PD 协议连接到计算机。  但我今天尝试了它,似乎 USB 无法被识别。

    PD 通信发生在 CC 线路上、不应以电气方式干扰 USB 数据。 PD 控制器可能需要协商远端设备通过 USB 连接的正确数据角色 (DFP/UFP)、否则 PD 控制器不应影响 USB 通信。

    谢谢。此致、

    Chris

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

    您好、Chris、

    感谢您的答复。

    设计此 PCB 的主要目的是使我们的器件能够执行 PD 协议、并且测试需要连接到计算机 USB、因此我当前会断开连接到 PD 控制器的 DP 和 DM 路径(移除 R3014 和 R3015)、因为我担心它会与计算机连接冲突。

    但我目前尝试了各种具有 Type-C 连接器的器件。 不支持 PD 的端口可以连接到计算机 USB、而支持 PD 的端口无法识别 USB、这使我认为 PD 控制器设置不正确。  如果我希望器件能够使用 PD 协议 (VBUS 高于 5V) 并通过 USB 连接到计算机、是否有办法通过 GUI 界面设置来实现这一点? 当前我使用此项目设置进行刻录。  然后在 Transmit Source Capabilities 页面上添加一个 9V 拉电流 PDO、以将器件充电电压增加到 9V。

    e2e.ti.com/.../test5.pjt

    您说过“ PD 控制器可能需要协商远端设备通过 USB 连接的正确数据角色 (DFP/UFP)“、这是否意味着我需要连接 PD 控制器 DP、DM 路径(向后添加 R3014 和 R3015)?

    谢谢、

    Leo

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

    谢谢、

     我们会尽快回复您。

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

    嗨、Leo、

    设计此 PCB 的主要目的是使我们的设备能够执行 PD 协议、并且测试需要连接到计算机 USB、因此我目前断开连接到 PD 控制器的 DP、DM 路径(移除 R3014 和 R3015)、因为我担心它会与计算机连接发生冲突【引用】。

    没关系、与 PD 控制器的 DP/DM 连接仅用于 BC1.2、这是一种传统的充电方案。 它的移除不会影响 PD 协商、也不应该影响 USB 协商和枚举。

    您说过:“ PD 控制器可能需要协商远端设备的正确数据角色 (DFP/UFP) 才能通过 USB 连接“、这是否意味着我需要连接 PD 控制器 DP、DM 路径返回(添加 R3014 和 R3015 返回)?

    否、数据角色通过 CC 线路进行协商。

    您的问题可能与此设置有关。 通过将此设置为 DFP、您最初连接的是 TPS65987 作为 DFP(类似于主机)并将计算机作为 UFP(类似于设备)的计算机。

    通常 PCS 是 DFP、而不是 UFP。

    在此 pjt 中、我将该字段更改为 UFP、并禁用了“端口控制“寄存器中的进程交换为 DFP。

    e2e.ti.com/.../test5_5F00_UFPonly.pjt

    请尝试此操作、看看其行为是否不同。

    谢谢。此致、

    Chris

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

    您好、Chris、

    非常感谢您的答复!

    我试图安装你的文件,但 PD 似乎没有通信. 端口配置似乎仍需要设置为 DFP、PD 才能通信。
    但后来我发现无法连接到 USB 的原因是我设计的 PCB 导致的。 DP 和 DM 受接地 TVS 二极管的影响、无法正常连接。 删除它们后、我可以正常连接到计算机。

    我遇到了一个奇怪的问题。 当器件与 PD 控制器通信时、VBUS 电源将逐周期在默认的 5V 和 9V 之间切换。 通过 GUI 调试模式、PP 开关似乎会突然打开和关闭。 我还在努力弄清楚。 似乎触发了过流、从而导致开关闭合。 但是、让我感到困惑的是电流不应超过。 与 EVK 设计的唯一区别应该是 DC/DC 转换器。 我使用 RT8290 模型。

    此外、我想问是否可以通过 GUI 界面查看 IOCC 设置值?

    谢谢、

    Leo

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

    嗨、Leo、

    我尝试安装您的文件、但 PD 似乎没有通信。 似乎仍需要将端口配置设置为 DFP、PD 才能通信。

    有趣的是、远端可能仅为 UFP/受电端、因此不会连接到另一个 UFP 端口。

    但后来我发现无法连接到 USB 的原因是我设计的 PCB。 DP 和 DM 受接地 TVS 二极管的影响、无法正常连接。 删除它们后、我可以正常连接到计算机。

    好的

    此外、我想问我是否可以通过 GUI 界面查看 IOCC 设置值?

    IOCC 在固件中设置、不可在 GUI 中配置、因为它基于协商的 PD 合约、后者的电流可能取决于提供的供电 PDO 以及受电方从供电方发出的请求。 这可能会通过在供电 PDO 中设置最大电流并增加峰值电流字段而受到影响。

    我遇到了一个奇怪的问题。 当器件与 PD 控制器通信时、VBUS 电源将逐周期在默认的 5V 和 9V 之间切换。 通过 GUI 调试模式、PP 开关似乎会突然打开和关闭。 我还在努力弄清楚。 似乎触发了过流、从而导致开关闭合。 但是、让我感到困惑的是电流不应超过。 与 EVK 设计的唯一区别应该是 DC/DC 转换器。 我使用 RT8290 模型。

    您是否有 PD 分析仪? 您能否分享此循环行为的日志?

    在此行为期间、能否获得 VBUS、CC1 和 CC2 电压的示波器捕获结果? 我想看看电压是否下降、或者是否达到正确的电压。

    切换后、如果读取寄存器 0x40 的 PD Status、您是否会看到任何软复位或硬复位详细信息?

    谢谢。此致、

    Chris

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

    您好、Chris、

    遗憾的是、我没有 PD 分析仪来查看它们之间正在进行的通信。

    以下是示波器件连接到 EVM 和我设计的 PCB 时、VBUS 和 CC 引脚上的波形:

    •  两个组 0 供电 PDO (5V、9V)

          

    • 组 0 拉电流 PDO 的三个 (5V、9V、15V)

          

    我使用此工程设置、只需更改拉电流 PDO 的数量、使 VBUS 可以上拉至 9V 或 15V。

    e2e.ti.com/.../7384.test5.pjt

    从 VBUS 的行为来看、源 PD 控制器似乎出于某种原因不允许 VBUS 上拉至更高的电压。

    我查看了寄存器 0x40、有时下述说明会出现在 Soft Reset Details 部分中、有时会更改为“Reset Value、No Soft Reset。“、但连接到 EVM 时也会看到这种情况。

    此外、我注意到一种现象、当我连接到器件时、寄存器的值会不时突然变化(如视频中所示)。 我不确定这是否正常。

    e2e.ti.com/.../GUI-0x40.mp4

    谢谢、

    Leo

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

    嗨、Leo、

    是的、如果没有 PD 分析仪、这可能会相当困难、但让我们继续看看我们能发现什么。

    从您分享的示波器捕获可以看出、初始 5V 电压似乎按预期进行协商、结果不错、但我们没有看到 9V 如果没有分析器、无法判断协商是否正确完成、但现在让我们假设协商正确。

    可能是电源 (1) 未被告知转换到 9V、或者 (2) 未正确转换。

    您能否测试和分享以下示波器捕获?

    1. 仅使用 5V 拉电流 PDO 进行测试、并查看其是否稳定。 如果您看到稳定的 5V 电压、则读取状态寄存器和活动 RDO 寄存器并报告这些值。
      1. 我们只是想看看是否协商了 5V PD 合约
    2. 对于 5V 和 9V PDO 工程、您能否重新绘制示波器日志、还能添加 PDO1 GPIO 和所使用的直流/直流转换器的输出(应连接到 PPHV)
      1. 我们要确认(假设正确协商了 9V 合约)、GPIO 正在触发、直流/直流正在尝试转换电压。

    感谢报告 0x40 寄存器、遗憾的是、清除量不会太大、但我认为您没有看到 OCP 事件、因为该寄存器会触发一次。

    更改设置是不寻常的、我不太确定它们的含义。 稍后我会惊讶地看到端口角色作为受电方、因为您的配置似乎并不支持它。

    只是为了确认、您是否通过 VIN3V3 上的稳定 3.3V 电压轨为 PD 控制器供电?

    谢谢。此致、

    Chris

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

    您好、Chris、

    测量结果如下:

    • 仅 5V 供电 PDO

    似乎当供电方 PDO 设置为仅 5V 时、PD 可以正常通信。

    • 5V、9V、15V 供电 PDO

    我发现、有时当我设置启用 5V、9V 供电 PDO 时、PD 会正常工作、因此我更改了设置以启用 5V、9V 和 15V。 在这种情况下、肯定会出现异常。  两个 PD 控制器的 PD 协议似乎都已经很好地传达、因为 PDO_2 导通、但出于某种原因、PDO_2 立即关断、奇怪的是、电压不会增加而是会降低。  我使用外部电源为 P3V3、似乎稳定。

    我不确定这是否与 DC/DC 转换器的设计有关。 下图显示了 DC/DC 转换器的输出。 由于我使用的是 RT8290 数据表中的参考设计、因此输出电容值和配置与 EVM 不同。 我不确定这是否是影响 PD 控制器的原因。

    今天、我注意到 GUI 界面的调试模式下调试寄存器的值突然变化。 这似乎与配置寄存器设置本身突然变化有关、但原因未知。

    谢谢、

    Leo

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

    嗨、Leo、

    我不确定为什么会发生这种情况、但此处似乎存在 PPHV 电压从直流/直流转换器输出下降的问题。

    在协商 9V PD 合约时、似乎会触发相应的 GPIO、这表明 PD 协商已完成。

    但是、由于直流/直流停止调节、而不是转换到更高的电压 (9V)、PD 控制器会看到故障(可能是 UVP)、断开连接并尝试重新连接。

    GPIO 脉冲看起来很短、但看起来至少为几 ms。 一旦电压降至低于特定阈值、PD 控制器就会断开连接、因为这里的电压预计会增加。

    在这里、我可能无法为您提供太多帮助、因为似乎存在直流/直流问题、而不是 PD 控制器问题、但我认为您需要研究反馈电路和 GPIO 未按预期改变电压的原因。

    谢谢。此致、

    Chris

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

    您好、Chris、

    我想确认不同代码的 TPS65987D 固件设置是否存在差异?

    谢谢、

    Leo

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

    嗨、Leo、

    能否详细说明一下 TPS65987D 的固件设置与不同代码之间的差异“是什么意思?

    您提到的不同代码是什么?

    如果您讨论的是固件版本、那么是的、不同固件版本之间可能存在差异。 如果使用 TPS65987DH、应该使用 FW 版本、其中前 3 个数字为 707(即 707.10.10)。 对于 TPS65987DDK、前三个应为 907。

    谢谢。此致、

    Chris

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

    您好、Chris、

    每个 IC 似乎都具有 OTP 设置。 我的理解是、一些参数设置(例如 IOCC)在 IC 出厂之前会写入该 GUI、并且在离开后无法更改。 我很好奇、IC 封装上的不同数字是否可能有不同的参数设置? 还是因为它们都使用相同的固件版本而基本相同?

    我提到的不同代码是指 IC 封装上的数字、如下所示(右侧是 EVM 使用的 PD 控制器):

    我之所以问这个问题、是因为 EVM 上的 PD 控制器因一些意外原因而损坏、所以我用自己的 PD 控制器替换了它并重新烧录软件。 然后我发现、连接到器件后 EVM 的行为与我设计的 PCB 有点像。 所以、我想确认一下。

    此外、进行一些调整后、我设计的 PCB 可以正常工作。 可能是我的 DC/DC 转换器的电阻器值使反馈电压不在规格范围内。 此外、在 PD 同意较高的电压后、它将导通 MOSFET 开关、以更改电阻比以输出较高的电压。 由于开关时间过短、DC/DC 转换器似乎会工作异常。  

    谢谢、

    Leo

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

    嗨、Leo、

    每个 IC 似乎都具有 OTP 设置。 我的理解是、一些参数设置(例如 IOCC)在 IC 出厂之前会写入该 GUI、并且在离开后无法更改。 我很好奇、IC 封装上的不同数字是否可能有不同的参数设置? 或者它们是否基本相同、因为它们都使用相同的固件版本?

    这应该只是一个用于跟踪的批号。 行为上不应有任何重大差异。 上面的两个标记表示这一点。

    我之所以问这个问题、是因为 EVM 上的 PD 控制器因某些意外原因而损坏、所以我用自己的 PD 控制器替换了它、然后重新烧录了软件。 然后我发现、连接到器件后 EVM 的行为与我设计的 PCB 有点像。 所以,只是想确认它。

    有意思。 我不确定这里到底发生了什么、但如上所述、只要芯片是相同的 TPS65987 DH、它就应该具有相同的行为。

    此外、经过一些调整后、我设计的 PCB 可以正常工作。 可能是我的 DC/DC 转换器的电阻器值使反馈电压不在规格范围内。 此外、在 PD 同意较高的电压后、它将导通 MOSFET 开关、以更改电阻比以输出较高的电压。 由于开关时间过短、DC/DC 转换器似乎会工作异常。  [/报价]

    明白了、是的、这听起来像是 DC/DC 方面的限制。 TPS65987EVM 上的 DC/DC 应该可以正常工作、因为它已经在本应用中使用了一段时间、但遗憾的是、这里没有太多其他建议。

    谢谢。此致、

    Chris