5 memory block transfer, 6 bandwidth control, 7 external dma request (dreq) mode – Cirrus Logic EP93xx User Manual

Page 410

Advertising
background image

10-16

DS785UM1

Copyright 2007 Cirrus Logic

DMA Controller
EP93xx User’s Guide

1

0

1

0

10

When the DONE interrupt is set, the processor can then write a one to clear the interrupt
before reprogramming the DMA to carry out another external DMA transfer. If the DEOT_TC
pin is configured as an output pin (TC), the DMA asserts TC when each buffers byte count
expires. It then rolls over to the other buffer. If the DEOT_TC pin is configured as an input pin
(DEOT), the DMA terminates transfers from the active buffer when DEOT is asserted and
rolls over to the other buffer. The DONE interrupt is not asserted when the DMA has another
buffer available to which it can roll over. However the NFB interrupt is generated when the
rollover occurs.

10.1.10.5 Memory Block Transfer

The DMA Controller M2M channels provide a feature whereby block moves of data from one
memory location can occur. If the CONTROL.SCT register bit is set for a channel, then its
source address will not increment. In order to use this feature, both the source and
destination addresses must be word-aligned, thus facilitating the transfer of a word of data
from 1 location to a block of memory with the number of destination memory addresses
written to is determined by the byte count register. For example, to copy a word to 10
consecutive destination addresses, then BCR must be set to 40.

10.1.10.6 Bandwidth Control

The Bandwidth Control feature makes it possible to force the DMA off the AHB bus during
M2M transfers, to allow access to another device/peripheral. CONTROL.BWC register bits
provide 12 levels of block transfer sizes. If the BCR decrements to within 15 bytes of a
multiple of the decode of BWC, then the DMA bus request is negated until the bus cycle
terminates, to allow the AHB bus arbiter to switch masters.

If BWC is equal to zero, then the bus request stays asserted until BCR = zero, that is, the
transfer is finished. If the initial value of BCR is equal to the BWC decode, the bus request will
not be negated straight away. Some data must first be transferred.

10.1.10.7 External DMA Request (DREQ) Mode

When the external device requires DMA service, it asserts DREQ, which may be configured
as either edge or level sensitive using bit DREQP[1] of the CONTROL register.

External DMA requests are processed as follows:

In level-sensitive mode, the external device requests service by asserting DREQ and

leaving it asserted as long as it needs service. The DMA synchronizes the DREQ input
using 2 HCLK flip-flops for metastability protection. To prevent another transfer from
taking place, the external device must deassert the DREQ pin during the DACK (DMA
Acknowledge) cycle. The number of cycles that DACK is asserted is governed by the
number of wait states in the Static Memory Controller.

For external devices that generate a pulsed signal for each transfer, edge-sensitive

mode should be used. When the DMA detects a rising/falling edge on DREQ (as
configured by bit DREQP[0] of the CONTROL register), a request becomes pending.
The DMA synchronizes the latched DREQ input using 2 HCLK flip-flops for metastability
protection. The DREQS status bit is set to indicate that a request is pending.

Advertising