Silicon Labs AN0046 User Manual

AN0046: USB Hardware Design Guidelines
This application note gives recommendations on hardware design for implementing USB host and device applications using USB capable EFM32 microcontrollers along with some example schematics for different applications.
KEY POINTS
• Example Schematics for a variety of applications
• PCB Design Guidelines for new applications
AN0046: USB Hardware Design Guidelines
Introduction

1. Introduction

Some EFM32 microcontrollers, for instance selected members of the Giant Gecko and Leopard Gecko families, offer on-chip USB sup­port. The USB peripheral embedded on these devices include the USB PHY and an internal voltage regulator, thus requiring only a minimum number of external components. The on-chip voltage regulator's primary purpose is to power the EFM32 USB PHY. But as it can deliver more current than the EFM32 needs, it can be used to power other components as well, even in non-USB applications. This can be very useful when component cost or PCB area is of concern.
This document will explain how to connect the USB pins of an EFM32 microcontroller, and will give general guidelines on PCB design for USB applications. First some quick rules-of-thumb for routing and layout are presented before a more detailed explanation follows.
The information in this document is meant to supplement the information already presented in Energy Micro application notes AN0002 Hardware Design Considerations and AN0016 Oscillator Design Considerations, and it is recommended to follow these guidelines as well.
The EFM32GG-STK3700 has been tested and passes the requirements as a USB Device. A test report confirming this is attached.
silabs.com | Building a more connected world. Rev. 1.02 | 2
AN0046: USB Hardware Design Guidelines
USB Connection

2. USB Connection

This section gives a brief overview of the different USB roles an EFM32 Microcontroller is capable of. For more in-depth details, please refer to the device family reference manual.
USB can be operated in 2 different modes; host or device, with hub being a special version of a USB device. A supplement to the USB standard introduces "On-The-Go" mode, which enables a USB product to operate as either a host or a device depending on which kind of controller is in the other end of the cable. A typical example for this would be a smartphone or a tablet that can both connect to a computer as a USB Mass Storage Device, or act as a host if a memory card reader or a USB memory stick is connected.
A USB capable EFM32 microcontroller can operate as a host, a device or as an OTG dual role device. EFM32 microcontrollers do not support operation as a USB hub. The EFM32 USB stack supports host mode and device mode, but not OTG mode.

2.1 EFM32 USB Pin Descriptions

The USB peripheral on EFM32 microcontrollers feature the following pins:
USB_DP - Data line
USB_DM - Inverted data line
USB_VBUS - Sensing if VBUS is connected.
USB_VBUSEN - VBUS Enable, a control signal for enabling VBUS in host applications. Connect to external VBUS switch.
USB_DMPU - Data Minus Pull-Up, a control signal for enabling external 4.7 kohm pull-up on USB_DM for low-speed operation. If VDD
is 3.3 V pull-up may be connected directly to USB_DMPU pin.
USB_ID - ID for determining which device should act as bus master in a link between two OTG Dual Role devices. Connect to ID pin on USB Micro-AB receptacle.
USB_VREGI - Voltage regulator input.
USB_VREGO - Voltage regulator output.
silabs.com | Building a more connected world. Rev. 1.02 | 3
AN0046: USB Hardware Design Guidelines
USB Connection

2.2 EFM32 as USB Host

In host mode, the EFM32 acts as the bus master and is responsible of enumerating the USB devices, a process that includes inquiring connecting devices for configuration information and assigning them an address on the USB bus. The USB host also controls data flow on the bus by sequentially polling all devices for data, meaning that no device can transmit on the bus without a host request.
A USB host must be able to supply power to a connected USB device through the +5 V VBUS line.
3.0 – 3.6 V 5.0 V
VDD
USB_VREGO
USB_VREGI
GPIO
USB_VBUSEN
EFM32
USB_VBUS
USB_DP
USB_DM
USB_DMPU
USB_ID
VSS
15 R
15 R
1 µF
OC
EN
V
SW
V
in
out
> 96 µF
Figure 2.1. USB Host Schematics
When designing hardware for USB Host, remember the following:
• Use a 48 MHz (2500 ppm) crystal.
• Use a ferrite bead for VBUS. Place near receptacle.
• Use a switch that can shut off VBUS if current exceeds 500 mA.
• Provide at least 96 uF decoupling capacitance on VBUS. Place near USB receptacle.
• Terminate D+ and D- with 15 ohm serial resistors. Place near EFM32.
• Use an ESD protection device. Place near USB receptacle.
• Select a USB Series A type receptacle.
USB Series A receptacle
VBUS D+ D­GND
Connector shield

2.3 EFM32 as USB Device

USB devices are bus slaves that provide functionality to the USB host. Devices must provide configuration information to the host so that the host can configure the connection. Devices are separated in different classes depending on their functionality. Two different types of device classes exist; hubs and functions. Hubs provide a host with more attachment points, while functions provides additional functionality. Examples of functions are human interface devices, mass storage devices and communication devices.
USB devices will transmit data or control information over the bus when requested by the host. EFM32 microcontrollers can not operate as a USB hub device. As a USB host provides +5 V over the VBUS line, a USB device can either be powered over the USB cable, or it can be self powered. The following sections present schematics for how to connect an EFM32 as both a bus powered device and a self powered device. Please refer to the USB specifications for details on how much current can be drawn over the USB bus for different configurations.
silabs.com | Building a more connected world. Rev. 1.02 | 4

