Freescale Semiconductor MCF52211 Benutzerhandbuch

Seite von 576
System Control Module (SCM)
MCF52211 ColdFire® Integrated Microcontroller Reference Manual, Rev. 2
12-10
Freescale Semiconductor
 
There are two arbitration algorithms: fixed and round-robin. Fixed arbitration sets the next-state 
arbitration pointer to the highest priority requester. Round-robin arbitration sets the next-state 
arbitration pointer to the highest priority requester (calculated by adding a requester's fixed priority 
to the current bus master’s fixed priority and then taking this sum modulo the number of possible 
bus masters).
The default priority is DMA (M2) > CPU (M0), where M2 is the highest and M0 the lowest 
priority.
There are two actions for an idle arbitration cycle, leave the current arbitration pointer as is or set 
it to the lowest priority requester.
The anti-lock-out logic for the fixed priority scheme forces the arbitration algorithm to round-robin 
if any requester has been held for longer than a specified cycle count.
12.6.2
Arbitration Algorithms
There are two modes of arbitration: fixed and round-robin. This section discusses the differences between 
them.
12.6.2.1
Round-Robin Mode
Round-robin arbitration is the default mode after reset. This scheme cycles through the sequence of 
masters as specified by MPARK[Mn_PRTY] bits. Upon completion of a transfer, the master is given the 
lowest priority and the priority for all other masters is increased by one.
If no masters are requesting, the arbitration unit must park, pointing at one of the masters. There are two 
possibilities: park the arbitration unit on the last active master, or park pointing to the highest priority 
master. Setting MPARK[PRK_LAST] causes the arbitration pointer to be parked on the highest priority 
master. In round-robin mode, programming the timeout enable and lockout bits MPARK[13,11:8] has no 
effect on the arbitration.
12.6.2.2
Fixed Mode
In fixed arbitration, the master with highest priority (as specified by the MPARK[Mn_PRTY] bits) wins 
the bus. That master relinquishes the bus when all transfers to that master are complete.
If MPARK[TIMEOUT] is set, a counter increments for each master for every cycle it is denied access. 
When a counter reaches the limit set by MPARK[LCKOUT_TIME], the arbitration algorithm is changed 
to round-robin arbitration mode until all locks are cleared. The arbitration then returns to fixed mode and 
the highest priority master is granted the bus.
As in round-robin mode, if no masters are requesting, the arbitration pointer parks on the highest priority 
master if MPARK[PRK_LAST] is set or parks on the master that last requested the bus if cleared.
12.6.3
Bus Master Park Register (MPARK)
The MPARK controls the operation of the system bus arbitration module. The platform bus master 
connections are defined as the following: