![](http://datasheet.mmic.net.cn/370000/P312XDP512F0VFV_datasheet_16728159/P312XDP512F0VFV_587.png)
Chapter 15 Background Debug Module (S12XBDMV2)
MC9S12XDP512 Data Sheet, Rev. 2.17
Freescale Semiconductor
587
compared to the serial communication rate. 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 15-11. 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 wait or stop prior to executing a
hardware command, the ACK pulse will not be issued meaning that the
BDM command was not executed. After entering wait or stop mode, the
BDM command is no longer pending.
Figure 15-12
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
addressofthememorylocationtoberead.ThetargetBDMdecodestheinstruction.Abuscycleisgrabbed
(free or stolen) by the BDM and it executes the READ_BYTE operation. Having retrieved the data, the
BDMissuesanACKpulsetothehostcontroller,indicatingthattheaddressedbyteisreadytoberetrieved.
AfterdetectingtheACKpulse,thehostinitiatesthebyteretrievalprocess.Notethatdataissentintheform
of a word and the host needs to determine which is the appropriate byte based on whether the address was
odd or even.
Figure 15-12. Handshake Protocol at Command Level
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
READ_BYTE
BDM Issues the
ACK Pulse (out of scale)
BKGD Pin
Byte Address
BDM Executes the
READ_BYTE Command
Host
Target
Host
Target
BDM Decodes
the Command
Host
Target
(2) Bytes are
Retrieved
New BDM
Command