V DMA BLOCK: HSDMA (High-Speed DMA)

Block transfer mode

The channel for which DxMOD in control information is set to "10" operates in block transfer mode. In this mode, a transfer operation invoked by one trigger is completed after transferring one block of data of the size set by BLKLENx. If a block transfer needs to be performed a number of times as set by the transfer counter, an equal number of triggers are required.

The operation of HSDMA in block transfer mode is shown by the flow chart in Figure 2.5.

START

 

Clear trigger flag HSx_TF

 

to accept next trigger

 

Data read from source

 

(1 byte or 1 half word)

 

Data write to destination

 

(1 byte or 1 half word)

 

Increments/decrements

: according to SxIN/DxIN

address

settings

Block size - 1

NBlock

size = 0

 

Y

1-block transfer

 

 

: according to SxIN/DxIN

Restores initial values to

block size and address

settings

 

 

 

Transfer counter - 1

Transfer N counter = 0

Y

Clear HSDMA enable bit

HSx_EN

Set interrupt factor flag

FHDMx

END

Figure 2.5 Operation Flow in Block Transfer Mode

(1)When a trigger is accepted, the trigger flag HSx_TF is cleared and then data of the size set in the control information is read from the source address.

(2)The read data is written to the destination address.

(3)The address is incremented or decremented and BLKLENx is decremented.

(4)Steps (1) to (3) are repeated until BLKLEN reaches 0.

(5)If SxIN or DxIN is "10", the address is recycled to the initial value.

(6)The transfer counter is decremented.

(7)The HSDMA enable bit HSx_EN is cleared and HSDMA interrupt factor flag in ITC is set when the transfer counter reaches 0 (when DINTENx = "1").

A-1

B-V

HSDMA

S1C33L03 FUNCTION PART

EPSON

B-V-2-11