Spinpoint M8U-Internal Product Manual REV 3.4
57
INSTALLATION
OUT (Figure 6-25): If the host sent OUT token(s) during the data stage to transmit data, the function will
acknowledge the successful recept of data by sending a zero length packet in response to an IN
token. However if an error occurred, it should issue a STALL or if it is still busy processing data, it should
issue a NAK asking the host to retry the status phase later.
Figure 6-26: Status Out Stage
6.3.5.2 Bulk Transaction
Bulk transfers can be used for large bursty data. Such examples could include a print-job sent to a printer or an
image generated from a scanner. Bulk transfers provide error correction in the form of a CRC16 field on the
data payload and error detection/re-transmission mechanisms ensuring data is transmitted and received without
error. Bulk transfers will use spare un-allocated bandwidth on the bus after all other transactions have been
allocated. If the bus is busy with isochronous and/or interrupt then bulk data may slowly trickle over the bus.
As a result Bulk transfers should only be used for time insensitive communication
as there is no guarantee of
latency.
Bulk Transfers
• Used to transfer large bursty data.
• Error detection via CRC, with guarantee of delivery.
• Stream Pipe - Unidirectional
• Full & high speed modes only.
Bulk transfers are only supported by full and high speed devices. For full speed endpoints, the maximum bulk
packet size is either 8, 16, 32 or 64 bytes long. For high speed endpoints, the maximum packet size can be up
to 512 bytes long. If the data payload falls short of the maximum packet size, it doesn't need to be padded
with zeros. A bulk transfer is considered complete when it has transferred the exact amount of data requested,
transferred a packet less than the maximum endpoint size of transferred a zero-length packet.
Figure 6-26 shows Bulk Transaction concept.
Figure 6-27: Bulk Transaction Model