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 high-speed (OTG_HS)<br />

service these interrupts, since the core takes care of rewinding the buffer pointers<br />

and re-initializing the Channel without application intervention.<br />

d) The core automatically issues a ping token.<br />

e) When the device returns an ACK, the core continues with the transfer. Optionally,<br />

the application can utilize these interrupts, in which case the NAK or NYET<br />

interrupt is masked by the application.<br />

The core does not generate a separate interrupt when NAK or NYET is received by the<br />

host functionality.<br />

● Bulk and control IN transactions in DMA mode<br />

The sequence of operations is as follows:<br />

a) Initialize and enable the used channel (channel x) as explained in Section :<br />

Channel initialization.<br />

b) The OTG_HS host writes an IN request to the request queue as soon as the<br />

channel receives the grant from the arbiter (arbitration is performed in a roundrobin<br />

fashion).<br />

c) The OTG_HS host starts writing the received data to the system memory as soon<br />

as the last byte is received with no errors.<br />

d) When the last packet is received, the OTG_HS host sets an internal flag to remove<br />

any extra IN requests from the request queue.<br />

e) The OTG_HS host flushes the extra requests.<br />

f) The final request to disable channel x is written to the request queue. At this point,<br />

channel 2 is internally masked for further arbitration.<br />

g) The OTG_HS host generates the CHH interrupt as soon as the disable request<br />

comes to the top of the queue.<br />

h) In response to the CHH interrupt, de-allocate the channel for other transfers.<br />

● Interrupt OUT transactions in DMA mode<br />

a) Initialize and enable channel x as explained in Section : Channel initialization.<br />

b) The OTG_HS host starts fetching the first packet as soon the channel is enabled<br />

and writes the OUT request along with the last DWORD fetch. In high-bandwidth<br />

Doc ID 018909 Rev 3 1282/1416

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

Saved successfully!

Ooh no, something went wrong!