背景是我正在尝试构建一个直通或通过类似应用程序的加密狗充电。使用带有 2 个 UCPD 端口的 G0,端口 0 作为接收器,端口 1 作为 DRP,使用各自的 TCPP 芯片
我的目标是让输入端口 0,获得可用的 PDO,减去设备消耗的功率,然后将这些调整后的 PDO 传递到输出端口 1,让上游设备选择。一旦在端口 1 上选择了 PDO,端口 0 也会选择相应的 PDO
我有几个关于在 STM 上使用 UCPD 实现此功能的问题。我只是在摸索一个测试项目(还没有硬件),但我似乎看不出如何动态设置 PDO。具体来说:
能否在运行时动态设置和删除 PDO?
PD 代码的哪一部分是编辑/添加此功能的最佳区域?
2022-12-2 14:57:30
我建议首先查看wiki(包括可选部分)以获得能够处理多个 PDO 的完整代码。
然后,您应该能够修改软件以动态声明 PDO,并相应地处理它们。
在我们的示例应用程序中,PDO 在文件 usbpd_pdo_defs.h 中静态声明。它们在数组 PORT0_PDO_ListSRC 和 PORT0_PDO_ListSNK 中声明。
处理实际 PDO 的代码部分位于 wiki 的高级部分,例如 SNK。
所以,是的,您可以动态管理 PDO,但是您需要根据需要修改这些代码部分以实现此功能。
我建议首先查看wiki(包括可选部分)以获得能够处理多个 PDO 的完整代码。
然后,您应该能够修改软件以动态声明 PDO,并相应地处理它们。
在我们的示例应用程序中,PDO 在文件 usbpd_pdo_defs.h 中静态声明。它们在数组 PORT0_PDO_ListSRC 和 PORT0_PDO_ListSNK 中声明。
处理实际 PDO 的代码部分位于 wiki 的高级部分,例如 SNK。
所以,是的,您可以动态管理 PDO,但是您需要根据需要修改这些代码部分以实现此功能。
举报