RM0090 USB on-the-go high-speed (OTG_HS)
Doc ID 018909 Rev 4 1164/1422
order to save power. The A-device is always in charge of driving V
BUS
regardless of the
OTG_HS role (host or peripheral). The SRP A/B-device program model is described in detail
in Section 31.13: OTG_HS programming model.
31.5 USB functional description in peripheral mode
The OTG_HS operates as an USB peripheral in the following circumstances:
● OTG B-device
OTG B-device default state if the B-side of USB cable is plugged in
● OTG A-device
OTG A-device state after the HNP switches the OTG_HS to peripheral role
● B-Device
If the ID line is present, functional and connected to the B-side of the USB cable, and
the HNP-capable bit in the Global USB Configuration register (HNPCAP bit in
OTG_HS_GUSBCFG) is cleared (see On-The-Go specification Revision 1.3 section
6.8.3).
● Peripheral only (see Figure 359: USB peripheral-only connection)
The force peripheral mode bit in the Global USB configuration register (FDMOD in
OTG_HS_GUSBCFG) is set to 1, forcing the OTG_HS core to operate in USB
peripheral-only mode (see On-The-Go specification Revision 1.3 section 6.8.3). In this
case, the ID line is ignored even if it is available on the USB connector.
Note: To build a bus-powered device architecture in the B-Device or peripheral-only configuration,
an external regulator must be added to generate the V
DD
supply voltage from V
BUS
.
31.5.1 SRP-capable peripheral
The SRP capable bit in the Global USB configuration register (SRPCAP bit in
OTG_HS_GUSBCFG) configures the OTG_HS to support the session request protocol
(SRP). As a result, it allows the remote A-device to save power by switching V
BUS
off when
the USB session is suspended.
The SRP peripheral mode program model is described in detail in Section : B-device
session request protocol.
31.5.2 Peripheral states
Powered state
The V
BUS
input detects the B-session valid voltage used to put the USB peripheral in the
Powered state (see USB2.0 specification section 9.1). The OTG_HS then automatically
connects the DP pull-up resistor to signal full-speed device connection to the host, and
generates the session request interrupt (SRQINT bit in OTG_HS_GINTSTS) to notify the
Powered state. The V
BUS
input also ensures that valid V
BUS
levels are supplied by the host
during USB operations. If V
BUS
drops below the B-session valid voltage (for example
because power disturbances occurred or the host port has been switched off), the OTG_HS
automatically disconnects and the session end detected (SEDET bit in
OTG_HS_GOTGINT) interrupt is generated to notify that the OTG_HS has exited the
Powered state.