Hardware Description
13
4.18. Peripheral DMA Controller (PDC)
The Peripheral DMA Controller (PDC) transfers data between on-chip serial peripherals
and the on- and/or off-chip memories. The PDC contains unidirectional and bidirectional
channels. The full-duplex peripherals feature unidirectional channels used in pairs
(transmit only or receive only). The half-duplex peripherals feature one bidirectional
channel. Typically full-duplex peripherals are USARTs, SPI or SSC. The MCI is a half duplex
device.
The user interface of each PDC channel is integrated into the user interface of the
peripheral it serves. The user interface of unidirectional channels (receive only or
transmit only), contains two 32-bit memory pointers and two 16-bit counters, one set
(pointer, counter) for current transfer and one set (pointer, counter) for next transfer. The
bidirectional channel user interface contains four 32-bit memory pointers and four 16-bit
counters. Each set (pointer, counter) is used by current transmit, next transmit, current
receive and next receive.
Using the PDC removes processor overhead by reducing its intervention during the
transfer. This significantly reduces the number of clock cycles required for a data transfer,
which improves microcontroller performance. To launch a transfer, the peripheral triggers
its associated PDC channels by using transmit and receive signals. When the programmed
data is transferred, an end of transfer interrupt is generated by the peripheral itself. There
are four kinds of interrupts generated by the PDC:
• End of Receive Buffer
• End of Transmit Buffer
• Receive Buffer Full
• Transmit Buffer Empty
The "End of Receive Buffer" / "End of Transmit Buffer" interrupts signify that the DMA
counter has reached zero. The DMA pointer and counter register will be reloaded from the
reload registers ("DMA new pointer register" and "DMA new counter register") provided
that the "DMA new counter register" has a non-zero value. Otherwise a "Receive Buffer
Full" or, respectively, a "Transmit Buffer Empty" interrupt is generated, and the DMA
transfer terminates. Both reload registers are set to zero automatically after having been
copied to the DMA pointer and counter registers.
4.19. Debug Unit (DBGU)
The Debug Unit is a simple UART which provides only RX/TX lines. It is used as a simple
serial console for Firmware and Operating Systems.
4.20. JTAG Unit
The JTAG unit can be used for hardware diagnostics, hardware initialization, flash memory
programming, and debug purposes. The JTAG unit supports two different modes, namely
the "ICE Mode", and the "Boundary Scan" mode. It is normally jumpered for "ICE Mode".