
Universal Serial Bus Interface
MCF5253 Reference Manual, Rev. 1
24-134
Freescale Semiconductor
24.11.3.2.2
Data Toggle Inhibit
This feature is for test purposes only and should never be used during normal device controller operation.
Setting the data toggle Inhibit bit active ('1') causes the USB_DR to ignore the data toggle pattern that is
normally sent and accept all incoming data packets regardless of the data toggle state.
In normal operation, the USB_DR checks the DATA0/DATA1 bit against the data toggle to determine if
the packet is valid. If Data PID does not match the data toggle state bit maintained by the device controller
for that endpoint, the Data toggle is considered not valid. If the data toggle is not valid, the device
controller assumes the packet was already received and discards the packet (not reporting it to the DCD).
To prevent the USB_DR from re-sending the same packet, the device controller will respond to the error
packet by acknowledging it with either an ACK or NYET response.
24.11.3.3 Device Operational Model For Packet Transfers
All transactions on the USB bus are initiated by the host and in turn, the device must respond to any request
from the host within the turnaround time stated in the USB 2.0 Specification.
A USB host will send requests to the USB_DR in an order that can not be precisely predicted as a single
pipeline, so it is not possible to prepare a single packet for the device controller to execute. However, the
order of packet requests is predictable when the endpoint number and direction is considered. For example,
if endpoint 3 (transmit direction) is configured as a bulk pipe, then we can expect the host will send IN
requests to that endpoint. This USB_DR prepares packets for each endpoint/direction in anticipation of the
host request. The process of preparing the device controller to send or receive data in response to host
initiated transaction on the bus is referred to as ‘priming’ the endpoint. This term will be used throughout
the following documentation to describe the USB_DR operation so the DCD can be architected properly
use priming. Further, note that the term ‘flushing’ is used to describe the action of clearing a packet that
was queued for execution.
24.11.3.3.1
Priming Transmit Endpoints
Priming a transmit endpoint will cause the device controller to fetch the device transfer descriptor (dTD)
for the transaction pointed to by the device queue head (dQH). After the dTD is fetched, it will be stored
in the dQH until the device controller completes the transfer described by the dTD. Storing the dTD in the
dQH allows the device controller to fetch the operating context needed to handle a request from the host
without the need to follow the linked list, starting at the dQH when the host request is received.
After the device has loaded the dTD, the leading data in the packet is stored in a FIFO in the device
controller. This FIFO is split into virtual channels so that the leading data can be stored for any endpoint
up to the maximum number of endpoints configured at device synthesis time.
After a priming request is complete, an endpoint state of primed is indicated in the ENDPTSTATUS
register. For a primed transmit endpoint, the device controller can respond to an IN request from the host
and meet the stringent bus turnaround time of High Speed USB.
Since only the leading data is stored in the device controller FIFO, it is necessary for the device controller
to begin filling in behind leading data after the transaction starts. The FIFO must be sized to account for
the maximum latency that can be incurred by the system memory bus.
Содержание MCF5253
Страница 1: ...Document Number MCF5253RM Rev 1 08 2008 MCF5253 Reference Manual...
Страница 26: ...MCF5253 Reference Manual Rev 1 xxvi Freescale Semiconductor...
Страница 32: ...MCF5253 Reference Manual Rev 1 xxxii Freescale Semiconductor...
Страница 46: ...MCF5253 Introduction MCF5253 Reference Manual Rev 1 1 14 Freescale Semiconductor...
Страница 62: ...Signal Description MCF5253 Reference Manual Rev 1 2 16 Freescale Semiconductor...
Страница 98: ...Instruction Cache MCF5253 Reference Manual Rev 1 5 10 Freescale Semiconductor...
Страница 104: ...Static RAM SRAM MCF5253 Reference Manual Rev 1 6 6 Freescale Semiconductor...
Страница 128: ...Synchronous DRAM Controller Module MCF5253 Reference Manual Rev 1 7 24 Freescale Semiconductor...
Страница 144: ...Bus Operation MCF5253 Reference Manual Rev 1 8 16 Freescale Semiconductor...
Страница 176: ...System Integration Module SIM MCF5253 Reference Manual Rev 1 9 32 Freescale Semiconductor...
Страница 198: ...Analog to Digital Converter ADC MCF5253 Reference Manual Rev 1 12 6 Freescale Semiconductor...
Страница 246: ...DMA Controller MCF5253 Reference Manual Rev 1 14 18 Freescale Semiconductor...
Страница 282: ...UART Modules MCF5253 Reference Manual Rev 1 15 36 Freescale Semiconductor...
Страница 298: ...Queued Serial Peripheral Interface QSPI Module MCF5253 Reference Manual Rev 1 16 16 Freescale Semiconductor...
Страница 344: ...Audio Interface Module AIM MCF5253 Reference Manual Rev 1 17 46 Freescale Semiconductor...
Страница 362: ...I2 C Modules MCF5253 Reference Manual Rev 1 18 18 Freescale Semiconductor...
Страница 370: ...Boot ROM MCF5253 Reference Manual Rev 1 19 8 Freescale Semiconductor...