28-42
MC9328MX1 Reference Manual
MOTOROLA
USB Device Port
28.7.3 Control Transfers
The USB host sends commands to the device through control transfers. Control transfers can be addressed
to any control endpoint. Control transfers consist of three distinct phases: beginning with a setup phase,
followed by an optional data phase, and ending with a status phase. Command processing occurs in the
following steps:
1. Receive the SETUP packet on a control endpoint. DEVREQ and EOF interrupts assert for
that endpoint.
2. Read 8 bytes of the setup packet from the appropriate FIFO data register and decode the
command.
3. Clear EOF and DEVREQ interrupts.
4. Set up and perform the data transfer when a data transfer is implied by the command. Do
not send more bytes to the USB host than were requested in the wLength field of the SETUP
packet. Hardware does not check for incorrect data phase length. The EOT interrupt asserts
on completion of the data phase.
5. Assert the CMD_OVER and CMD_ERROR bits (in the USB_CTRL register) to indicate
processing or error status. The UDC module generates appropriate handshakes on the USB
to implement the status phase. CMD_OVER automatically clears at the end of the status
phase.
6. Wait for CMD_OVER to clear, indicating that the device request has completed.
The USB module assumes that the UDC module handles most of the standard requests without software
intervention. User software does not need to be concerned with handling any of the so-called “Chapter 9"
requests listed in the USB specification, except for SYNCH_FRAME, GET_DESCRIPTOR and
SET_DESCRIPTOR. The requests are passed through endpoint 0 as a device request and must be
processed by the device driver software.
28.7.4 Bulk Traffic
Bulk traffic guarantees the error-free delivery of data in the order that it was sent, however the rate of
transfer is not guaranteed. Bandwidth is allocated to bulk, interrupt, and control packets based on the
bandwidth usage policy of the USB host.
28.7.4.1 Bulk OUT
For OUT transfers (from host to device), internal logic marks the start of packet location in the FIFO.
When a transfer does not complete without errors, the logic forces the FIFO to return to the start of the
current packet and try again. No software intervention is required to handle packet retries.
User software reads packets from the FIFOs as they appear and stops reading when an EOT interrupt is
received. To enable further data transfers, software services and clears the pending interrupts (EOF or
EOT) and waits for the next transfer to begin. For Bulk Out endpoint, until the CPU has serviced the EOT
interrupt, the device NAKs any further requests to that endpoint from the host. This guarantees that data
from two different transfers never get intermixed within the FIFO.
28.7.4.2 Bulk IN
For IN transfers (from device to host), software tags the last byte in a packet to mark the end-of-frame.
When a transfer does not complete without errors, the hardware automatically forces the FIFO to return to
the start of the current packet and re-send the data. User software is expected to write data to the FIFO data
Summary of Contents for DragonBall MC9328MX1
Page 68: ...1 12 MC9328MX1 Reference Manual MOTOROLA Introduction ...
Page 86: ...2 18 MC9328MX1 Reference Manual MOTOROLA Signal Descriptions and Pin Assignments ...
Page 116: ...3 30 MC9328MX1 Reference Manual MOTOROLA Memory Map ...
Page 126: ...4 10 MC9328MX1 Reference Manual MOTOROLA ARM920T Processor ...
Page 160: ...8 8 MC9328MX1 Reference Manual MOTOROLA System Control ...
Page 272: ...13 32 MC9328MX1 Reference Manual MOTOROLA DMA Controller ...
Page 281: ...Programming Model MOTOROLA Watchdog Timer Module 14 9 ...
Page 282: ...14 10 MC9328MX1 Reference Manual MOTOROLA Watchdog Timer Module ...
Page 300: ...15 18 MC9328MX1 Reference Manual MOTOROLA Analog Signal Processor ASP ...
Page 438: ...18 16 MC9328MX1 Reference Manual MOTOROLA Serial Peripheral Interface Modules SPI 1 and SPI 2 ...
Page 478: ...19 40 MC9328MX1 Reference Manual MOTOROLA LCD Controller ...
Page 574: ...21 32 MC9328MX1 Reference Manual MOTOROLA Memory Stick Host Controller MSHC Module ...
Page 598: ...23 16 MC9328MX1 Reference Manual MOTOROLA Real Time Clock RTC ...
Page 670: ...24 72 MC9328MX1 Reference Manual MOTOROLA SDRAM Memory Controller ...
Page 726: ...25 56 MC9328MX1 Reference Manual MOTOROLA SmartCard Interface Module SIM ...
Page 736: ...26 10 MC9328MX1 Reference Manual MOTOROLA General Purpose Timers ...
Page 854: ...29 18 MC9328MX1 Reference Manual MOTOROLA I2C Module ...
Page 900: ...30 46 MC9328MX1 Reference Manual MOTOROLA Synchronous Serial Interface SSI ...
Page 942: ...32 26 MC9328MX1 Reference Manual MOTOROLA GPIO Module and I O Multiplexer IOMUX ...