EasyManua.ls Logo

Cypress EX-USB FX3 - Cyfxbulklpmaninout - MANUAL_IN and MANUAL_OUT Channels; Cyfxbulklpautomanytoone - AUTO_MANY_TO_ONE Channel; Cyfxbulklpmanmanytoone - MANUAL_MANY_TO_ONE Channel; Cyfxbulklpautoonetomany - AUTO_ONE_TO_MANY Channel

Cypress EX-USB FX3
192 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
78 FX3 Programmers Manual, Doc. # 001-64707 Rev. *C
FX3 Application Examples
7.1.4 cyfxbulklpmaninout – MANUAL_IN and MANUAL_OUT Channels
This example demonstrates the use of DMA MANUAL_IN and MANUAL_OUT channels. The data
received in EP1 OUT through a MANUAL_IN channel and is copied to a MANUAL_OUT channel so
that it can be looped back to EP1 IN. MANUAL_IN channel is used to receive data into the FX3
device.
7.1.5 cyfxbulklpautomanytoone – AUTO_MANY_TO_ONE Channel
This example demonstrates the use of DMA AUTO_MANY_TO_ONE channels. The data received
from EP1 OUT and EP2 OUT is looped back to EP1 IN in an interleaved fashion. In this type of
channel, the data is sent out without any firmware intervention. The buffers received on EP1 IN will
be of the fashion: EP1 OUT Buffer 0, EP2 OUT Buffer 0, EP1 OUT Buffer 1, EP2 OUT Buffer 1 and
so on.
7.1.6 cyfxbulklpmanmanytoone – MANUAL_MANY_TO_ONE Channel
This example demonstrates the use of DMA MANUAL_MANY_TO_ONE channels. The data
received from EP1 OUT and EP2 OUT is looped back to EP1 IN in an interleaved fashion. This
channel is similar to AUTO_MANY_TO_ONE except for the fact that the data has to be committed
explicitly by the CPU and the CPU can modify the data before being sent out.
7.1.7 cyfxbulklpautoonetomany – AUTO_ONE_TO_MANY Channel
This example demonstrates the use of DMA AUTO_ONE_TO_MANY channels. The data received
from EP1 OUT is looped back to EP1 IN and EP2 IN in an interleaved fashion. In this type of
channel, the data is sent out without any firmware intervention. The buffers received on EP1 IN will
be of the fashion: EP1 OUT Buffer 0, EP1 OUT Buffer 2 and so on and buffers received on EP2 IN
will of the fashion: EP1 OUT Buffer 1, EP1 OUT Buffer 3 and so on.
7.1.8 cyfxbulklpmanonetomany – MANUAL_ONE_TO_MANY Channel
This example demonstrates the use of DMA MANUAL_ONE_TO_MANY channels. The data
received from EP1 OUT is looped back to EP1 IN and EP2 IN in an interleaved fashion. This channel
is similar to AUTO_ONE_TO_MANY except for the fact that the data has to be committed explicitly
by the CPU and the CPU can modify the data before being sent out.
7.1.9 cyfxbulklpmulticast – MULTICAST Channel
This example demonstrates the use of DMA MULTICAST channels. The data received from EP1
OUT is looped back to EP1 IN and EP2 IN. Both IN EPs shall receive the same data. In this type of
channel, the data received from the producer shall be sent out to all consumers. The channel
requires CPU intervention and buffers have to be explicitly committed.
7.1.10 cyfxbulklpman_addition – MANUAL Channel with Header / Footer Addition
This example demonstrates the use of DMA MANUAL channels where a header and footer get
added to the data before sending out. The data received from EP1 OUT is looped back to EP1 IN
after adding the header and footer. The addition of header and footer does not require the copy of
the entire data. Only the required header / footer regions need to be updated.
7.1.11 cyfxbulklpman_removal – MANUAL Channel with Header / Footer Deletion
This example demonstrates the use of DMA MANUAL channels where a header and footer get
removed from the data before sending out. The data received from EP1 OUT is looped back to EP1

Table of Contents