Version 1 ColdFire Debug (CF1_DEBUG)
MCF51CN128 Reference Manual, Rev. 6
Freescale Semiconductor
20-55
Figure 20-23. ACK Pulse and SYNC Request Conflict
The hardware handshake protocol is enabled by the ACK_ENABLE command and disabled by the
ACK_DISABLE command. It also allows for pod devices to choose between the hardware handshake
protocol or the software protocol that monitors the XCSR status byte. The ACK_ENABLE and
ACK_DISABLE commands are:
•
ACK_ENABLE — Enables the hardware handshake protocol. The target issues the ACK pulse
when a CPU command is executed. The ACK_ENABLE command itself also has the ACK pulse
as a response.
•
ACK_DISABLE — Disables the ACK pulse protocol. In this case, the host should verify the state
of XCSR[CSTAT] to evaluate if there are pending commands and to check if the CPU’s operating
state has changed to or from active background mode via XCSR[31–30].
The default state of the protocol, after reset, is hardware handshake protocol disabled.
The commands that do not require CPU execution, or that have the status register included in the retrieved
bit stream, do not perform the hardware handshake protocol. Therefore, the target does not respond with
an ACK pulse for those commands even if the hardware protocol is enabled. Conversely, only commands
that require CPU execution and do not include the status byte perform the hardware handshake protocol.
See the third column in
for the complete enumeration of this function.
An exception is the ACK_ENABLE command, which does not require CPU execution but responds with
the ACK pulse. This feature can be used by the host to evaluate if the target supports the hardware
handshake protocol. If an ACK pulse is issued in response to this command, the host knows that the target
supports the hardware handshake protocol. If the target does not support the hardware handshake protocol
the ACK pulse is not issued. In this case, the ACK_ENABLE command is ignored by the target, because
it is not recognized as a valid command.
BDC CLOCK
(TARGET MCU)
TARGET MCU
DRIVES TO
BKGD PIN
BKGD PIN
16 CYCLES
SPEEDUP PULSE
HIGH-IMPEDANCE
HOST
DRIVES SYNC
TO BKGD PIN
HOST AND TARGET
ACK PULSE
HOST SYNC REQUEST PULSE
AT LEAST 128 CYCLES
ELECTRICAL CONFLICT
DRIVE TO BKGD PIN