![](http://datasheet.mmic.net.cn/30000/M30956FKTGP_datasheet_2359453/M30956FKTGP_161.png)
13. DMACII
13.6
Chain Transfer
The chain transfer can be selected with the CHAIN bit in MOD.
The chain transfer is performed as follows.
(1) Transfer occurs in response to an interrupt request from a peripheral function and is performed according to
the contents of the DMACII index at an address indicated by an interrupt vector. For one transfer request,
either single transfer or burst transfer selected by the BRST bit in MOD occurs.
(2) When COUNT reaches zero, the interrupt vector is replaced with the address written in CADR1 and
CADR0. The end-of-transfer interrupt occurs after the replacement, if the INTE bit in MOD is set to 1.
(3) When the next DMACII transfer request is generated, the transfer is performed according to the contents of
the DMACII index indicated by the interrupt vector which has been replaced in (2).
Figure 13.4 shows the relocatable vector and DMACII index when using the chain transfer.
For the chain transfer, the relocatable vector table must be located in the RAM.
Figure 13.4
Relocatable Vector and DMACII Index when using the Chain Transfer
13.7
End-of-Transfer Interrupt
The end-of-transfer interrupt can be selected with the INTE bit in MOD. Set the start address of the end-of-transfer
interrupt routine in IADR1 and IADR0. The end-of-transfer interrupt occurs when COUNT reaches zero.
BASE (a)
DMACII index (b)
INTB
DMACII index (a)
(CADR1,
CADR0)
BASE (b)
(CADR1,
CADR0)
Relocatable
Vector
RAM
Interrupt vector of the peripheral function causing DMACII
request. Default value is BASE (a).
BASE (c)
BASE (b)
When a transfer is completed, the above interrupt
vector is replaced with BASE (b), which is the
address written in CADR1 and CADR0.
When the next request conditions are met, a transfer
starts according to the contents of the DMACII index
at BASE (b).
When a transfer is completed, the interrupt vector
is replaced wtih BASE (c).