2.3.1 Self Powered Device

AN0046: USB Hardware Design Guidelines
USB Connection
1.85 – 3.6 V
VDD
USB_VREGO
USB_VREGI
4.7 µF
USB_VBUSEN
1 µF
EFM32
USB_VBUS
USB_DP
USB_DM
USB_DMPU
USB_ID
VSS
Figure 2.2. USB Self Powered Device Schematics
When designing hardware for a self powered USB Device, consider the following:
• Use a 48 MHz (2500 ppm) crystal.
• Use a ferrite bead for VBUS. Place near receptacle.
• Provide at least 4.7 uF decoupling capacitance on USB_VREGI. Place near EFM32.
• Keep total load capacitance on VBUS below 10 uF
• Provide at least 1 uF decoupling capacitance on USB_VREGO. Place near EFM32.
• Terminate D+ and D- with 15 ohm serial resistors. Place near EFM32.
• Use an ESD protection device. Place near USB receptacle.
15 R
15 R
USB Series B, USB Series Mini-B or USB Series Micro-B receptacle
VBUS D+ D­GND
Connector shield
silabs.com | Building a more connected world. Rev. 1.02 | 5

2.3.2 Bus Powered Device

AN0046: USB Hardware Design Guidelines
USB Connection
VDD
USB_VREGO
USB_VREGI
4.7 µF
USB_VBUSEN
1 µF
EFM32
USB_VBUS
USB_DP
USB_DM
USB_DMPU
USB_ID
VSS
Figure 2.3. USB Bus Powered Device Schematics
When designing hardware for a bus powered USB Device, consider the following:
• Use a 48 MHz (2500 ppm) crystal.
• Use a ferrite bead for VBUS. Place near receptacle.
• Provide at least 4.7 uF decoupling capacitance on USB_VREGI. Place near EFM32.
• Keep total load capacitance on VBUS below 10 uF
• Provide at least 1 uF decoupling capacitance on USB_VREGO. Place near EFM32.
• Connect USB_VREGO to VDD.
• Provide decoupling capacitance on VDD as per AN0002 Hardware Design Considerations.
• Terminate D+ and D- with 15 ohm serial resistors. Place near EFM32.
• Use an ESD protection device. Place near USB receptacle.
15 R
15 R
USB Series B, USB Series Mini-B or USB Series Micro-B receptacle
VBUS D+ D­GND
Connector shield
silabs.com | Building a more connected world. Rev. 1.02 | 6
AN0046: USB Hardware Design Guidelines
USB Connection

2.3.3 Low-speed

Speed identification of USB devices is done with a pull-up on one of the data lines. A low-speed capable device is identified by a 1.5 kohm pull-up resistor on the D- line. The internal pull-up resistor on EFM32 microcontrollers is approximately 2.2 kohm, so an external
4.7 kohm resistor must be placed in parallel to be standard compliant. This resistor should be connected to the USB_DMPU pin so it can be switched on and off by the USB PHY.
Even if omitting the external pull-up resistor will most likely work, it will not be USB compliant because the internal resistor value is outside the USB specification.
It should also be noted that according to USB specification, low-speed mode is defined to support a limited number of low-bandwidth devices, such as mice. Low-speed devices are not allowed to use standard USB cables, and a separate specification for low-speed cables exist.
VDD
USB_VREGO
USB_VREGI
4.7 µF
USB_VBUSEN
1 µF
EFM32
USB_VBUS
USB_DP
USB_DM
USB_DMPU
USB_ID
VSS
Figure 2.4. USB Low-speed Device Schematics
When designing hardware for a Low-speed USB Device, consider the following:
• Use a 48 MHz 2500 ppm crystal.
• Use a ferrite bead for VBUS. Place near receptacle.
• Connect a 4.7 kohm resistor between USB_DMPU and D-
• Provide at least 4.7 uF decoupling capacitance on USB_VREGI. Place near EFM32.
• Keep total load capacitance on VBUS below 10 uF
• Provide at least 1 uF decoupling capacitance on USB_VREGO. Place near EFM32.
• Terminate D+ and D- with 15 ohm serial resistors. Place near EFM32.
• Use an ESD protection device. Place near USB receptacle or where the cable connects to the PCB.
• Do not use a standard USB receptacle.
15 R
15 R
4k7
USB Captive Cable
VBUS D+ D­GND
Cable shield
In the above schematics, a bus powered device is shown. A low speed device may also be self powered, but if VDD is below USB_VREGO (3.3 V) the external pull-up should be connected to USB_VREGO instead of USB_DMPU and a switch should be used to turn it on or off through USB_DMPU. If this is not done, there will be a leakage current from VREGO to VDD through the pull-up.
silabs.com | Building a more connected world. Rev. 1.02 | 7
Loading...
+ 14 hidden pages