DS785UM1
10-19
Copyright 2007 Cirrus Logic
DMA Controller
EP93xx User’s Guide
1
0
1
0
10
10.1.12.1 Internal M2P/P2M Channel Rx Buffer Descriptors
Only one Rx buffer descriptor is allocated per transaction. There are five Rx buffer
descriptors, one for each of the five receive channels. Each buffer descriptor allows a
channel double buffering scheme by containing programming for two buffers, that is, two
system buffer base addresses and two buffer byte counts. This ensures that there is always
one free buffer available for transfers to avoid potential data over/under-flow due to software-
introduced latency.
10.1.12.2 Internal M2P/P2M Channel Tx Buffer Descriptors
Only one Tx buffer descriptor is allocated per transaction. There are five Tx buffer
descriptors, one for each of the five transmit channels Each buffer descriptor allows a
channel double buffering scheme by containing programming for two buffers, that is, two
system buffer base addresses and two buffer byte counts. This ensures that there is always
one free buffer available for transfers to avoid potential data over/under-flow due to software
introduced latency.
10.1.12.3 M2M Channel Buffer Descriptors
Only one M2M channel buffer descriptor is allocated per transaction. There are two M2M
buffer descriptors, one for each of the 2 M2M channels. Each buffer descriptor allows a
channel double buffering scheme by containing programming for two buffers, that is, two
source base addresses, two destination base addresses and two buffer byte counts. The
buffers are limited to 64 kBytes (0xFFF). This ensures that there is always one free buffer
available for transfers which avoids potential data overflow/underflow due to software
introduced latency.
10.1.13 Bus Arbitration
When ready to do a transfer, the DMA Controller arbitrates internally between DMA
Channels, then requests AHB bus access to the external AHB bus arbiter. Then a default
setting of M2P having a higher priority than M2M is implemented. The default setting is
programmable and can be changed if required (DMA Arbitration register bit[0] = CHARB).
The channel arbitration scheme is based on rotating priority, the order is as shown below in
Table 10-2. M2P DMA Bus Arbitration
Internal Arbitration Priority
CHARB = 0
CHARB = 1
Highest
M2P Ch 0
M2M Ch 0
M2P Ch 1
M2M Ch 1
M2P Ch 2
M2P Ch 0
M2P Ch 3
M2P Ch 1
M2P Ch 4
M2P Ch 2
M2P Ch 5
M2P Ch 3
M2P Ch 6
M2P Ch 4
Summary of Contents for EP93 Series
Page 28: ...P 6 DS785UM1 Copyright 2007 Cirrus Logic Preface EP93xx User s Guide PP P ...
Page 162: ...5 36 DS785UM1 Copyright 2007 Cirrus Logic System Controller EP93xx User s Guide 55 5 ...
Page 576: ...15 18 DS785UM1 Copyright 2007 Cirrus Logic UART2 EP93xx User s Guide 1515 15 ...
Page 634: ...17 38 DS785UM1 Copyright 2007 Cirrus Logic IrDA EP93xx User s Guide 1717 17 ...
Page 648: ...19 6 DS785UM1 Copyright 2007 Cirrus Logic Watchdog Timer EP93xx User s Guide 1919 19 ...
Page 688: ...21 32 DS785UM1 Copyright 2007 Cirrus Logic I2S Controller EP93xx User s Guide 2121 21 ...
Page 790: ...27 20 DS785UM1 Copyright 2007 Cirrus Logic IDE Interface EP93xx User s Guide 2727 27 ...
Page 808: ...28 18 DS785UM1 Copyright 2007 Cirrus Logic GPIO Interface EP93xx User s Guide 2828 28 ...