主题中讨论的其他器件:TPS26750、 TPD4S480
工具/软件:
我正在设计一个定制设计、仅受电和由 VBUS 供电、其中 TPS26750 通过 I2Ct 连接到 MCU、我使用 TPD4S480 作为 TPS26750 数据表所示配置的保护芯片来实现 EPR。 我使用引脚搭接的 NegotiateHighVoltage 配置来协商上电时的 20V/3A 合约。 我没有将 EEPROM 连接到 I2Cc、此论坛上的其他帖子导致我认为 I2Ct 交互应该能够在没有 EEPROM 的情况下过渡到 EPR PDO。
在首次插入 USB 电缆时、TPS26750 会正确协商 20V 固定合约并为我的 MCU 供电。
我可以通过 I2Ct 成功写入和读取所有寄存器、并且可以更新 Transmit Sink Capacity 0x33 并自动协商 Sink 0x37 寄存器。 如果我修改这些寄存器并发出 GSrC 4CC 命令、器件将正确地重新协商我指定的 SPR PDO 的 PD 合约、但似乎会忽略寄存器 0x33 中的固定 EPR 配置文件、即通过 USB C 140W 电源提供的 28V/5A 固定配置文件(Rockstor Y10A271-W1 也尝试了 Dell 165W USB-C 电源)。 当我读取接收到的供电方能力寄存器 0x30 时、该寄存器中的 EPR PDO 为零、EPR PDO 数量的位和 EPR PDO 的位均为零。 我使用多个电源尝试了该方法、并获得了相同的结果。
我使用 TIDT407 中所示的相同方法来确认电源中可用的 PDO、并确认 28V/5A 固定电压是两个电源中可用的 PDO、并且在将电源连接到使用这些 PDO 充电的计算机时、能够观察电源通过 KM003C 成功创建合约。
我在执行 GSrC 后尝试发出 ESRC 命令、但 ESRC 似乎没有任何作用。 我还尝试使用 USBCPD 应用程序自定义工具来创建这些寄存器值、我下载了.json(附加为 config.txt) 文件、并将寄存器值复制到我的 MCU 代码中、以确保将正确的值写入寄存器、但也没有幸运。
USB PD 3.2 规范的第 6.4.10.1 节引用了“应在固定 5V PDO 中设置支持 EPR 模式的位“、并“EPR Mode Capable 位应已在发送方收到的最后一个请求消息中设置“、在我看来这两个操作都没有完成、但我不知道可以在哪里执行这些操作。
如果没有 EEPROM、我尝试不可行吗?或者缺少关键细节?

