manuelbl / usb-pd-arduino

USB Power Delivery for Arduino
MIT License
57 stars 10 forks source link

Issues with some PD source #12

Open VIPQualityPost opened 7 months ago

VIPQualityPost commented 7 months ago

Hi Manuel,

I discovered that I have some "picky" PD source which do not play well with the library (work well with other devices, like laptop). I tried to check with my analyzer but did not find any sort of expected misbehaving with the CC communication. Have you seen this behavior before? It seems like the device is able to negotiate a power profile, but within 10s of ms it will drop the connection and the microcontroller will restart. I don't think this is related to inrush capacitance tripping the source, as some sources are fine (or perhaps my other sources are just too lenient with their output power?)

VIPQualityPost commented 7 months ago

I just spent some more time digging, and confirmed with the same binary, this charger does not work , just bootlooping with any requested source voltage 9/15/20V(Anker 65W): https://a.co/d/0JOoG96 But this charger has no problem requesting stable 9V (does not have any higher voltage PDO) (Anker 33W): https://a.co/d/3TmiCP5

manuelbl commented 7 months ago

Are you using the library with an STM32Gxxx microprocessor (and the UCPD peripheral)?

VIPQualityPost commented 7 months ago

Yes, this is with G431CBU6, using UCPD (no additional TCPP chips, just CC wire direct to cable + ESD protection)

manuelbl commented 7 months ago

Do you have a way of recording the USB communication (incl. precise time stamps)? That would be very helpful.

An alternative is to add PDProtocolAnalyzer.poll(); to loop(). It will also log the USB PD communication.

VIPQualityPost commented 7 months ago

Yes, I can try to capture a trace, unfortunately I won't have access to more debug tools until next week. I will write back when I can save some data for you.