Implementing USB Type-C Datapath Support for Embedded Systems

Implementing USB Type-C Datapath Support for Embedded Systems

Understanding the pros and cons of using an external datapath switch or two USB ports for SoCs that don’t natively support USB Type-C.

by Morten Christiansen, Synopsys

The advantages of USB Type-C for embedded systems are not “hype-C.” USB Type-C connections are much more user friendly. There is no difference between the host and device side connector; one common cable works for all products; the connector can be flipped and inserted either way; and the receptacle is small and robust, making it ideal for front-panel, space-constrained embedded systems. The addition of DisplayPort Alternate Mode and HBR-3 bitrates to the specification supports 4K/60Hz monitors simultaneously with USB 3.0 or USB 3.1 on the same connector.

Designers of embedded systems with USB Type-C must add support for two SuperSpeed datapaths matching either one or the other orientation of the USB Type-C connector. The USB Type-C connector is symmetrical and duplicates most of the signals to support flippability, as shown in Figure 1.

 

USB Type-C Datapath Support for Embedded Systems_Fig1

Figure 1:USB Type-C pinout and rotational symmetry: The USB Type-C connector is symmetrical and duplicates most of the signals to support flippability.

This duplication requires datapath multiplexers for SuperSpeed USB products and datapath crossbar switches for Alternate Mode products. Designers have two implementation choices for USB Type-C datapath if the system-on-chip (SoC) doesn’t natively support USB Type-C: using an external datapath switch or using two USB ports.

External datapath switch
External datapath switches (or multiplexers, external to the SoC or USB chipset; see Figure 2) are commonly used in commercial products supporting USB Type-C. Existing high frequency analog switches originally designed for PCIe, Ethernet, SATA, DisplayPort and other standards have been repurposed for USB Type-C. The main advantage of the external switch solution is faster time-to-market. The disadvantages are cost, PCB area and (implementation dependent) reduction of signal quality.

USB Type-C Datapath Support for Embedded Systems_Fig2

 

Figure 2: Logical model for SuperSpeed data path routing across USB Type-C-based ports External datapath switches or multiplexers, external to the SoC or USB chipset are commonly used in commercial products supporting USB Type-C.

Signal loss in the datapath switch affects the channel loss budget from the USB port to USB Type-C connector. The channel loss budget for USB 3.0 Type-C is 6.5dB, minus the switch loss. The switch loss (including package losses) is typically 1.5dB. The remaining 5dB channel loss budget reduces maximum length of PCB routing from USB port to connector to 6 to 7 inches, depending on the quality of the PCB and its layout. The channel budget for USB 3.1 (SuperSpeed USB 10 Gbps) is 8.5dB from die to connector for all connector types. The typical PCB routing distance is 4 inches, but adding an external switch can reduce the length of the route to 2 inches or less.

It is important to remember that USB 3.0 with the standard-A connector was allowed a 10dB channel loss budget; direct conversion of an existing USB 3.0 standard-A embedded system design to USB Type-C might not be possible. External USB Type-C specific switches with built-in analog re-drivers can compensate for some switch and PCB routing loss. This is appropriate for USB 3.0; however, the specified re-driver for 10 Gbps operation is a complete re-timer (Figure 3). This re-timer consists of two complete PHYs plus some digital circuitry and will increase the cost and power consumption of SuperSpeed USB 10 Gbps solutions that require a compliant re-driver.

 

USB Type-C Datapath Support for Embedded Systems_Fig3

Figure 3: Re-timer architecture for SuperSpeed USB 10Gbps operation: Supporting USB 3.1 10 Gbps operation requires a re-timer consisting of two complete PHYs plus some digital circuitry.

Two USB ports solution
Using two USB 3.0 or USB 3.1 ports is an alternate solution to the USB Type-C switch. In this case, one port is active, depending on the USB Type-C connector orientation, while the other port is in a low power state. Since there is no datapath switch, there is no loss of signal quality.

Multiple commercial products with a multiport USB host capability take advantage of this solution; two existing ports for Standard-A can be used to create one USB Type-C port. Figure 4 shows a common 4-port USB 3.0 host controller chip used ‘as is’ in a 2-port USB Type-C host controller plug-in board. Two SuperSpeed USB RX and TX pairs are used for one USB Type-C connector. To preserve signal integrity, the SuperSpeed signals are routed directly from the controller to the USB Type-C connector. The routing is clearly visible on the visible side of the PCB. Two USB 2.0 signal pairs are also routed from the controller to the USB Type-C connector. The lower USB 2.0 data rate allows the PCB routing to be continued on the opposite side of the PCB, allowing optimal routing of the SuperSpeed USB PCB traces.

The USB Type-C specification requires that the Vbus be enabled only when a device is attached. This prevents the 5V power supplies of two USB hosts from being shorted together because the USB Type-C connector allows two hosts to be physically connected even if no operation is possible.. In Figure 4, a load switch and large capacitor can be seen next to the USB Type-C connector. The host has one Pull-up resistor Rp on each Configuration Channel (CC) pin. When a device is connected, the device Pull-down resistor Rd reduces the voltage on one of the CC pins. This causes the load switch to enable the Vbus. When a host is connected, the load switch is not enabled.

 

USB Type-C Datapath Support for Embedded Systems_Fig4

Figure 4: Multi-port USB Type-C Host Controller PCB: Normally for USB Type-C, CC pin detection is used to determine orientation. For this design, no orientation detection is required. Both ports are active, but only one port will detect the device.

Normally for USB Type-C, CC pin detection is used to determine orientation. For this design in Figure 4, no orientation detection is required. Both ports are active, but only one port will detect the device. The other port stays active but unused.

Single-port SuperSpeed USB hosts can use a USB 3.0 hub chip to create two internal SuperSpeed USB ports to connect, for instance, a USB to Ethernet controller and a memory card reader. The remaining two ports can implement an external USB Type-C connection, as described above.

Summary
Until SoCs with native USB Type-C support become available, embedded system designers can adapt their existing designs for USB Type-C using an external datapath switch or two USB ports. For most designs, the required Type-C Configuration Channel circuitry can be easily be implemented with discrete components, and Type-C Port Manager (TCPM) hardware or Type-C software is normally not required.

When sourcing or specifying the SoC for next-generation embedded systems, keep in mind that an optimized USB Type-C PHY or USB/DisplayPort Alternate mode PHY IP such as those available from Synopsys eliminates the need for expensive external switches or the need to use multiple ports, add-on USB host controller or hubs to solve the SuperSpeed dual datapath challenge.