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 />

26.2.3 Peripheral-mode features<br />

The OTG_FS interface:<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

has 1 bidirectional control endpoint0<br />

has 3 IN endpoints (EPs) configurable to support Bulk, Interrupt or Isochronous<br />

transfers<br />

has 3 OUT endpoints configurable to support Bulk, Interrupt or Isochronous transfers<br />

manages a shared Rx FIFO <strong>and</strong> a Tx-OUT FIFO for efficient usage of the USB data<br />

RAM<br />

manages up to 4 dedicated Tx-IN FIFOs (one for each active IN EP) to put less load on<br />

the application<br />

supports the soft disconnect feature<br />

26.3 OTG_FS functional description<br />

Figure 260. Block diagram<br />

Cortex-M3<br />

AHB Peripheral<br />

USB Interrupt<br />

Power&<br />

Clock<br />

CTRL<br />

USB duspend<br />

USB2.0<br />

OTG FS<br />

Core<br />

UTMIFS<br />

OTG<br />

FS<br />

PHY<br />

DP<br />

DM<br />

ID<br />

USB Clock at 48 MHz<br />

System clock<br />

domain<br />

USB clock<br />

domain<br />

V BUS<br />

RAM bus<br />

Universal serial bus<br />

1.25 Kbytes<br />

USB data<br />

FIFOs<br />

ai17106<br />

26.3.1 OTG full-speed core<br />

The USB OTG FS receives the 48 MHz ±0.25% clock from the reset <strong>and</strong> clock controller<br />

(RCC), via an external quartz. The USB clock is used for driving the 48 MHz domain at fullspeed<br />

(12 Mbit/s) <strong>and</strong> must be enabled prior to configuring the OTG FS Core.<br />

The CPU reads <strong>and</strong> writes from/to the OTG FS Core registers through the AHB peripheral<br />

bus. It is informed of USB events through the single USB OTG interrupt line described in<br />

Section 26.13: OTG_FS interrupts.<br />

The CPU submits data over the USB by writing 32-bit words to dedicated OTG_FS locations<br />

(push registers). The data are then automatically stored into Tx-data FIFOs configured<br />

696/995 Doc ID 13902 Rev 9

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

Saved successfully!

Ooh no, something went wrong!