29.01.2015 Views

STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and ...

STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and ...

STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

USB on-the-go full-speed (OTG_FS)<br />

RM0008<br />

6. In Negotiated mode, the OTG_FS controller detects the suspend, disconnects, <strong>and</strong><br />

switches back to the host role. The OTG_FS controller asserts the DM pull down <strong>and</strong><br />

DM pull down in the PHY to indicate its assumption of the host role.<br />

7. The OTG_FS controller sets the Connector ID status change interrupt in the OTG<br />

Interrupt Status register. The application must read the connector ID status in the OTG<br />

Control <strong>and</strong> Status register to determine the OTG_FS controller operation as an A-<br />

device. This indicates the completion of HNP to the application. The application must<br />

read the Current mode bit in the OTG control <strong>and</strong> status register to determine Host<br />

mode operation.<br />

8. The B-device connects, completing the HNP process.<br />

B-device host negotiation protocol<br />

HNP switches the USB host role from B-device to A-device. The application must set the<br />

HNP-capable bit in the Core USB configuration register to enable the OTG_FS controller to<br />

perform HNP as a B-device.<br />

Figure 283. B-device HNP<br />

1<br />

OTG core<br />

Device<br />

Host<br />

Device<br />

DP<br />

Suspend 2<br />

3<br />

4 5<br />

Reset<br />

6<br />

Traffic 7<br />

8<br />

Connect<br />

DM<br />

Traffic<br />

DPPULLDOWN<br />

DMPULLDOWN<br />

ai15684<br />

1. DPPULLDOWN = signal from core to PHY to enable/disable the pull-down on the DP line inside the PHY.<br />

DMPULLDOWN = signal from core to PHY to enable/disable the pull-down on the DM line inside the PHY.<br />

1. The A-device sends the SetFeature b_hnp_enable descriptor to enable HNP support.<br />

The OTG_FS controller’s ACK response indicates that it supports HNP. The application<br />

must set the Device HNP enable bit in the OTG Control <strong>and</strong> status register to indicate<br />

HNP support.<br />

The application sets the HNP request bit in the OTG Control <strong>and</strong> status register to<br />

indicate to the OTG_FS controller to initiate HNP.<br />

2. When it has finished using the bus, the A-device suspends by writing the Port suspend<br />

bit in the Host port control <strong>and</strong> status register.<br />

The OTG_FS controller sets the Early suspend bit in the Core interrupt register after 3<br />

ms of bus idleness. Following this, the OTG_FS controller sets the USB suspend bit in<br />

the Core interrupt register.<br />

The OTG_FS controller disconnects <strong>and</strong> the A-device detects SE0 on the bus,<br />

indicating HNP. The OTG_FS controller asserts the DP pull down <strong>and</strong> DM pull down in<br />

the PHY to indicate its assumption of the host role.<br />

834/995 Doc ID 13902 Rev 9

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!