Close

Working on Firmware 1.1, Power/Data Splitter Needed

A project log for PD Buddy Sink

Smart power jack for USB Power Delivery

clara-hobbsClara Hobbs 07/26/2017 at 20:270 Comments

I'm currently working on the big new feature of firmware version 1.1, Power Delivery communications in Setup mode.  It's working partially, but not fully as planned yet.  The saved configuration is negotiated on boot in Setup mode, and any time the configuration is written to flash, a new contract is negotiated for the new power.  There's no way to control the output from the command shell yet, and I'd like the shell to be able to print information like the power supply's advertised PDOs, but what I've done so far is working well.

Er, it's mostly working well, that is.  I'm testing simultaneous Power Delivery and USB data with an Asus USB 3.1 UPD Panel, a device which has a few quirks.  It uses the old USB Power Delivery voltages of 5, 12, and 20 V instead of the newer 5, 9, 15, and 20 V.  It also only offers 1.5 A at 5 V.  However, it offers a full 5 A at 20 V if the cable can carry that much current, so it's not a bad tool to have on hand.

But there's one thing I've run into that I'm not sure whether to blame on the UPD Panel or the PD Buddy Sink's firmware.  When I reconfigure the Sink for 12 V and 20 V repeatedly, it happily gets those voltages as expected.  But sometimes when I configure it for 5 V, or configure it for something else when it was already configured for 5 V, power is lost entirely.  It seems unlikely that the PD Buddy Sink is at fault, since I'm not aware of anything in the USB PD spec that should cause the source to completely remove power until the sink is physically reconnected.  However, I'm not 100% sure I'm right about that, and I don't want to read all the way through a >500 page technical document to find the answer.  The easy way to test this would be to plug the PD Buddy Sink into a different power supply to see if the problem disappears, but I don't have another power supply that lets me communicate with the Sink via USB at the same time.

The solution I've imagined is a USB Type-C power/data splitter.  It could be a funny Y-shaped cable, or a small PCB with 3 USB connectors.  One connector would be male, with power, ground, the configuration channels, and the USB 2.0 D+/- lines connected.  These would split off so that one female connector would have power, ground, and the configuration channels, and the other would have ground and the D+/- lines.  This device would allow me to plug the PD Buddy Sink into any power supply, including standalone ones, while communicating with it from a computer.

I don't know if a device like this already exists, but I could design one easily enough.  If you know of anything like this, please let me know in the comments!  Otherwise, I'll be designing and ordering a PCB for one in a day or so.

Discussions