1999 May 10 33
Philips Semiconductors Preliminary specification
Universal Serial Bus (USB) CODEC UDA1325
Table 26 Error codes
Table 27
ERROR
CODE RESULT
0000 no error
0001 PID encoding error; bits 7 to 4 in the PID
token are not the inversion of bits 3 to 0
0010 PID unknown; PID encoding is valid, but PID
does not exist
0011 unexpected packet; packet is not of the type
expected (token, data or acknowledge), or
SETUP token received on non-control
endpoint
0100 token CRC error
0101 data CRC error
0110 time out error
0111 babble error
1000 unexpected end-of-packet
1001 sent or received NAK
1010 sent stall, a token was received, but the
endpoint was stalled
1011 overflow error, the received data packet was
larger then the buffer size of the selected
endpoint
1100 sent empty packet (ISO only)
1101 bitstuff error
1110 error in sync
1111 wrong data PID
BIT DESCRIPTION
Data receive/transmit a ‘1’ indicates data has
been received or
transmitted successfully
Error code see Table 26
Setup packet a ‘1’ indicates the last
received packet had a
SETUP token (this will
always read ‘0’ for IN
buffers)
Data 0/1 packet a ‘1’ indicates the last
received packet had a
DATA 1 PID
Previous status not read a ‘1’ indicates a second
event occurred before the
previous status was read
SET ENDPOINT STATUS
Command: 40h + endpoint index.
Data: write 1 byte.
This command is used to stall or unstall an endpoint. Only
the least significant bit has a meaning. When the stalled bit
is equal to 1, the endpoint is stalled, when equal to 0, the
endpoint is unstalled. There is one command for every
endpoint.
A stalled control endpoint is automatically unstalled when
it receives a SETUP token, regardless of the contents of
the packet. If the endpoint should stay in stalled state, the
microcontroller should restall it.
When a stalled endpoint is unstalled, it is also re-initialized.
This means that its buffer is flushed and the next DATA
PID that will be sent or expected (depending on the
direction of the endpoint) is DATA0.
READ BUFFER
Command: F0h.
Data: read n bytes (max. 10).
The read buffer command is followed by a number of data
reads, which returns the contents of the selected endpoint
data buffer. After each read, the internal buffer pointer is
incremented by 1.
The buffer pointer is not reset to the buffer start by the read
buffer command. This means that reading a buffer can be
interrupted by any other command (except for select
endpoint).
X
Stalled
Reserved
01234567
XXX XXX Power On Value
0