Download UM10198 - eecosales.com
Transcript
UM10198 Philips Semiconductors Chapter 10: USB device controller Table 193. DMA descriptor …continued Word position Access (H/W)[1] 3 Access Bit position Description (S/W) R/W R/I 0 DD_retired (To be initialized to 0). W R/I 4:1 DD_status (To be initialized to 0) 0000 - Not serviced. 0001 - Being serviced. 0010 - Normal completion. 0011 - Data under run (short packet). 1000 - Data over run. 1001 - System error. 4 [1] R/W R/I 5 Packet_valid (To be initialized to 0). R/W R/I 6 LS_byte_extracted (ATLE mode) (To be initialized to 0). R/W R/I 7 MS_byte_extracted (ATLE mode) (To be initialized to 0). R W 13:8 Message_length_position (ATLE mode). - - 15:14 Reserved. R/W R/I 31:16 Present_DMA_count (To be initialized to 0). R/W R/W 31:0 Isochronous_packetsize_memory_address R - Read; W - Write; W* - Write only in ATLE mode; I - Initialize 3.9.1 Next_DD_pointer Pointer to the memory location from where the next DMA descriptor has to be fetched. 3.9.2 DMA_mode Defines in which mode the DMA has to operate. Two modes have been defined, Normal and ATLE. In the normal mode the DMA engine will not split a packet into two different DMA buffers. In the ATLE mode splitting of the packet into two buffers can happen. This is because two transfers can be concatenated in the packet to improve the bandwidth. See Section 10–4.3.2 “Concatenated transfer (ATLE) mode operation” on DMA operation. 3.9.3 Next_DD_valid This bit indicates whether the software has prepared the next DMA descriptor. If it is valid, the DMA engine once finished with the current descriptor will load the new descriptor. 3.9.4 Isochronous_endpoint The descriptor belongs to an isochronous endpoint. Hence, 5 words have to be read. 3.9.5 Max_packet_size This field is the maximum packet size of the endpoint. This parameter has to be used while transferring the data for IN endpoints from the memory. It is used for OUT endpoints to detect the short packet. This is applicable to non-isochronous endpoints only. The max_packet_size field should be the same as the value set in the MaxPacketsize register for the endpoint. UM10198_1 User manual © Koninklijke Philips Electronics N.V. 2006. All rights reserved. Rev. 01 — 1 June 2006 181 of 396