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.

TPS65981: 5V PDO accepting out of spec contracts

Part Number: TPS65981

Hi there, 

Is it intended functionality that a sink will accept any 5V PDO if it lists a 5V PDO even if the supply does not meet the minimum power requirement of the sink?

I have a source capable of delivering a maximum 5V1.5A and a sink requiring a minimum of 5V3A.
The system still negotiates successfully when we are expecting it to reject. 

I have played with the minimum power requirements; setting the sink manually to accept a minimum of 9W and also for the system to calculate minimum power automatically. I have also adjusted the register to 'choose highest'; voltage/current and power however it seems I cannot force it to fail the negotiation of the power delivery contract at 5V. The system always accepts the out of bounds source.

Within our system we do have communication to the chip and we are reading if the chip has negotiated successfully by reading its current contract. Where the system is seeming falsely accepting a contract our logic becomes flawed. 
I know there are a number of other registers which also highlight a successful contract but these also seem to indicate a successful negotiation, so we cannot use these o to overcome the issue. 


I understand this may be intended functionality as you may be offering as much as possible on VBUS as even on a failed negotiation it is going to stay at 5V anyway so you may as well accept as much as the source is offering?
if this is true could you offer a solution where we can read a register to highlight an out of bounds contract, when the system has accepted an out of range source at 5V?

Best Regards,
Jordan

2781.Test.pjt 

  • Hi Jordan,

    The sequence for negotiating a Type-C PD contract can be broken down into two different stages; an implicit contract and an explicit contract negotiation. The implicit contract is the Rp/Rd (pullup and pulldown) the is advertised and negotiated on the CC lines between the two devices. The explicit contract negotiation is the actually PD communication that occurs on a CC line, allowing for high voltage contracts such as 9V, 15V, and 20V. The implicit contract occurs first as if your device is setup as a sink, it will always present an Rd, waiting to detect a presented Rp. So an explicit 5V contract will still be negotiated since an implicit contract has already been negotiated.

     As far as determining the type of contract that is negotiated, you can reference registers 0x34 and 0x3F