09.12.2012 Views

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

30.3 OTG_FS functional description<br />

Figure 356. Block diagram<br />

Power&<br />

Clock<br />

CTRL<br />

AHB Peripheral<br />

USB duspend<br />

USB Clock at 48 MHz<br />

30.3.1 OTG full-speed core<br />

Cortex-M4F<br />

USB2.0<br />

OTG FS<br />

Core<br />

1.25 Kbytes<br />

USB data<br />

FIFOs<br />

USB Interrupt<br />

System clock<br />

domain<br />

RAM bus<br />

USB clock<br />

domain<br />

UTMIFS<br />

OTG<br />

FS<br />

PHY<br />

The USB OTG FS receives the 48 MHz ±0.25% clock from the reset and 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) and must be enabled prior to configuring the OTG FS core.<br />

The CPU reads and 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 30.15: 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 />

within the USB data RAM. There is one Tx-FIFO push register for each in-endpoint<br />

(peripheral mode) or out-channel (host mode).<br />

The CPU receives the data from the USB by reading 32-bit words from dedicated OTG_FS<br />

addresses (pop registers). The data are then automatically retrieved from a shared Rx-FIFO<br />

configured within the 1.25 KB USB data RAM. There is one Rx-FIFO pop register for each<br />

out-endpoint or in-channel.<br />

The USB protocol layer is driven by the serial interface engine (SIE) and serialized over the<br />

USB by the full-/low-speed transceiver module within the on-chip physical layer (PHY).<br />

DP<br />

DM<br />

Doc ID 018909 Rev 3 1020/1416<br />

ID<br />

V BUS<br />

Universal serial bus<br />

MS19928V1

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

Saved successfully!

Ooh no, something went wrong!