1999 May 10
33
Philips Semiconductors
Preliminary specication
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
overow 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
0
1
2
3
4
5
6
7
X
XX
XXX
Power On Value
0