EasyManua.ls Logo

Cypress EX-USB FX3 - Short Transfer - Partial Buffer

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...
FX3 Programmers Manual, Doc. # 001-64707 Rev. *C 141
FX3 P-Port Register Access
Figure 10-2. Short Transfer - DMA Transfer Sequence
10.4.3 Short Transfer – Partial Buffer
A partial write (ingress) transfer is defined as a transfer that writes fewer bytes than the available
space in the buffer.
A partial read (egress) transfer is defined as a transfer that transfers less than the number of bytes
available in the current buffer.
The normal mechanism for a partial transfer is to write the number of bytes to transfer into
DMA_SIZE. This can be done only after a DMA_XFER.SIZE_VALID asserted. It is also possible to
explicitly terminate a transfer by clearing DMA_ENABLE in DMA_XFER. Note that in that case, it is
not possible to transfer an odd number of bytes.
Application
Processor
GPMC port
Benicia
P-port
AP gets interrrupted by
INTR#. AP reads
PP_SOCK_STAT and
determins sockets ready
for transfer.
SOCK_STAT[N],
DMA_READY,
DMA_ENABLE all become
zero
AP polls for DMA_READY
Processor writes
DMA_XFER with socket -
number, direction and
DMA_ENABLE=1.
SOCKET N has a
empty (full) buffer
that causes
PP_SOCK_STAT[N]
to be set.
AP optionally polls
PP_DMA_XFER for
SIZE_VALID to become 1,
if PP_DMA_SIZE is
required to write (read).
AP may optionally set
PP_DMA_SIZE for short
transfers
AP configures
PP_DRQR5_MASK to
assign DMA_WMARK_EV
to DRQ signal.
AP starts bursting data
from (to) socket
Data produced
(consumed) on
socket N makes
filled (empty) buffer
available to other
peripherals or CPU.
DMA_WMARK_EV
deasserts indicating that
AP should stop/pause
bursting.

Table of Contents