cancel
Showing results for 
Search instead for 
Did you mean: 

USB EZ-PD Type-C

KRingg
New Contributor II

I'm new to the world USB-C Aux-Mode, so I've created a clone of the "EZ-PD CCG3 USB Type-C to DisplayPort Cable Solution" reference project to serve as a starting point. My schematic (see attached) should be identical to the reference design, so I would have expected the demo (CYPD3120-40LQXI_dp_dongle) firmware (provided as part of the "EZ-PD CCGx SDK") to work out-of-box.

The "EZ-PD Configuration Utility" sees my PCB without issue and allows me to program (both) firmware binaries correctly:

KRingg_1-1618512328043.png

KRingg_0-1618511881178.png

I can also successfully configure my PCB with the provided *.cyacd file (from the SDK):

KRingg_2-1618512412915.png

Despite these successes, my host (Windows 10) never shows any indication of recognizing my DisplayPort sink via my custom PCB. Anytime I plug in my USB-C cable (known to carry AUX-Mode video), my PC recognizes a "Billboard Interface" (and the EZ-PD Configuration Utility sees the IC)... but my GPU never recognizes a video sink (which I'd expect to show up as a "Monitor" in device manager).

KRingg_3-1618512957252.png

Any and all suggestions would be most appreciated as I'm not quite sure what else to try. Again, my goal from the beginning was to mirror the "reference design" as closely as possible (since I'm new to this subject matter). Thank you!

 

0 Likes
1 Solution
KRingg
New Contributor II

For future visitors to this thread, I've resolved the issue.

As it turns out, USB-C male and female connectors are not just inverses of the same thing.  The female sockets generally carry both CC1 and CC2 while the male plugs only carry one of the two. Furthermore, a standard USB-C cable (being male on both ends) only carries one of the two lines.

The reference design is for an adapter with a USB-C male plug that goes directly into the host device. I had modified it to be a USB-C female plug that I was connecting via a standard USB-C cable. The reference design requires both CC1 and CC2 (VCONN) whereas my intervening cable was only carrying one of the two.

The solution is for me to use a USB-C extension cable (male-to-female), which carries both CC1 and CC2. I then built a custom male-to-male adapter (that carries both CC lines) to connect the cable to my custom PCB. It's not a pretty solution, but it gets the job done.

If anyone has suggestions on modifying the reference design (as simply as possible) to not require both CC channels, I may do a second fab+asm. Otherwise, I'll stick with my current design. Thanks!

View solution in original post

0 Likes
4 Replies
KyTr_1955226
Valued Contributor

Do you have a monitor connected to the other end of the dongle? 

Connecting the dongle alone will not appear as a monitor in the OS, you need a monitor on the other end for the GPU/OS to talk to.  The GPU connects with the monitor and completes what is called "Link Training" wherein the monitor and GPU work out signal strengths, and the monitor provides its operating specifications and other information to the GPU on the SBU/AUX lines (This information block sent by the monitor is known as an EDID).  The OS uses the EDID information from the monitor to properly set the display up for use.

The CYPD3120 is acting as a signal converter between USB-C and DP, and provides the billboard device.  It does not emulate an attached monitor on its own.  So if there is no monitor attached, there is nothing for the GPU/OS to see on the other end.  Plugging in a monitor to the other end of the dongle should pulse HotPlug Detect and begin the link training process with the GPU.

Hope that helps!

0 Likes
KRingg
New Contributor II

Thanks for the prompt reply!

I have attached a monitor to the other end of the adapter, but no luck. I've also confirmed that HPD is going high (as expected). Unfortunately, I'm still not seeing any indication of recognition by either the host or the display.

I should also mention that I've confirmed that all cables work as expected (via an off-the-shelf USB-C to DP adapter)... so the problem is definitely in my design (hardware or firmware).

Any other suggestions? Thanks!

0 Likes
kingzhang1017
New Contributor

If no monitor connected, normally PC can  recognizing a "PCI express up/down switch port".  If you confirm your PC type-c can support alt mode for Display Port , you will check SUB1/2 => AuxP/N first. Because of it's also high speed Low-voltage differential signaling just like 4*lane, the differential impedance also require to be 100 ohm, otherwise the communication of PC and monitor will no success. I'm also want to make a clone of type-c to dp port just like you, now my PC can recognizing a "wired link monitor", but my eDP monitor show "blank screen".  

Or, you can check the PD protocol running or not first: try to config you firmware with high voltage and connected it to a PD power adapter to check if your PCBA can get a right voltage. Before you do this, make sure your PCB will not damaged by high voltage. if PD protocol running OK, it's means that your CYPD3120 working & the CC communication is OK. Hope that helps!

0 Likes
KRingg
New Contributor II

For future visitors to this thread, I've resolved the issue.

As it turns out, USB-C male and female connectors are not just inverses of the same thing.  The female sockets generally carry both CC1 and CC2 while the male plugs only carry one of the two. Furthermore, a standard USB-C cable (being male on both ends) only carries one of the two lines.

The reference design is for an adapter with a USB-C male plug that goes directly into the host device. I had modified it to be a USB-C female plug that I was connecting via a standard USB-C cable. The reference design requires both CC1 and CC2 (VCONN) whereas my intervening cable was only carrying one of the two.

The solution is for me to use a USB-C extension cable (male-to-female), which carries both CC1 and CC2. I then built a custom male-to-male adapter (that carries both CC lines) to connect the cable to my custom PCB. It's not a pretty solution, but it gets the job done.

If anyone has suggestions on modifying the reference design (as simply as possible) to not require both CC channels, I may do a second fab+asm. Otherwise, I'll stick with my current design. Thanks!

View solution in original post

0 Likes