5
Peripheral Data Controller (PDC)
1363D–CASIC–04/02
Memory Pointers Each peripheral is connected to the PDC by a receive data channel and a transmit data
channel. Each channel has an internal 32-bit memory pointer. Each memory pointer
points to a location in the system bus memory space (on-chip memory or external bus
interface memory)
Depending on the type of transfer (byte, half-word or word) the memory pointer is incre-
mented by 1, 2 or 4 respectively for SPI transfers.
USART-associated memory pointers only increment by 1.
If a memory pointer is reprogrammed while the PDC is in operation, the transfer
addresses are changed, and the PDC performs transfers using the new address.
Transfer Counters There is one internal 16-bit transfer counter for each channel. Each counter is used to
count the size of the block already transferred by its associated channel. These
counters are decremented after each data transfer. When the counter reaches zero, the
transfer is complete and the PDC stops transferring data and disables the trigger.
If the counter is reprogrammed while the PDC is operating then the number of transfers
is changed, and the PDC counts transfers from the new value.
Data Transfers The peripheral triggers PDC transfers using transmit (periph_tx_rdy) and receive
(periph_rx_rdy) signals.
When the peripheral receives an external character, it sends a Receive Ready signal to
the PDC, which then requests access to the system bus (ASB) from the Bus Arbiter.
When access is granted, the PDC starts a read of the peripheral Receive Holding Regis-
ter, via the dedicated pdc_add, pdc_sel, pdc_write and pdc_size signals to the Bridge.
Next, the PDC triggers a write in the memory by setting the ASB control signals and, at
the same time, the Bridge provides the data that is to be written to the memory.
After each transfer, the relevant PDC memory pointer is incremented, and the numbers
of transfers left is decremented. When the memory block size is reached, a signal is
sent to the peripheral and the transfer stops.
The same procedure is followed, in reverse, for transmit transfers.
These timing exchanges are shown in Figures 4, 5, 6, 7, and 8.