09.12.2012 Views

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

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.

<strong>RM0090</strong> USB on-the-go high-speed (OTG_HS)<br />

(OTG_HS_DIEPINTx/)OTG_HS_DOEPINT0) registers. The bits available inside the<br />

control and transfer size registers slightly differ from other endpoints.<br />

● 5 IN endpoints<br />

– They can be configured to support the isochronous, bulk or interrupt transfer type.<br />

– They feature dedicated control (OTG_HS_DIEPCTLx), transfer configuration<br />

(OTG_HS_DIEPTSIZx), and status-interrupt (OTG_HS_DIEPINTx) registers.<br />

– The Device IN endpoints common interrupt mask register (OTG_HS_DIEPMSK)<br />

allows to enable/disable a single endpoint interrupt source on all of the<br />

IN endpoints (EP0 included).<br />

– They support incomplete isochronous IN transfer interrupt (IISOIXFR bit in<br />

OTG_HS_GINTSTS). This interrupt is asserted when there is at least one<br />

isochronous IN endpoint for which the transfer is not completed in the current<br />

frame. This interrupt is asserted along with the end of periodic frame interrupt<br />

(OTG_HS_GINTSTS/EOPF).<br />

● 5 OUT endpoints<br />

– They can be configured to support the isochronous, bulk or interrupt transfer type.<br />

– They feature dedicated control (OTG_HS_DOEPCTLx), transfer configuration<br />

(OTG_HS_DOEPTSIZx) and status-interrupt (OTG_HS_DOEPINTx) registers.<br />

– The Device Out endpoints common interrupt mask register<br />

(OTG_HS_DOEPMSK) allows to enable/disable a single endpoint interrupt source<br />

on all OUT endpoints (EP0 included).<br />

– They support incomplete isochronous OUT transfer interrupt (INCOMPISOOUT<br />

bit in OTG_HS_GINTSTS). This interrupt is asserted when there is at least one<br />

isochronous OUT endpoint on which the transfer is not completed in the current<br />

frame. This interrupt is asserted along with the end of periodic frame interrupt<br />

(OTG_HS_GINTSTS/EOPF).<br />

Endpoint controls<br />

The following endpoint controls are available through the device endpoint-x IN/OUT control<br />

register (DIEPCTLx/DOEPCTLx):<br />

● Endpoint enable/disable<br />

● Endpoint activation in current configuration<br />

● Program the USB transfer type (isochronous, bulk, interrupt)<br />

● Program the supported packet size<br />

● Program the Tx-FIFO number associated with the IN endpoint<br />

● Program the expected or transmitted data0/data1 PID (bulk/interrupt only)<br />

● Program the even/odd frame during which the transaction is received or transmitted<br />

(isochronous only)<br />

● Optionally program the NAK bit to always send a negative acknowledge to the host<br />

regardless of the FIFO status<br />

● Optionally program the STALL bit to always stall host tokens to that endpoint<br />

● Optionally program the Snoop mode for OUT endpoint where the received data CRC is<br />

not checked<br />

Doc ID 018909 Rev 3 1162/1416

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

Saved successfully!

Ooh no, something went wrong!