EasyManuals Logo

Cypress EZ-USB FX3 User Manual

Cypress EZ-USB FX3
660 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #69 background imageLoading...
Page #69 background image
EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F 69
FX3 DMA Subsystem
5.5.5.5 Inspecting a Socket
Sockets can be inspected at any time. When a socket is active, values are not guaranteed to be accurate due to the activity
and clock domain crossing issues. The general procedure is as follows:
1. Any value in SCK_xxx or DSCR_xxx registers is read twice in succession.
2. If the values of two reads match they are accurate. If they are different, go back to step 1.
5.5.5.6 Wrapping Up a Socket
A socket that is in the Active state, but that is not expected to send/receive any more data can be forcibly wrapped up by
asserting SCK_STATUS.WRAPUP. This should never be done for sockets that are not in the Active state or that may send/
receive data. This option is normally used when the core IP has transitioned into an error or partial completion state and the
firmware is required to clean up the remaining, unexecuted, portion of the transfer.
5.5.6 Illustration of Descriptor, Buffer and Socket Usage
Figure 5-8 below sums up the concepts discussed in sections 5.5.2 Descriptors Buffers, and Sockets on page 61 to 5.5.5
Sockets on page 65.
Figure 5-8. Sockets, Descriptors, and Buffers
5.5.7 Understanding DMA Operation: Peripheral to Peripheral
This section explains in a high level how DMA descriptors, buffers, and sockets are tied together to achieve the required DMA
operation, with the help of an example peripheral-to-peripheral DMA operation.
Sockets
* Each IP block has its own sockets
* Sockets can use same or different descriptors
* Sockets use circular or linear list of descriptors
* Unlimited number of descriptors per socket
IP Block A
Descriptor #0
Descriptor #5
Descriptor #9
Descriptor #315
Socket #M
Socket #0
Buffer #0
Buffer #0
Buffer #0
Buffer #0
IP Block B
Descriptor #0
Descriptor #7
Descriptor #9
Descriptor #278
Socket #N
Socket #0
Descriptors
* Descriptors point to exactly one buffer
* Descriptors are either consuming or producing
* Multiple descriptors can point to the same buffer
* Synchronization is done by using same descriptor
* Descriptors have status (free/occupied, #bytes, ...)
Buffers
* Buffers are regions in main memory
* Buffers can have any size (in bytes)
* Buffers can be anywhere (byte aligned)
* Buffer pool is managed in software
* Multiple descriptors can use the same buffer
* Buffers may contain packets smaller than its size
* Buffers may contain zero length packets

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Cypress EZ-USB FX3 and is the answer not in the manual?

Cypress EZ-USB FX3 Specifications

General IconGeneral
BrandCypress
ModelEZ-USB FX3
CategoryController
LanguageEnglish

Related product manuals