TC1796
System Units (Vol. 1 of 2)
Direct Memory Access Controller
User’s Manual
12-13
V2.0, 2007-07
DMA, V2.0
Hardware-controlled Modes
In hardware-controlled modes a hardware request signal starts a DMA transaction or a
single DMA transfer. There are two hardware-controlled modes available:
•
Single Mode:
Hardware requests are disabled by hardware after a DMA transaction
•
Continuous Mode:
Hardware requests are
not
disabled by hardware after a DMA transaction
Hardware-controlled Single Mode
In hardware-controlled Single Modes one hardware request starts one complete DMA
transaction or one single DMA transfer. The hardware-controlled Single Mode that
initiates one complete DMA transaction to be executed for DMA channel mn is selected
by the following operations:
•
CHCRmn.CHMODE = 0
•
CHCRmn.RROAT = 1
•
Selecting one of the eight hardware request inputs via CHCRmn.PRSEL
•
HTREQ.ECHmn = 1
Setting HTREQ.ECHmn to 1 causes that the hardware request CHmn_REQ of
channel mn to be enabled (TRSR.HTREmn = 1). Once the hardware request
CHmn_REQ becomes active, the value of CHCRmn.TREL is loaded into
CHSRmn.TCOUNT and the DMA transaction is started by executing its first DMA
transfer. After each DMA transfer, TCOUNT becomes decremented and next source and
destination addresses are calculated. When TCOUNT reaches the 0, DMA channel mn
becomes disabled and status flags TRSR.CHmn and TRSR.HTREmn are cleared. In
order to start a new hardware-controlled DMA transaction, hardware requests must be
enabled again by setting TRSR.HTREmn through HTREQ.ECHmn = 1. The hardware
request disable function in Single Mode is typically needed when a reprogramming of the
DMA channel register set (addresses, transfer count) is required before the next
hardware triggered DMA transaction is started.
The hardware-controlled Single Mode in which each single DMA transfer has to be
requested by a hardware request signal is selected as described above, with one
difference:
•
CHCRmn.RROAT = 0
In this operation mode, TRSR.CHmn becomes cleared after each DMA transfer of the
DMA transaction, and a new hardware request at CHmn_REQ must be generated for
starting the next DMA transfer.