![Infineon Technologies TC1796 User Manual Download Page 675](http://html1.mh-extra.com/html/infineon-technologies/tc1796/tc1796_user-manual_2055437675.webp)
TC1796
System Units (Vol. 1 of 2)
Direct Memory Access Controller
User’s Manual
12-11
V2.0, 2007-07
DMA, V2.0
If a software or a hardware DMA request is detected for channel mn while TRSR.CHmn
is set, a request lost event occurs. This error event indicates that the DMA is already
processing a transfer and that another transfer has been requested before the end of the
previous one. In this case, bit ERRSR.TRLmn will be set and a transfer lost interrupt can
be generated.
12.1.4.3 DMA Channel Operation Modes
The operation mode of a DMA channel is individually programmable for each DMA
channel mn. Basically, a DMA channel can operate in the following modes:
•
Software-controlled mode
•
Hardware-controlled mode, in Single or Continuous Mode
In software-controlled mode, a DMA channel request is generated by setting a control
bit. In hardware-controlled mode, a DMA channel request is generated by request
signals typically generated by on-chip peripheral units.
In hardware-controlled Single Mode, a DMA channel mn becomes disabled by hardware
after the last DMA transfer of its DMA transaction. In hardware-controlled Continuous
Mode, a DMA channel mn remains enabled after the last DMA transfer of its DMA
transaction.
In hardware- and software-controlled mode, a DMA request signal can be configured to
trigger a complete DMA transaction or one single transfer.
Software-controlled Modes
In software-controlled mode one software request starts one complete DMA transaction
or one single DMA transfer. Software-controlled modes are selected by writing
HTREQ.DCHmn = 1. This forces status flag TRSR.HTREmn = 0 (hardware request of
DMA channel mn is disabled).
The software-controlled mode that initiates one complete DMA transaction to be
executed is selected for DMA channel mn by the following write operations:
•
CHCRmn.RROAT = 1
•
STREQ.SCHmn = 1
Setting STREQ.SCHmn to 1 (this is the software request) causes the DMA transaction
of DMA channel mn to be started and TRSR.CHmn to be set. At the start of the DMA
transaction, the value of CHCRmn.TREL is loaded into CHSRmn.TCOUNT (transfer
count or tc) and the DMA transfers are executed. 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 flag
TRSR.CHmn is cleared. Setting STREQ.SCHmn again starts a new DMA transaction of
DMA channel mn with the parameters as actually defined in the channel register set.