Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

The USB device controller can operate in distinct modes while transferring data. This section describes the common sequence of operations for the receive and transmit API functions in the device driver, highlighting potential differences when the controller is operating on FIFO or DMA mode. While there are some controllers that are strictly FIFO-based or DMA-based, there are controllers that can operate in both modes depending on hardware characteristics. For this type of controller, the device driver will employ the appropriate sequence of operations depending, for example, on the endpoint type.

Device Synchronous Receive

Device Asynchronous Receive

The device asynchronous receive operation is initiated by the calls: USBD_BulkRxAsync(), USBD_IntrRxAsync() and USBD_IsocRxAsync() shows an overview of the device asynchronous receive operation.

Device Synchronous Transmit

The device synchronous transmit operation is initiated by the calls: USBD_BulkTx(), USBD_CtrlTx(), and USBD_IntrTx() shows an overview of the device synchronous transmit operation.

Device Asynchronous Transmit

The device asynchronous transmit operation is initiated by the calls: USBD_BulkTxAsync(), USBD_IntrTxAsync() and USBD_IsocTxAsync() shows an overview of the device asynchronous transmit operation.

Device Set Address

The device set address operation is performed by the setup transfer handler when a SET_ADDRESS request is received.  shows an overview of the device set address operation.

  • No labels