2 setting up the uart to request dma service – Freescale Semiconductor ColdFire MCF52210 User Manual

Page 413

Advertising
background image

UART Modules

MCF52211 ColdFire® Integrated Microcontroller Reference Manual, Rev. 2

Freescale Semiconductor

24-27

3. Unmask appropriate bits in the core’s status register (SR) to enable interrupts.

4. If TXRDY or RXRDY generates interrupt requests, verify that DMAREQC (in the SCM) does not

also assign the UART’s TXRDY and RXRDY into DMA channels.

5. Initialize interrupts in the UART, see

Table 24-13

.

24.5.1.2

Setting up the UART to Request DMA Service

The UART is capable of generating two internal DMA request signals: transmit and receive.

The transmit DMA request signal is asserted when the TXRDY (transmitter ready) in the UART interrupt
status register (UISRn[TXRDY]) is set. When the transmit DMA request signal is asserted, the DMA can
initiate a data copy, reading the next character transmitted from memory and writing it into the UART
transmit buffer (UTBn). This allows the DMA channel to stream data from memory to the UART for
transmission without processor intervention. After the entire message has been moved into the UART, the
DMA would typically generate an end-of-data-transfer interrupt request to the CPU. The resulting
interrupt service routine (ISR) could query the UART programming model to determine the
end-of-transmission status.

Similarly, the receive DMA request signal is asserted when the FIFO full or receive ready
(FFULL/RXRDY) flag in the interrupt status register (UISRn[FFULL/RXRDY]) is set. When the receive
DMA request signal is asserted, the DMA can initiate a data move, reading the appropriate characters from
the UART receive buffer (URBn) and storing them in memory. This allows the DMA channel to stream
data from the UART receive buffer into memory without processor intervention. After the entire message
has been moved from the UART, the DMA would typically generate an end-of-data-transfer interrupt
request to the CPU. The resulting interrupt service routine (ISR) should query the UART programming
model to determine the end-of-transmission status. In typical applications, the receive DMA request
should be configured to use RXRDY directly (and not FFULL) to remove any complications related to
retrieving the final characters from the FIFO buffer.

The implementation described in this section allows independent DMA processing of transmit and receive
data while continuing to support interrupt notification to the processor for CTS change-of-state and delta
break error managing.

Table 24-13. UART Interrupts

Register

Bit

Interrupt

UMR1n

6

RxIRQ

UIMRn

7

Change of State (COS)

UIMRn

2

Delta Break

UIMRn

1

RxFIFO Full

UIMRn

0

TXRDY

Advertising
This manual is related to the following products: