Freescale Semiconductor MSC8156 Evaluation Module MSC8156EVM MSC8156EVM Benutzerhandbuch
Produktcode
MSC8156EVM
Arbitration Types
MSC8156 Reference Manual, Rev. 2
Freescale Semiconductor
14-19
14.3
Arbitration Types
There are two types of DMA arbitration: round-robin and early-deadline-serve-first (EDF). The
type of arbitration is selected via the DGCR[AT] bit (see Table 14-17, DMAGCR Field
Descriptions, on page 14-31).
type of arbitration is selected via the DGCR[AT] bit (see Table 14-17, DMAGCR Field
Descriptions, on page 14-31).
14.3.1
Round-Robin Arbitration
The round-robin arbitration between channels is a least recently used (LRU) schema. Following
is a list of the arbitration parameters according to their weight:
is a list of the arbitration parameters according to their weight:
DMA port. Each channel is assigned to one DMA port. Each time a channel request is
serviced, the channels assigned to its port are masked for three clock cycles. When there
are requesting channels for both ports, they are serviced intermittently.
are requesting channels for both ports, they are serviced intermittently.
Fixed-priority among round-robin groups. Each channel is assigned to one of the four
priority groups as defined by the DCHCRx[RRPG] bit. Each priority group can contain
from 0 (empty) to all 16 channels. Pending requests from the highest-priority group are
serviced first.
from 0 (empty) to all 16 channels. Pending requests from the highest-priority group are
serviced first.
Table 14-11. Parameter Values for a Three-Dimensional Cyclic Buffer
BD
BD Parameters
Value
Description
8
BD_ADDR
0x1000
External memory buffer current address.
BD_MD_SIZE
0x40
Size of transfer left for this buffer.
BD_MD_BSIZE
0x40
Buffer base size of continuous buffer.
BD_MD_ATTR
SST
0x1
Generate interrupt when buffer ends.
CONT
0x1
Non-continuous mode: the channel closes when the size reaches
zero.
zero.
CYC
0x1
Cyclic three dimensions.
BTSZ
0x5
Basic transfer size is 16 bytes.
BD
0x2
Buffer dimension is 3.
SSTD
0x2
Interrupt issued at the end of the third dimension.
CONTD
0x2
Cyclic three-dimensional buffer.
BD_MD_2D
M2D_COUNT
0x10
Second dimension iterations left.
M2D_BCOUNT
0x10
Second dimension base number of iterations.
M2D_OFFSET
0xF3C0
Second dimension offset between two consecutive iterations.
BD_MD_3D
M3D_COUNT
0x100
Third dimension iterations left.
M3D_BCOUNT
0x100
Third dimension base number of iterations.
M3D_OFFSET
–0xF3FB0
Third dimension offset between two consecutive iterations of two
dimension buffers.
dimension buffers.
BD_MD_4D
M4D_COUNT
0
Fourth dimension iterations left.
M4D_OFFSET
–0xFBFB0
Fourth dimension offset between two consecutive iterations.