Direct Memory Access Using the HOLD Operation
4-29
Memory and I/O Spaces
Here are three valid methods for exiting the IDLE state, thus deasserting
HOLDA
and restoring the buses to normal operation:
Cause a rising edge on the HOLD/INT1 pin when MODE = 0.
Assert system reset at the reset pin.
Assert the nonmaskable interrupt NMI at the NMI pin.
If reset or NMI
occurs while HOLDA is asserted, the CPU will deassert HOLDA
regardless of the level on the HOLD/INT1 pin. Therefore, to avoid further con-
flicts in bus control, the system hardware logic should restore HOLD
to a high
state.
4.7.1 HOLD During Reset
The HOLD logic can be used to put the buses in a high-impedance state at
power-on or reset. This feature is useful in extending the DSP memory control
to external processors. If HOLD
is driven low during reset, normal reset opera-
tion occurs internally, but HOLDA
will be asserted, placing all buses and con-
trol lines in a high-impedance state. Upon release of both HOLD
and RS,
execution starts from program location 0000h.
Either of the following conditions will cause the processor to deassert HOLDA
and return the buses to a normal state:
HOLD is deasserted before reset is deasserted.
See Figure 4–14. This
is the normal recovery condition after a HOLD operation. After the HOLD
signal goes high, the HOLDA signal will be deasserted, and the buses will
assume normal states.
Figure 4–14. HOLD Deasserted Before Reset Deasserted
RS
HOLD
HOLDA
Reset is deasserted before HOLD is deasserted. See Figure 4–15. The
CPU will deassert HOLDA
regardless of the HOLD signal after the 16 clock
cycles required for normal reset operation. Along with the HOLDA
signal,
the buses will assume normal states. The external system hardware logic
should restore the HOLD
signal to a high state to avoid conflicts in HOLD
logic.