
Specification
NET2270 USB Interface Controller
______________________________________________________________________________
NetChip Technology, Inc., 2003
335 Pioneer Way, Mountain View, California 94041
TEL (650) 526-1490
FAX (650) 526-1494
http://www.netchip.com
Rev 3.6, April 17, 2003
35
5.6.3.1 Isochronous Out Transactions
Isochronous Out endpoints are used to transfer data from a USB host to the NET2270 local bus. An Isochronous
OUT transaction consists of the following:
Stage
Packet Contents
Number of bytes
Source
OUT Token
OUT PID, address, endpoint, and CRC5
3
Host
Data
DATA0 PID, N data bytes, and CRC16
N+3
Host
The USB host initiates an Isochronous OUT transaction by sending an OUT token to an Isochronous OUT
endpoint. The Data OUT Token Interrupt bit is set when the OUT token is recognized. The bytes corresponding to
the Data stage are stored into the endpoint’s buffer. Isochronous transactions are not retried, so if the buffer is full
when a packet is transferred from the host (or the NAK OUT Packets bit is set), the packet is discarded and the
FIFO Overflow status bit is set. No handshake packets are returned to the host, but the USB OUT ACK Sent, and
Timeout status bits are still set to indicate the status of the transaction. If a CRC error is detected, the packet is
accepted and the Timeout status bit is set. After every data packet is received, the local CPU should sample these
status bits to determine if the NET2270 successfully received the packet.
By definition, isochronous endpoints do not utilize handshaking with the host. Since there is no way to return a stall
handshake from an isochronous endpoint to the host, data that is sent to a stalled isochronous endpoint will be
received normally. The Maximum Packet Size must be less than or equal to the buffer size.
The local CPU must wait for the Data Packet Received Interrupt bit to be set before reading the data from the
buffer. If the endpoint is programmed for a single-buffering, then the host should be programmed to allow the local
CPU enough time to unload the buffer before the next packet is sent. If the endpoint is programmed for double-
buffering, then the local side can unload one packet while the next one is being received.