
411
SAM G51 [DATASHEET]
11209C–ATARM–20-Dec-13
These status flags are described in the Peripheral Status register (PERIPH_PTSR).
21.4.4 Data Transfers
The serial peripheral triggers its associated PDC channels’ transfers using transmit enable (TXEN) and receive enable
(RXEN) flags in the transfer control register integrated in the peripheral’s user interface.
When the peripheral receives external data, it sends a Receive Ready signal to its PDC receive channel which then
requests access to the Matrix. When access is granted, the PDC receive channel starts reading the peripheral Receive
Holding register (RHR). The read data are stored in an internal buffer and then written to memory.
When the peripheral is about to send data, it sends a Transmit Ready to its PDC transmit channel which then requests
access to the Matrix. When access is granted, the PDC transmit channel reads data from memory and transfers the data
to the Transmit Holding register (THR) of its associated peripheral. The same peripheral sends data depending on its
mechanism.
21.4.5 PDC Flags and Peripheral Status Register
Each peripheral connected to the PDC sends out receive ready and transmit ready flags and the PDC returns flags to the
peripheral. All these flags are only visible in the peripheral’s Status register.
Depending on whether the peripheral is half- or full-duplex, the flags belong to either one single channel or two different
channels.
21.4.5.1
Receive Transfer End
The receive transfer end flag is set when PERIPH_RCR reaches zero and the last data has been transferred to memory.
This flag is reset by writing a non-zero value to PERIPH_RCR or PERIPH_RNCR.
21.4.5.2
Transmit Transfer End
The transmit transfer end flag is set when PERIPH_TCR reaches zero and the last data has been written to the
peripheral THR.
This flag is reset by writing a non-zero value to PERIPH_TCR or PERIPH_TNCR.
21.4.5.3
Receive Buffer Full
The receive buffer full flag is set when PERIPH_RCR reaches zero, with PERIPH_RNCR also set to zero and the last
data transferred to memory.
This flag is reset by writing a non-zero value to PERIPH_TCR or PERIPH_TNCR.
21.4.5.4
Transmit Buffer Empty
The transmit buffer empty flag is set when PERIPH_TCR reaches zero, with PERIPH_TNCR also set to zero and the last
data written to peripheral THR.
This flag is reset by writing a non-zero value to PERIPH_TCR or PERIPH_TNCR.