![Texas Instruments AM1808 Скачать руководство пользователя страница 1223](http://html.mh-extra.com/html/texas-instruments/am1808/am1808_technical-reference-manual_10945581223.webp)
Architecture
1223
SPRUH82C – April 2013 – Revised September 2016
Copyright © 2013–2016, Texas Instruments Incorporated
Multichannel Buffered Serial Port (McBSP)
25.2.7.6.1.1 Transmit DMA Event Pacer
The BFIFO may be configured to delay making a transmit DMA request to the host until the Write FIFO
has enough space for a specified number of words. In this situation, the number of transmit DMA requests
to the host or DMA controller is reduced.
If the Write FIFO has space to accept
WNUMEVT
32-bit words, it generates a transmit DMA request to
the host and then waits for a response. Once
WNUMEVT
words have been written to the WFIFO, the
WFIFO checks again to see if there is space for
WNUMEVT
32-bit words. If there is space, it generates
another transmit DMA request to the host, and so on. In this fashion, the Write FIFO will attempt to stay
filled.
Note that if transmit DMA event pacing is desired, the WNUMEVT bits in WFIFOCTL should be set to a
non-zero integer multiple of the value in the WNUMDMA bits. If transmit DMA event pacing is not desired,
then the value in the WNUMEVT bits should be set equal to the value in the WNUMDMA bits.
25.2.7.6.2 BFIFO Data Reception
When the Read FIFO is disabled, receive DMA requests pass through directly from McBSP to the
host/DMA controller. Whether the RFIFO is enabled or disabled, the McBSP generates receive DMA
requests as needed; the BFIFO is "invisible" to the McBSP.
When the Read FIFO is enabled, receive DMA requests from the McBSP are sent to the BFIFO, which in
turn generates receive DMA requests to the host/DMA controller.
If the Read FIFO is enabled and the McBSP makes a receive DMA request, the RFIFO reads
RNUMDMA
32-bit words from the McBSP, if and when the RFIFO has space for
RNUMDMA
words. If the RFIFO does
not have space, the RFIFO waits until this condition has been satisfied; at this point, it reads
RNUMDMA
words from the McBSP.
If the host CPU reads the Read FIFO, independent of a receive DMA request, and the RFIFO at that time
contains less than
RNUMEVT
words, those words will be read correctly, emptying the RFIFO.
25.2.7.6.2.1 Receive DMA Event Pacer
The BFIFO may be configured to delay making a receive DMA request to the host until the Read FIFO
contains a specified number of words. In this situation, the number of receive DMA requests to the host or
DMA controller is reduced.
If the Read FIFO contains at least
RNUMEVT
32-bit words, it generates a receive DMA request to the
host and then waits for a response. Once
RNUMEVT
32-bit words have been read from the RFIFO, the
RFIFO checks again to see if it contains at least another
RNUMEVT
words. If it does, it generates another
receive DMA request to the host, and so on. In this fashion, the Read FIFO will attempt to stay empty.
Note that if receive DMA event pacing is desired, the RNUMEVT bits in RFIFOCTL should be set to a
non-zero integer multiple of the value in RNUMDMA bits. If receive DMA event pacing is not desired, then
the value in the RNUMEVT bits should be set equal to the value in the RNUMDMA bits.
25.2.7.6.3 Arbitration Between Transmit and Receive DMA Requests
If both the WFIFO and the RFIFO are enabled and a transmit DMA request and receive DMA request
occur simultaneously, priority is given to the transmit DMA request. Once a transfer is in progress, it is
allowed to complete.
If only the WFIFO is enabled and a transmit DMA request and receive DMA request occur simultaneously,
priority is given to the transmit DMA request. Once a transfer is in progress, it is allowed to complete.
If only the RFIFO is enabled and a transmit DMA request and receive DMA request occur simultaneously,
priority is given to the receive DMA request. Once a transfer is in progress, it is allowed to complete.