All About USB-C: Instance Circuits
Within the six months which have handed after the final USB-C article has been launched, I’ve thought up a bunch of ways in which these articles may have been improved. It’s, after all, regular to have such a sense — anticipated, even. I now consider that there’s a couple of gaps that I may bridge. For example, I’ve not offered sufficient instance circuits, and generally one schematic can convey issues higher than a thousand phrases.
Let’s repair that! I’ll offer you schematics for the sorts of USB-C units you’re really prone to need to construct. I’ll additionally share a bunch of IC half numbers on this article, however I don’t have an exhaustive assortment, after all – in the event you discover extra cool ICs that work for USB-C functions and aren’t talked about right here, please do allow us to all know within the feedback!
We’ve seen the primary instance circuit in the first article – a device-side (“upstream-facing”) USB-C port that helps USB 2.0 and 5 V of energy. You could have the 5.1 Okay resistors, one resistor per pin, and bear in mind to affix each of the info pins — use vias if mandatory. If you wish to decide the quantity of present obtainable to you, you can even join ADCs or comparators to each of the CC pins collectively, although most frequently, your system is low-power sufficient that there’s no motive to hassle.
Now, if you wish to make a tool with a USB-C plug, the wiring is identical. The one distinction is that you just solely must populate one of many CC pull-downs, and wire up one pair of D+/D- pins as an alternative of each pairs. Nothing unhealthy is prone to occur in follow in the event you wire up the second pair of USB 2.0 pins, it’s simply uncouth by the usual; it used to battle with a sure type of ports and cables (the VirtualLink ones) which can be not being offered.
Nonetheless, in the event you wire up 5.1 Okay pull-downs to each CC pins, you’ll by chance make a hacker accent: a debug mode adapter, one thing that may assist you to get further indicators out of some USB-C ports. For example, on the Framework laptop computer, a USB-C-plug-equipped board with each pull-downs will change a USB-C port right into a debug mode, and expose the EC UART connection on the SBU pins. Until you make such a debug accent, you must solely populate one of many pull-downs, and wire up the USB 2.0 knowledge pins accordingly.
The Flipside Simply As Simple
What in the event you wished to make a number port? From one aspect, it’s simpler, since you don’t essentially need to do any ADC measurements. As an alternative, you add pull-ups, completely different worth for various quantities of obtainable present. Not all units examine the pull-up presence, however telephones do, so in the event you’re making a makeshift USB-C charger, a telephone or a laptop computer may not acknowledge it as a sound technique to cost in the event you don’t have the pull-ups. It doesn’t value a lot so as to add them, both!
Extra importantly, you may need to management VBUS, solely switching it on after you’ll have detected a pull-down on one of many CC pins. You gained’t essentially have an issue in the event you don’t, but it surely does cowl some essential edge circumstances, like somebody plugging a USB-A to USB-C cable into your port!
I’ve by no means achieved this circuit, however the way in which I see it, it must be sufficient to make use of two FETs, one per CC pin, each put in parallel. This circuit might need edge circumstances — enhancements welcome! On the opposite aspect, I’ve used pull-down-equipped USB-C port breakouts as host ports a couple of occasions, so it’s positively not a tough requirement, and also you don’t at all times want to interrupt out your FET assortment.
In whole, there’s two issues that you just need to do in the event you’re constructing a number port, and neither of the 2 are fairly required. Additionally, in the event you’d prefer to get extra advanced on the circuitry, or maybe even do a dual-role port, there are ICs that assist you to with this a part of USB-C!
For example, take the WUSB3801. It takes care of each supply and sink detection, has all of the wanted pulld-owns and pull-ups inside, and may even do dual-role ports, which helps you to construct any type of 5 V energy port. It may possibly output the port standing with a couple of GPIOs, or you’ll be able to join it to your microcontroller over I2C, and it even has an ID pin so to use it to completely substitute a MicroUSB port with a USB-C one! The WUSB3801 is sufficiently small, solderable sufficient, and versatile sufficient too. For example, over on the Hackaday Discord server, somebody has constructed a WUSB3801 circuit which limits a Li-ion charger’s present primarily based on whether or not the USB-C port related can present 3 amps or not.
Whether or not you need to construct a supply port, a sink port, or perhaps a port that may do each, the WUSB301 (or any of the numerous related ICs like TUSB320), will probably be your resolution of the day. One grievance I’ve in direction of the WUSB3801, is that it doesn’t present a GPIO for figuring out the currently-plugged-in port polarity — you must use the I2C interface for that. Now, why would it is advisable know the port polarity? Excessive-speed interfaces are the rationale, and the USB 3.0 interface is unquestionably a USB-C mainstay, if solely due to how simple it’s to implement.
Excessive-Velocity, Low-Worth
Constructing a USB 3.0 system with a USB-C plug is as simple as constructing a USB 2.0 system with a USB-C plug. USB 3.0 has two high-speed diffpairs added to it, and a USB-C connector has spots for 4 diffpairs. With the plug, you wire up your USB 3.0 SSRX to USB-C RX1, USB 3.0 SSTX to USB-C TX1, pop a pull-down on the CC1, and also you’re achieved. There are not any further parts other than any collection capacitors that your USB 3.0 hyperlink may want, and these gained’t be completely different from an everyday implementation.
Now, this is the reason you will notice a number of USB flashdrives undertake a USB-C plug — it’s this simple so as to add one, you don’t want to determine the CC pins, add any further parts or alike. You do want so as to add further parts in the event you goal so as to add a USB-C socket with USB 3.0 help, nonetheless. Think about plugging your USB 3.0 USB-C flashdrive right into a USB-C socket, relying on which method you rotate it, the pins are going to finish up in one of many two positions. You don’t need to be a part of TX/RX pins of the socket collectively, that may be a serious sign integrity downside, so in the event you’re including a USB-C socket with USB 3.0 help, you want a mux to deal with high-speed sign rotation.
These are, by now, a tried and true type of USB-C chip – you’ll find these from at the least a dozen completely different producers; in the event you discover a couple of ICs which have the identical pinout, it’ll be onerous so that you can get chip scarcity’d. Some muxes may have a POL enter, for manually switching your USB 3.0 sign into two attainable positions — these are meant for use along with your individual PD controller, which is to say, a chip that handles CC pins. Many muxes, you’ll find, additionally comprise CC logic, and can mainly offer you an entire resolution for five V and USB 3.0 succesful USB-C. For those who’re constructing a number, you may solely want so as to add VBUS dealing with, and in the event you’re constructing a tool with a USB-C socket, you don’t want anything!
Such a mux is how a number of low cost USB-C ports on laptops work – they solely present USB 2.0, nothing else, and given how simple it’s to implement, it is smart that a number of low cost laptop computer producers have caught to this. What’s extra, you may even omit the mux in the event you wished if in case you have a USB 3.0 port to spare. We’ve seen this achieved on desktop motherboards, and funnily sufficient, that is how both of the USB-C ports are wired on the MNT Pocket Reform, too! It is smart, the onboard USB 3.0 hub of the Pocket Reform board has 4 free ports, however there’s solely two USB-C ports you’ll be able to expose USB 3.0 on. It really works properly sufficient, and if somebody needs to get at these two further USB 3.0 ports, you solely must design a passive adapter!
One among these two USB-C ports on the Pocket Reform is particular,it doesn’t simply wire up the 5 V rail to VBUS like the primary port does. As an alternative, it has an influence change IC wired as much as VBUS, and a FUSB302B wired as much as the CC pins. That’s the charger port of the Pocket Reform, and certainly, this is without doubt one of the methods you may get energy supply working.
Get Your Volts And Pixels
All of the choices we’ve talked about already help as much as 15 W of energy, particularly, 5 V at 3 A. Increased voltages are supported too, after all. You simply want to talk PD, or maybe, let a pleasant chip communicate for you.
These pleasant chips, as you may guess, are PD set off ICs. You wire them as much as the CC pins, they usually negotiate an influence profile in your behalf. They’ve a couple of inputs that allow you to set the specified voltage, and optionally a FET driver output to disconnect VBUS if the PSU can’t present the voltage you want, ensuring that you just don’t get the default 5 V on an influence rail the place you require 20 V.
We may discuss so much concerning the set off chips, many other people do, and I sure have too. In truth, it’s the choice that folks overwhelmingly choose once they want a excessive voltage out of a USB-C port. They’re good for almost all of use circumstances, and chances are high, you need to attain for one. Nonetheless, thoughts you, their conduct is rigid: they gained’t allow you to make a dual-role port, they usually gained’t allow you to distinguish between a 30 W USB-C PSU and a 100 W one, which helps once you’re driving a resistive load. You can also’t mix them with USB 3.0 or DisplayPort both as they don’t have a polarity output, they usually don’t allow you to ship customized messages.
A PD controller will allow you to do far more! Whether or not you utilize an exterior PD controller just like the FUSB302B or possibly a PD controller constructed into your MCU, it would allow you to make your individual PD communication selections. It’s acquired all of the resistors you may want, and also you’re prone to discover instance code for no matter activity it is advisable accomplish. We’ve gone via customized PD message constructing already, each for energy and DisplayPort sink operation. In some unspecified time in the future we’ll even construct our personal USB-C PSU with a FUSB302B, so keep tuned! In relation to MCUs, there are some well-known STM32 and Cypress microcontrollers with PD peripherals, and lately, the CH32X035 has entered the scene.
Your personal PD controller will even allow you to ship out DisplayPort messages — extracting a DisplayPort output from any suitable ports, or maybe providing DisplayPort by yourself. Use a USB-C plug and you’ll not want a mux, or use a socket and add a DisplayPort-compatible mux – it would allow you to extract two-lane DisplayPort and USB 3.0 concurrently, or four-lane DisplayPort, whichever you may want. Or, you should use a DisplayPort socket, omit the mux, and solely have your port work in a single orientation – this Chinese eDP breakout seller can affirm!
Subsequent time, we’ll undergo the internal workings of a USB-C PSU, then convert a 20 V PSU right into a USB-C supply with 20 V help; we’ll solely want the FUSB302, a couple of FETs, and a spare 5 V regulator. It gained’t require a lot of us, you’ll be capable to convert your previous energy provides to USB-C laptop computer energy obligation, and also you’ll get some insights into how a USB-C PSU operates, too!