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 #70 background imageLoading...
Page #70 background image
EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F 70
FX3 DMA Subsystem
Figure 5-9. FX3's DMA System
The producer behaves in the following way:
1. When a producer has filled a buffer (an end-of-packet or a buffer-full event occurred - note that packets can be empty), it
updates the descriptor associated with the buffer in the main memory to indicate that the buffer is full (DMA-to-memory
write transaction).
2. The producer then sends a produce event to the consuming socket of its descriptor (DMA-to-MMIO write transaction).
This event contains the number of the descriptor to which it relates.
3. The producer then loads the next descriptor for the socket and makes it active (DMA-to-memory read transaction).
4. If the new descriptor indicates its buffer space is occupied, the socket stalls. If a consume event is received for the current
descriptor, the descriptor is either updated using the data in the event or reloaded from the memory. (DMA-to-memory
read transaction). DMA data write transfers may resume. Go to step (1)
5. If no descriptor is available (next_dscr=0xFFFF), the socket is suspended. When the software extends the descriptor list
and explicitly 'resumes', the IP block operation continues. Go to step (3).
The consumer behavior is exactly symmetric:
1. When a consumer has emptied a buffer (an end-of-packet or a buffer empty event occurred), it updates the descriptor
associated with the buffer in the main memory to indicate that the buffer is empty and available (DMA-to memory write
transaction).
2. The consumer then sends a consume event to the producing socket of its descriptor (DMA-to-MMIO write transaction).
This event contains the number of the descriptor to which it relates.
3. The consumer then loads the next descriptor for the socket and makes it active (DMA-to-memory read transaction).
4. If the new descriptor indicates its buffer is empty, the socket stalls. If a produce event is received for the current descriptor,
the descriptor is either updated using the data from the event or reloaded from the memory. (DMA-to-memory read trans-
action). DMA data read transfers may resume. Go to step (1)
5. If no descriptor is available the socket is suspended. When the software extends the descriptor list and explicitly
'resumes', the IP block operation continues. Go to step (3).
System
DMA
Engine
Socket
Peripheral1
DMAdescriptor0
DMAdescriptor1
DMAdescriptor2
DMAdescriptor3
DMA
Engine
DMAdescriptor0
DMAdescriptor1
DMAdescriptor2
DMAdescriptor3
Socket
Peripheral2
PL192
VIC
Arm

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