Minimal wiring for USB-C jack - Page 1
Forum section: electronics / projects

author: ebastler
author_rank: Super Contributor
timestamp: October 18, 2021, 07:14:13 am
content: I have used mini or micro USB jacks in various PCB designs, for power supply and/or serial communication via a CDC device. All purely for hobby purposes; the CDC device is typically implemented in an FPGA, and the D+/D- pins are directly wired to the FPGA (with the appropriate termination resistors of course).With USB-C gradually taking over, I was wondering whether I can simply use the same wiring with USB-C jacks: Connect the data pins A6/B6 and A7/B7 in parallel, respectively, and likewise connect all GND pins and all VBUS pins. Is it as simple as that, and USB-C is backwards compatible with the older USB 2.0 that way, or is there something else I need to consider?Thanks for your help!

author: ebastler
author_rank: Super Contributor
timestamp: October 18, 2021, 09:21:12 am
content: Ah, I think I can largely answer my own question. The connections in the post above are correct, but in addition CC1 and CC2 will each need to be connected to GND via 5.1 kOhm resistors, to ensure that power is delivered from the host. Does that sound right?https://community.cypress.com/t5/Knowledge-Base-Articles/Termination-Resistors-Required-for-the-USB-Type-C-Connector/ta-p/253544

author: cowana
author_rank: Frequent Contributor
timestamp: October 18, 2021, 10:01:43 am
content: That sounds right. Wiring the two D+/D- signals in parallel is correct for a slave device. Personally I've only used that with up to Full Speed (12Mbps); potentially if you're trying to use High Speed (480Mbps) you could run into SI issues and require a mux.The first few designs I made with USB C connectors just connected the VCC/D+/D-/GND lines; while that works fine with a USB A to USB C cable, anything host which tries to do power negotiation via a USB C to USB C cable won't supply any power.Adding the two 5k1 resistors to GND fixes this, and the system will work with both (legacy) USB A -> C and USB C -> C cables.

author: ebastler
author_rank: Super Contributor
timestamp: October 18, 2021, 12:13:30 pm
content: One more addition: Just found out that USB-C connectors with only the signals required for USB 2.0 are commonly available. Most have 16 pins in a single row (4*GND, 4*VBUS, 4*DATA, 2*CC, 2*SBU), with the GND and VUS pins already grouped in pairs. That makes for a simpler footprint which is easier to connect. I am not sure when the SBU (side band use) pins would be used in such simplified connections -- analog audio in alternate mode maybe?Here's an example connector from Molex:https://www.molex.com/pdm_docs/sd/2171790001_sd.pdf

author: voltsandjolts
author_rank: Unknown
timestamp: October 18, 2021, 01:35:51 pm
content: Quote from: ebastler on October 18, 2021, 07:14:13 amWhat code/library/IP do you use for this usb implementation?

author: ebastler
author_rank: Super Contributor
timestamp: October 18, 2021, 04:20:49 pm
content: Quote from: voltsandjolts on October 18, 2021, 01:35:51 pmThe serial communications layer is by Joris van Rantwijk,http://jorisvr.nl/article/usb-serial. I have combined this with a physical layer (USB 1.1 only) which also resides in the FPGA, by Rudolf Usselmann:https://opencores.org/projects/usb_phy. I actually used this VHDL translation of Rudolf's original Verilog PHY layer:https://opencores.org/projects/usb11_phy_translation.I used these with Spartan-6 FPGAs mostly (or exclusively? Don't recall whether I got this to work on the -3A before migrating to the -6.)Edit: Corrected the URLs (moved the stupid '.' outside of the URLs.)

author: voltsandjolts
author_rank: Unknown
timestamp: October 18, 2021, 04:38:36 pm
content: Interesting, thanks.I wish only one of vhdl or verilog existed, don't care which

author: Detzi
author_rank: Regular Contributor
timestamp: October 18, 2021, 05:38:09 pm
content: Quote from: ebastler on October 18, 2021, 12:13:30 pmWith USB2 they are reserved for "alternate uses" like audio adapters and power delivery handshakes. Have a look at:https://www.usb.org/sites/default/files/USB%20Type-C%20Spec%20R2.0%20-%20August%202019.pdf#%5B%7B%22num%22%3A595%2C%22gen%22%3A0%7D%2C%7B%22name%22%3A%22XYZ%22%7D%2C87%2C720%2C0%5Deghttps://www.usb.org/sites/default/files/USB%20Type-C%20Spec%20R2.0%20-%20August%202019.pdfChapter 4.3