![Texas Instruments AM1808 Technical Reference Manual Download Page 1273](http://html.mh-extra.com/html/texas-instruments/am1808/am1808_technical-reference-manual_10945581273.webp)
8-bit x 64
(512-bit)
FIFO
EDMA event
256 or 512 bits
EDMA event
256 or 512 bits
EDMA event
the end of a
transfer
Pointer increment
or decrease
FIFO
Write
EDMA
request
is created
Pointer increment
or decrease
FIFO
Read
CPU/EDMA reads/writes
16-bit DXR
shifter
16-bit DRR
shifter
16-bit DXR
16-bit DRR
DXR
DRR
Transmission of data
Step 1:
Step 2:
Step 3:
Step 4:
Set FIFO reset
Set FIFO direction
EDMA driven transaction
CPU driven transaction:
Fill the FIFO by writing to
MMCDXR (only first time)
or every 256 or 512-bits
transmitted and DXRDYINT
interrupt is generated
Step 5:
Step 6:
EDMA send xmit data
If DXR ready is active,
FIFO -> 16-bit DXR
Reception of data
Step 1:
Step 2:
Step 3:
Set FIFO reset
Set FIFO direction
If DRR ready is active,
16-bit DRR -> FIFO
Step 4:
Step 5:
EDMA driven transaction
DRRDYINT interrupt occur
when FIFO every 256 or
512-bits of data received
by FIFO
Step 6: EDMA read reception data
Architecture
1273
SPRUH82C – April 2013 – Revised September 2016
Copyright © 2013–2016, Texas Instruments Incorporated
Multimedia Card (MMC)/Secure Digital (SD) Card Controller
A high-level operational description is as follows:
•
Data is written to the FIFO through the MMC data transmit register (MMCDXR). Data is read from the
FIFO through the MMC data receive register (MMCDRR). This is true for both the CPU and EDMA
driven transactions; however, for the EDMA transaction, the EDMA access to the FIFO is transparent.
•
The ACCWD bits in the MMC FIFO control register (MMCFIFOCTL) determines the behavior of the
FIFO full (FIFOFUL) and FIFO empty (FIFOEMP) status flags in the MMC status register 1 (MMCST1):
–
If ACCWD = 00b:
•
FIFO full is active when the write p 4 > read pointer
•
FIFO empty is active when the write pointer - 4 < read pointer
–
If ACCWD = 01b:
•
FIFO full is active when the write p 3 > read pointer
•
FIFO empty is active when the write pointer - 3 < read pointer
–
If ACCWD = 10b:
•
FIFO full is active when the write p 2 > read pointer
•
FIFO empty is active when the write pointer - 2 < read pointer
–
If ACCWD = 11b:
•
FIFO full is active when the write p 1 > read pointer
•
FIFO empty is active when the write pointer - 1 < read pointer
Figure 26-7. FIFO Operation Diagram