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.

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

Reset Error Count<br />

Mask ACK<br />

}<br />

else if (TXERR or BBERR or STALL)<br />

{<br />

Unmask CHH<br />

Disable Channel<br />

if (TXERR)<br />

{<br />

Increment Error Count<br />

Unmask ACK<br />

}<br />

}<br />

else if (CHH)<br />

{<br />

Mask CHH<br />

if (Transfer Done or (Error_count == 3))<br />

{<br />

De-allocate Channel<br />

}<br />

else<br />

{<br />

Re-initialize Channel<br />

}<br />

}<br />

else if (ACK)<br />

{<br />

Reset Error Count<br />

Mask ACK<br />

}<br />

else if (DTERR)<br />

{<br />

Reset Error Count<br />

}<br />

The application is expected to write the requests as and when the Request queue space is<br />

available and until the XFRC interrupt is received.<br />

● Bulk and control IN transactions<br />

A typical bulk or control IN pipelined transaction-level operation is shown in Figure 369.<br />

See channel 2 (ch_2). The assumptions are:<br />

– The application is attempting to receive two maximum-packet-size packets<br />

(transfer size = 1 024 bytes).<br />

– The receive FIFO can contain at least one maximum-packet-size packet and two<br />

status Words per packet (72 bytes for FS).<br />

– The non-periodic request queue depth = 4.<br />

1117/1416 Doc ID 018909 Rev 3

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

Saved successfully!

Ooh no, something went wrong!