English
Language : 

Z32F0641MCU Datasheet, PDF (137/205 Pages) Zilog, Inc. – High Performance low-power Cortex-M3 core
Z32F0641 Product Specification
Serial Peripheral Interface
DMA Handshake
SPI supports the DMA handshaking operation. In order to operate a DMA handshake, DMA registers should
first be set. (Refer to Chapter 6, Direct Memory Access Controller). As the transmitter and receiver are
independent of each other, SPI can operate the two channels at the same time.
After the DMA channel for the receiver is enabled and the receive buffer is filled, SPI sends an Rx request to
the DMA to empty the buffer and waits for an ACK signal from DMA. If the Receive buffer is filled again after
the ACK signal, SPI sends an Rx request. If DMA Rx DONE becomes high, RXDMAF (SPnSR[8]) becomes 1
and an interrupt is serviced when RXDIE (SPnCR[17]) is set.
Similarly, if the transmit buffer is empty after the DMA channel for the transmitter is enabled, SPI sends a Tx
request to the DMA to fill the buffer and waits for an ACK signal from DMA. If the transmit buffer is empty
again after the ACK signal, SPI sends a Tx request. If DMA Tx DONE becomes high, TXDMAF(SPnSR[9])
becomes 1 and an interrupt is serviced when TXDIE(SPnCR[18]) is set.
The slave transmitter sends dummy data at the first transfer (8~17 SCLKs) in DMA handshake mode.
Figure 13.7 DMA Handshake Flow Chart
PS034404-0417
PRELIMINARY
134