![Freescale Semiconductor MCF52230 ColdFire Скачать руководство пользователя страница 192](http://html1.mh-extra.com/html/freescale-semiconductor/mcf52230-coldfire/mcf52230-coldfire_reference-manual_2330648192.webp)
System Control Module (SCM)
MCF52235 ColdFire® Integrated Microcontroller Reference Manual, Rev. 6
13-10
Freescale Semiconductor
•
The master pointed to by the current arbitration pointer may get on the bus with zero latency if the
address phase is available. All other requesters face at least a one cycle arbitration pipeline delay
to meet bus timing constraints on address phase hold.
•
If a requester receives an immediate address phase (it is pointed to by the current arbitration pointer
and the bus address phase is available), it is the current bus master and is ignored by arbitration.
All remaining requesting ports are evaluated by the arbitration algorithm to determine the
next-state arbitration pointer.
•
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) > FEC (M3), where M2 is the highest and M3 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.
13.6.2
Arbitration Algorithms
There are two modes of arbitration: fixed and round-robin. This section discusses the differences between
them.
13.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.
M2 =01 M0 = 10 M3 = 00
next +1
M2 =10 M0 = 11 M3 = 01
next +2
M2 =11 M0 = 00 M3 = 10
next +3
M2 =00 M0 = 01 M3 = 11
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.
13.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.
Because
of
an
order
from
the
United
States
International
Trade
Commission,
BGA-packaged
product
lines
and
part
numbers
indicated
here
currently
are
not
available
from
Freescale
for
import
or
sale
in
the
United
States
prior
to
September
2010:MCF52234CVM60,
MCF52235CVM60