大家好、支持团队。
我的客户在下面询问我们:
执行4ACC GSrC 后、电源状态的 TypeCCurrent 的值变为2而不是3、除非等待寄存器访问2秒或更长时间。
有没有办法避免这种情况?
为什么电源状态类型 CCurrent 值为2?
进行调查以找出原因的正确方法是什么?
此致、
千兆
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.
您好,Brandon-San
我们从我的客户那里获得了以下意见;
PowerStatus 寄存器中的 TypeCCurrent 位字段指示连接的源的类型。
问题在于、即使已连接 USB-CCurrent 适配器、它也会被识别为 PD。
当被识别为 USB-CCurrent 源时、此字段为3、但为2、表示 PD。
在我当前的系统中、TPS2552的 EEPROM 没有预先编程、我正在通过 I2C 从 MPU 运行补丁捆绑包。
因此、当在连接 USB-MPU 适配器的情况下执行上电时、系统会启动并从 PD 执行补丁捆绑包、如果协商已完成、则不会将其识别为 PD 并被识别为 SDP。
因此、在补丁捆绑包结束以请求重新协商后执行 GSrC。
之后、以300ms 的间隔进行轮询、直到电源状态寄存器的 ChargerAdvertiseStatus 变为2。
此时、TypeCCurrent 位字段变为2而不是3。
执行 GSrC 后、如果访问电源状态寄存器的操作停止2秒、TypeCCurrent 位域将正常变为3。
对于 GSrC、只需将"GSrC"写入 CMD 寄存器即可。 GSrC 没有参数、因此 DATA0寄存器未置位。
由于返回代码为0、因此操作是正常的。
此致、
千兆