System Control Module (SCM)
MCF52110 ColdFire® Integrated Microcontroller Reference Manual, Rev. 1
12-10
Freescale Semiconductor
Preliminary
•
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[M
n
_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[M
n
_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: