Freescale Semiconductor MSC8156 Evaluation Module MSC8156EVM MSC8156EVM Benutzerhandbuch

Produktcode
MSC8156EVM
Seite von 1490
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).
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:
„ 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.
„ 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.
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.
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.
BD_MD_4D
M4D_COUNT
0
Fourth dimension iterations left.
M4D_OFFSET
–0xFBFB0
Fourth dimension offset between two consecutive iterations.