RM0082
HS_USB 2.0 device
Doc ID 018672 Rev 1
481/844
23.5.3
IN data memory structure
All endpoints that support in direction transactions (that is, endpoints transmitting data to the
USB Host) must implement the memory structure given in
, where each in buffer
must be associated to a descriptor.
reports the bits assignments for in buffer
status quadlet.
The application fills the data buffer, then updates its status in the descriptor, and sets the
poll demand bit. Besides, the DMA fetches this descriptor and processes it, moving on in
this fashion until it reaches the end of the descriptor chain.
Table 391.
Out data memory: buffer status quadlet bit assignments (for Isochronous
OUT)
Bit
Name
Description
[31:30]
BS
Buffer status.
This 2 bit field reports the status of the out buffer, according to encoding:
– 2'b00 Host ready. = The descriptor is available to be processed by DMA.
– 2’b01 DMA busy. = The DMA is still processing the descriptor.
– 2'b10 DMA done. = Buffer data transfer completed by DMA.
– 2’b11 Host busy. = The application is processing the descriptor.
[29:28]
Rx Sts
Receive status.
This 2 bit field reports the status of the received out data (according to
encoding), reflecting whether the out data has been correctly received or
some errors occurred:
– 2'b00 = Success.
– 2’b01 = DESERR (descriptor transfer error).
– 2'b10 = Reserved.
– 2’b11 = BUFFER (data transfer error).
Note: In particular, a DESERR receive status indicates that the out buffer
status is something other than Host ready (that is, BS not equal to 'b00)
during descriptor fetch.
[27]
L
If set, it indicates that this descriptor is the last one of the chain.
[26:16]
Frame
Number
11 bit frame number in which the current iso-out packet is received.
[15:14]
PID
ISO received data PID.
This 2 bit field indicates the data PID (according to encoding) for the
received ISO packet which is contained in the descriptor:
– 2’b00 = DATA0
– 2'b01 = DATA1
– 2'b10 = DATA2
– 2'b11 = MDATA
Note: The PID field is for HS ISO transactions only. For FS ISO transactions,
this field is don't care.
[13:00]
Rx Bytes
Received number of bytes.
The value of this field gives the received number of bytes.