XC2200 Derivatives
System Units (Vol. 1 of 2)
The External Bus Controller EBC
User’s Manual
9-28
V2.1, 2008-08
EBC_X8, V1.0d1
9.3.8
External Bus Arbitration
The XC2200 supports multi master systems on the external bus by its external bus
arbitration. This bus arbitration allows an external master to request the external bus.
The XC2200 will release the external bus and will float the data, address bus, and control
lines.
Note: In this case, the pins are controlled by their respective IOCR registers (lower 3
bits). It is recommended to activate a pull-up or pull-down device by pre-
configuring the IOCR registers. The default setting leaves the pins floating. In
particular it is strongly recommended to configure pull-ups at least for the control
lines RD, WR, and BREQ, and a pull-down for ALE. External pull resistors serve
the same purpose, of course.
9.3.8.1
Initialization of Arbitration
During reset all arbitration pins are tristate. After reset the XC2200 EBC always starts in
‘init mode’ where the external bus is available but no arbitration is enabled. All arbitration
pins are ignored in this state. Other XC2200 EBCs connected to the external bus, also
assume to have the bus, so potential bus conflicts are not resolved. For a multi master
system the arbitration should be initialized first before starting any bus access. The EBC
can either be chosen as arbitration master or as arbitration slave by programming bit
SLAVE in register EBCMOD0. The selected mode and the arbitration gets active by the
first setting of bit HLDEN in (CPU) register PSW. Afterwards a change of the
slave/master mode is not possible without resetting the device. Of course, for arbitration
the dedicated pins have to be activated by setting bit EBCMOD0.ARBEN.
9.3.8.2
Arbitration Master Scheme
If the XC2200 EBC is configured as arbitration master, it is default owner of the external
bus, controls the arbitration protocol and drives the bus also during idle phases with no
bus requests. To perform the arbitration handshake, a HOLD input allows the request of
the external bus from the arbitration master. When the arbitration master hands over the
bus to the requester, this is signaled by driving the hold acknowledge pin HLDA low,
which remains at this level until the arbitration slave frees the bus by releasing its request
on the HOLD input. If the arbitration master is not the owner of the bus it releases the
external bus interface.
Note: Pull devices provide a safe inactive state of the external bus during the bus owner
transition. Make sure to enable these pull devices on the respective port pins
before using the bus arbitration (see also note above).
In this state the arbitration slave can take over the bus.
If the arbitration master requires the bus again, it can request the bus via the bus request
signal BREQ. As soon as the arbitration master regains the bus it releases the BREQ
signal and drives HLDA to high.