
MM912_634 Advance Information, Rev. 10.0
Freescale Semiconductor
193
5.31.4.7
Serial Interface Hardware Handshake Protocol
BDM commands that require CPU execution are ultimately treated at the MCU bus rate. Since the BDM clock source can be
modified , it is very helpful to provide a handshake protocol in which the host could determine when an issued command is
executed by the CPU. . The alternative is to always wait the amount of time equal to the appropriate number of cycles at the
slowest possible rate the clock could be running. This sub-section will describe the hardware handshake protocol.
The hardware handshake protocol signals to the host controller when an issued command was successfully executed by the
target. This protocol is implemented by a 16 serial clock cycle low pulse followed by a brief speedup pulse in the BKGD pin. This
pulse is generated by the target MCU when a command, issued by the host, has been successfully executed (see
Figure 58).This pulse is referred to as the ACK pulse. After the ACK pulse has finished: the host can start the bit retrieval if the last issued
command was a read command, or start a new command if the last command was a write command or a control command
BDM command was issued. The end of the BDM command is assumed to be the 16th tick of the last bit. This minimum delay
assures enough time for the host to perceive the ACK pulse. Note also that, there is no upper limit for the delay between the
command and the related ACK pulse, since the command execution depends upon the CPU bus, which in some cases could be
very slow due to long accesses taking place.This protocol allows a great flexibility for the POD designers, since it does not rely
on any accurate time measurement or short response time to any event in the serial communication.
Figure 58. Target Acknowledge Pulse (ACK)
NOTE
If the ACK pulse was issued by the target, the host assumes the previous command was
executed. If the CPU enters stop prior to executing a hardware command, the ACK pulse
will not be issued meaning that the BDM command was not executed. After entering stop
mode, the BDM command is no longer pending.
Figure 59 shows the ACK handshake protocol in a command level timing diagram. The READ_BYTE instruction is used as an
example. First, the 8-bit instruction opcode is sent by the host, followed by the address of the memory location to be read. The
target BDM decodes the instruction. A bus cycle is grabbed (free or stolen) by the BDM and it executes the READ_BYTE
operation. Having retrieved the data, the BDM issues an ACK pulse to the host controller, indicating that the addressed byte is
ready to be retrieved. After detecting the ACK pulse, the host initiates the byte retrieval process. Note that data is sent in the form
of a word and the host needs to determine which is the appropriate byte based on whether the address was odd or even.
16 Cycles
BDM Clock
(Target MCU)
Target
Transmits
ACK Pulse
High-Impedance
BKGD Pin
Minimum Delay
From the BDM Command
32 Cycles
Earliest
Start of
Next Bit
Speedup Pulse
16th Tick of the
Last Command Bit
High-Impedance