主题中讨论的其他器件:TUSB8041、 TUSB321、 TPS2500
您好!
过去几个月、我们一直致力于开发 USB Type C 扩展坞、以便将多个器件连接到手机、并可以将充电器连接到系统。
简要功能:
- 手机通过 USB Type C 连接器连接到第一个 PD 控制器(TPS65987DDH)。 当系统未连接充电器时、此控制器处于功耗灌电流模式、即为集线器和连接的设备供电。 控制器始终处于 UFP 模式。
- 电话端口的数据线连接到集线器(TUSB8041)
- 有两个 USB Type C 连接器可用于将设备(例如摄像机、闪存驱动器、鼠标、键盘等)连接到集线器。 这两个器件均由5V 电源供电、最大电流为500mA (TUSB321与 TPS2500)。
- 电路板上有另一个 PD 控制器(TPS65987DDH)、用于将充电器(USB Type C)连接到系统。 连接充电器后、必须为系统供电、手机进入充电模式。
- 手机将始终连接到电路板。
- 电路板上没有电池。 两个 PD 控制器中的一个将在电池电量耗尽模式下启动
- PP_HV1和 PP_HV2处于双链路(两个 PD)中、并连接到内部5V 电源轨。 SMPS 制造1V1和3V3供内部使用。
- GPIO1上有一个从电话 PD 到充电器 PD 的连接、此连接有一个下拉电阻器和一个 RC 滤波器(1k/100nF)。
配置电话 PD (高级模式):
- 在 BP_WaitFor3V3_Internal 中引导;因此、当 Board_3V3稳定时、PD 控制器从闪存加载其配置
- PP 开关作为灌电流或拉电流
- Power DUO 模式
- GPIO1配置为输入:加载应用配置1
- Load App Config 1在上升沿触发 CMD:DBfg (清除电池电量耗尽标志)=>因此当充电器处于灌电流模式时、该标志会清除
- 加载应用配置1在上升沿触发 CMD:SWSr (切换至源)
- 加载应用配置1在上升沿触发 CMD:SWSk (切换至灌电流)
- 处理和启动交换至源已启用
- 1配置了发送源功能
- 1配置了发送接收能力
配置充电器 PD (高级模式):
- 在 BP_NoWait 中引导;因此它始终尝试从闪存加载其配置
- PP 开关仅作为灌电流
- Power Duo 模式
- GPIO1为输出:灌电流仲裁输出
- 处理并启动与灌电流的交换已启用
- 1配置了发送接收能力
此器件与永久连接到手机的电路板一起使用。 充电器仅在为手机充电时连接、不工作。 大部分时间它按预期工作、但有时电话-PD 没有响应。 只有电话的硬重置或断开/连接才能解决此问题。
使用调试工具、我发现电话 PD 在无响应时处于的状态为:common_State_ATTACHWAIT_SNK。
另一个问题:有时电话-PD 具有重复性、但它处于 PEState_Sink_Ready 或 PEState_Legacy 模式。 在这种情况下、手机可以为电路板供电、但在连接充电器时、它不会充电。 看起来两个 PD 控制器都处于灌电流模式(充电器中的 P1_RCP 为 true)。
当器件工作时、电话 PD 处于 PEState_Source_Ready 和 PRState_SinkTxOk 状态。
当我硬重新启动电话时(不更改设备上的任何内容)、电话-PD 会继续并与电话协商 PDO。
已尝试:
- 配置来实现的
- 在电话 PD 上使用灌电流仲裁输入
- 在与 Charger-PD 相同的输入上使用两者- APP 配置、灌电流仲裁输入
- 已尝试在电话 PD 中进行灌电流和拉电流的虚拟设备配置
- 许多有关端口配置和控制的配置
- 更快/更慢的压摆率
- 其他电话
遗憾的是、这也不能解决问题。
我是否错过了一件事? 有人有线索吗?
此致、
Matthijs