29.01.2015 Views

STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and ...

STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and ...

STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

RM0008<br />

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

OTG_FS to fill in the available RAM space at best regardless of the current USB sequence.<br />

With these features:<br />

● The application gains good margins to calibrate its intervention in order to optimize the<br />

CPU b<strong>and</strong>width usage:<br />

– it can accumulate large amounts of transmission data in advance compared to<br />

when they are effectively sent over the USB<br />

– it benefits of a large time margin to download data from the single receive FIFO<br />

● The USB Core is able to maintain its full operating rate, that is to provide maximum fullspeed<br />

b<strong>and</strong>width with a great margin of autonomy versus application intervention:<br />

– it has a large reserve of transmission data at its disposal to autonomously manage<br />

the sending of data over the USB<br />

– it has a lot of empty space available in the receive buffer to autonomously fill it in<br />

with the data coming from the USB<br />

As the OTG_FS Core is able to fill in the 1.25 Kbyte RAM buffer very efficiently, <strong>and</strong> as<br />

1.25 Kbyte of transmit/receive data is more than enough to cover a full speed frame, the<br />

USB system is able to withst<strong>and</strong> the maximum full-speed data rate for up to one USB frame<br />

(1 ms) without any CPU intervention.<br />

26.13 OTG_FS interrupts<br />

When the OTG_FS controller is operating in one mode, either Device or Host, the<br />

application must not access registers from the other mode. If an illegal access occurs, a<br />

mode mismatch interrupt is generated <strong>and</strong> reflected in the Core interrupt register (MMIS bit<br />

in the OTG_FS_GINTSTS register). When the core switches from one mode to the other,<br />

the registers in the new mode of operation must be reprogrammed as they would be after a<br />

power-on reset.<br />

Figure 268 shows the interrupt hierarchy.<br />

Doc ID 13902 Rev 9 715/995

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

Saved successfully!

Ooh no, something went wrong!