While it looks simple from the outside, there are still complexity issues to be dealt with inside USB Type-C designs.
By now, there’s quite a buzz about the new USB Type-C spec given that it provides for a reversible plug connector for USB devices and cabling, aiming to end the endless cable flipping to make sure the orientation is correction.
To avoid confusion, while developed at about the same time as the USB 3.1 specification, it is distinct from that one. When it comes to software support for Type-C, Windows 10 will support USB 3.1 and USB Type-C; Apple’s OS X has supported USB 3.1 and USB Type-C since it rolled out the 2015 versions of its Macbooks; and there will be support in Android M for faster charging.
On the hardware side, some of the first devices to accommodate a USB Type-C cable are Nokia’s N1 tablet, Apple’s 2015 MacBook, and Google’s second Chromebook Pixel. The first smartphone that accommodates a USB Type-C cable is from China-based LeTV. LaCie announced a mobile storage drive, while SanDisk launched a family of SSDs that allow 10 Gbit/s USB 3.1 Type-C.
Gervais Fong, product marketing manager for the Solutions Group at Synopsys, observed the thing that gets most attention immediately with the new Type-C connector is the simple reversibility of it. “The traditional USB connector I call the ‘three try connector’ because you plug it in the first time, but you didn’t align it quite right, so it doesn’t quite fit, and you figure you must have it oriented incorrectly. You flip it over — clearly it’s the wrong orientation — you flip it over again and it works. However, with the new Type-C connector, either orientation works. And if you’ve ever looked at a USB Type-C cable, the connector is the same on either end, so the cable is also reversible, not just the orientation of the connector.”
In addition, the Type-C standard makes ‘USB’ even more universal in the sense that it is scalable in terms of the latest data rates, the latest performance that the connector and cable can support, which is up to 10Gbps — the latest USB 3.1 specification. The connector is also designed to support systems that want to implement the separate USB power delivery specification, which defines the ability to provide even more power over the USB cable. For example, you can literally — if you design systems carefully enough, and you put in place the proper components — provide up to 100 watts of power through that cable, but it obviously involves some careful engineering to do that.”
Arif Khan, product marketing director for Design IP at Cadence, noted that there is obviously a software piece now that there’s a far more intelligent connector. “Power delivery software is also required to interact with the power controller that’s more intelligent than it used to be in the past,” and said different providers are working on this: Google is working on a stack for Android, along with others, including Cadence and Synopsys.
One of the other pluses to USB Type-C is that it can support alternate modes, which can handle not just USB protocol over the cable and connector but also some of the video protocols like DisplayPort. “When you look at all of these key features of this new connector standard, you’ve now got the ability to provide data, power and video over a single cable connector interface,” Fong pointed out.
However, as design teams work to add in all these different capabilities, and to make it a seamless user experience, it means more complexity for the design engineer because even though the end user doesn’t have to worry about connect orientation the system needs to be able to understand what orientation the connector is dealing with.
“It has to be able to deal with the reversibility of the cable so now the system has to understand when the new Type-C cable connector is plugged into a host, or a device,” Fong said. “When it is plugged in, it needs to understand if the system has the ability to support power delivery or not. It needs to understand whether or not it can handle the display port alternative mode, for example. All of that complexity builds upon itself such that as you add the functionality and want to take advantage of all these new features and capabilities, it makes the system more complex. If you start getting into all the different considerations, it could look quite large in terms of the complexity.”
As far as other software challenges, however, Colin Walls, embedded software technologist at Mentor Graphics, asserted that from the software perspective, there are no design challenges because the Type-C is simply the new connector that comes along with USB 3.1. “So from a software engineer’s point of view nothing very interesting has happened recently on the USB front because USB 3.0 was the last big change, and 3.1 was an incremental change in terms of the performance and some of the functionality of USB.”
But from an external perspective, he said, the change of connector will be something that everybody notices even if the rather complex software under the hood is not going to change at that particular point. This is because USB is, from a software perspective, very complex. “There is a general rule in the world that the easier and simpler something is to use, the more complex it is under the hood.”
Given the complexity, people tend to buy the USB software, he said. “For example, if you are choosing a specific real time operating system to use on an embedded device, you would probably go to your RTOS vendor to get the USB stack. Again, from a software engineer’s point of view, they need to understand broadly how USB works in terms of the higher level protocol and what kind of capability it has but the actual nuts and bolts of how it works under the hood they probably don’t need to know.”
Along these lines, Fong said there’s more good news. “If you look at the use of the various USB standards and products in all these different segments, the traditional older USB 2.0 — the high speed USB protocol — that’s really quite easy to implement for Type-C. If all you want to do is take an existing USB 2.0 product and want to be able to support the new Type-C cable and connector with the reversibility it just requires two resistors added to an existing USB 2.0 design. You literally can support Type-C with that approach. But once you go to wanting to support USB 3.0 at 5Gbps or USB 3.1 at 10Gbps, then your complexity increases. You have to add additional data lanes to your PHY design because, assuming you want to integrate the functionality into your SoC, you have to add additional data lanes. Depending on which way the connector is oriented, it’s going to connect to either data lane no. 1 or no. 2, and the reason is, running that 5 or 10Gbps you don’t have the luxury of shorting either one of the possible orientations to a single data path. The signal integrity considerations running at 5 and 10Gbps don’t allow you to do that. The working group that defines the standard recognized that so they clearly defined the requirement for the two data paths.”
If this functionality is going to be integrated as IP, there must be a PHY with two lanes to handle that. Separately, to support the power delivery capability and the alternate mode video capability, there must be logic and sideband signals to be able to handle the handoff of the transitions whenever there are different modes of operation, he said.
Khan agreed. “While USB Type-C addresses the common question of which way is up, it poses interesting challenges for design because now something that was carrying one type of signal has to suddenly carry a different kind of signal. So there’s some logic built in to the connector itself to help devices on both sides identify which way is up and which signals are correctly getting carried on these wires. There’s a set of pins that tell you which direction traffic is flowing, and that’s all handled under the hood in the mechanical, inside the electrical and inside the design. There’s a lot of magic behind the scenes to make the flip connector work seamlessly.”