![](http://datasheet.mmic.net.cn/110000/GT-96100A_datasheet_3491740/GT-96100A_227.png)
GT-96100A Advanced Communication Controller
Revision 1.0
227
9.7.1.4
Transferring data examples/recommendations
9.7.1.5
DMA in Block Mode
In block mode, no hand shake signals are used to initiate DMA transfers. The DMA unit completes the transfer
once the CPU has programmed the DMA and enabled it.
9.7.2
Non-Chain Mode
In non-chain mode, the CPU or PCI master initiates the DMA channel parameters (Source, Destination Byte
Count and command Registers).The DMA starts to transfer data after the enable bit in the Command register is
set to 1. The DMA remains in an active state until the Byte Count reaches a terminal count or until the channel is
disabled.
Table 241: Source and Data Transfer Examples
So urce
Destin ation
Descriptio n
SDRAM/PCI
In this case it is better to use BlockMode cause Memory is typi-
cally ready all the time and DMAAck* is NOT asserted. If you
choose to work in Demand mode, DMAAck* should be externally
generated (i.e., polling accesses of the GT-96100A to certain
addresses).
Device
SDRAM or PCI
The Device transfer initiator asserts a DMAReq* when it has at
least DatTranLim number of bytes to give. It must de-assert the
DMAReq* when no more data is ready and DMAAck* is asserted.
Even if another master drives the DMAReq*, the DMAAck* can
signal to that master that the GT-96100A is currently accessing
the device for read.
SDRAM or PCI
Device
The Device transfer initiator asserts a DMAReq* when it has
enough room for DatTranLim number of bytes to be written to it
and DMAAck* is asserted. Even if another master drives the
DMAReq*, the DMAAck* can signal the master that the GT-
96100A is currently accessing the device for write.
NOTE: In this situation, the GT-96100A asserts the DMAAck*
when its accessing the device for write. This is problem-
atic if DatTranLimit is smaller than or equals eight bytes.
The DMAAck* is seen outside late, and due to this the
de-assertion of the DMAReq*, is NOT seen in the DMA
arbitration cycle. Although the device does not want to
be accessed, a new transfer may begin.
If DatTranLimit is bigger then eight bytes there is no
problem. In this case, it is recommended to have a
device that can accepts bursts.
A solution when using one channel only and DatTran-
Lim is less or equal to eight bytes is to set the MDREQ
bit.