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 PD 控制器的设备、当手机完全没电时、我在为三星 S22手机充电时遇到一些困难。 我还没有看到这种问题之前的三星手机,如 S10e 或 S20。 我捕获了 PD 流量、一切似乎都正常。 TPS65987D (作为 DFP)发送 SOURCE_CAPABILITY、S22 (UFP)发送请求、DFP 发送 PS_RDY。 然后 DFP 发送一个 DR_SWAP、UFP 接受该请求。 每条消息后都有 GOODCR。 但出于某种原因、总线上有一个 HARD_RESET、并且整个周期会重复、手机永远不会充电。 只有当手机"完全"死机时才会出现,当电源按钮被按下时甚至不会显示0%的警告。 我还没有在之前的三星手机上看到这个问题;即使他们完全死了,他们仍然会协商收费。 我在看 VBUS、在 PS_RDY 之后没有看到明显的下降。 什么可能导致此复位环路?
感谢您提供的任何见解、
托尼
尊敬的 Tony:
请向我们提供所发现问题的 PD 日志以及您用于 TPS65987D 的工程配置.pjt 文件。
我看一下,看看是否有什么不寻常的。 根据您的描述,似乎三星 S22充电直到数据角色交换,这会导致硬重置。
此致!
亚历克斯
尊敬的 Alex:
我已经附上了我的项目配置文件。 该网站不允许我上传 PD 日志。 我再试一次。 您认为硬复位是由数据角色交换引起的吗?
谢谢。
托尼
尊敬的 Tony:
从您对该行为的描述来看、可能是这样。 看起来硬复位在 DR_Swap 过程之后发生、但我需要查看所有这一切的时序。 PD 日志将会非常有用。 您能否压缩日志、看看它是否会发送? 此外、如果您可以向我发送 VBUS 的示波器捕获信息、这也会有所帮助。 VBUS 任何低于协商值的压降都可能导致复位。
让我来看看项目配置、同时看看是否一切正常。
此致!
亚历克斯
谢谢、zip 文件有效。 我把转储放在那里、如果你没有工具读取它(eZ-VBUS 协议分析器)、我放置一个日志屏幕截图、以及硬复位时的 PD 图形。 如果您需要有关任何数据包的更多详细信息、请告诉我。 您看到的序列会反复不断地重复。
托尼
尊敬的 Tony:
直到硬复位、PD 日志看起来正常。 硬复位发生时、三星 S22中的 PD 启动、手机应通过 VBUS 充电。 成功进行电源协商后进行硬复位。 在这种情况下、硬复位是一条消息、它会关闭 PD 的 VBUS 并将策略引擎状态复位、但在 CC 线路上保持上拉/下拉状态。 在日志中、我们看到 VBUS 在硬复位时降至0、但 CC 保持在相同的电平。 我认为、接受数据角色交换后可能会出现一些错误、从而导致硬复位。 请参阅以下摘自 PD 规范的部分:
"如果数据角色交换在被端口伙伴接受后随后不成功,为了尝试在 CC 线上重新建立连接,将需要[USB Type-C 2.2]中定义的 USB Type-C错误恢复操作(例如断开)。"
您的项目文件看起来也一样。 我唯一能建议的就是同时检查端口控制寄存器中的"进程交换到 DFP"位。 如果您可以访问电路板上的 FTDI 芯片、Tiva 芯片或 I2C 线路、是否可以连接到 GUI 并进入调试模式以收集调试日志? 调试日志可以为我们提供来自 PD 控制器的 UART 输出、这有助于弄清是谁启动了硬复位以及为什么。
此致!
亚历克斯