
DocID13284 Rev 2
185/564
UM0404
The external bus interface
Figure 59. De-multiplexed bus cycle
8.2.3
Switching between the bus modes
The EBC allows dynamic switching between different bus modes: this means that
subsequent external bus cycles may be executed in different ways. Certain address areas
may use multiplexed or de-multiplexed buses or use READY control or predefined wait-
states.
A change of the external bus characteristics can be initiated in two different ways:
•
Reprogramming the BUSCON and/or ADDRSEL registers
allows to either change
the bus mode for a given address window, or change the size of an address window
that uses a certain bus mode. Reprogramming allows to use a great number of different
address windows (more than BUSCONs are available) on the expense of the overhead
for changing the registers and keeping appropriate tables.
•
Switching between predefined address windows
automatically selects the bus
mode that is associated with the respective window. Predefined address windows allow
to use different bus modes without any overhead, but restrict their number to the
number of BUSCONs. However, as BUSCON0 controls all address areas, which are
not covered by the other BUSCONs, this allows to have gaps between these windows,
which use the bus mode of BUSCON0.
PORT1 will output the intra-segment address when any of the BUSCON registers selects a
de-multiplexed bus mode, even if the current bus cycle uses a multiplexed bus mode. This
means that an external address decoder can be connected to PORT1 only, while using it for
all kinds of bus cycles.
Note:
Never change the configuration for an address area that currently supplies the instruction
stream. Due to the internal pipeline it is very difficult to determine the first instruction fetch
that will use the new configuration. Only change the configuration for address areas that are
not currently accessed. This applies to BUSCON registers as well as to ADDRSEL
registers.
The use of the BUSCON/ADDRSEL registers is controlled via the issued addresses. When
an access (code fetch or data) is initiated, the respective generated physical address, if the
access is made internally, uses one of the address windows defined by ADDRSEL4...1, or
Bus Cycle
Address
Data/Instr.
Data
Segment (P4)
ALE
BUS (P0)
RD
BUS (P0)
WR
Segment (P1)