![Infineon Technologies TC1796 Скачать руководство пользователя страница 684](http://html1.mh-extra.com/html/infineon-technologies/tc1796/tc1796_user-manual_2055437684.webp)
TC1796
System Units (Vol. 1 of 2)
Direct Memory Access Controller
User’s Manual
12-20
V2.0, 2007-07
DMA, V2.0
12.1.5
Transaction Control Engine
The Transaction Control Unit in each DMA Sub-Block, as shown in the DMA Controller
block diagram in
, contains a Channel Arbiter and a Move Engine.
The Channel Arbiter arbitrates the transfer requests of the DMA channels, and submits
the transfers parameters of the DMA channel with the highest channel priority that are
needed for a DMA transfer to the Move Engine. DMA channels within a DMA Sub-Block
have a two-level programmable channel priority as defined by bit CHCRmn.CHPRIO.
When two transfer requests of two different DMA channels with identical channel priority
become active at the same time, the DMA channel with the lowest channel number (n)
is serviced first.
The Move Engine handles the execution of a DMA transfer that has been detected by
the Channel Arbiter to be the next one. The Move Engine requests the required buses
and loads or stores data according to the parameters of a DMA transfer. It is able to wait
if a targeted bus is not available. In the Move Engine, a DMA transfer of a DMA
transaction cannot be interrupted and always gets finished. This means that a DMA
transfer, which can be also composed of several data moves (read move and write
move), cannot be interrupted by a transfer of another DMA channel.
After a DMA transfer is finished, the Move Engine will send back the actualized address
register information to the related DMA channel. Possible error conditions are also
reported.
Figure 12-13 Transaction Control Engine
MCA05692
DMA
CH
m0
DMA
CH
m1
DMA
CH
m2
DMA
CH
m3
DMA
CH
m4
DMA
CH
m5
DMA
CH
m6
DMA
CH
m7
DMA Channel Arbiter
DMA Channels mn of Sub-Block m
Move Engine m
Transaction Control Unit m
Bus Switch