DMAC II
deveopmen
Rev.B2 for proof reading
Mitsubishi Microcomputers
M32C/83 group
SINGLE-CHIP 16-BIT CMOS MICROCOMPUTER
125
(3) Interrupt Control Register for Peripheral I/O
For peripheral I/O interrupts used to request a transfer by DMAC II, set the Interrupt Control Register
for each peripheral I/O to select
“
level 7
”
for their interrupt priority.
(4) Relocatable Vector Table for Peripheral I/O
In the relocatable vector table for each peripheral I/O that requests a transfer by DMAC II, set the
DMAC II Index start address. (When using chained transfers, the relocatable vector table must be
located in the RAM.)
(5) Interrupt Enable Register
’
s interrupt request latch bit (bit 0)
When using an intelligent I/O or CAN interrupt to activate DMAC II, set to 0 the Interrupt Enable
Register
’
s interrupt request latch bit (bit 0) for the intelligent I/O or CAN interrupt that requests a
transfer by DMAC II.
Operation of DMAC II
The DMAC II function is selected by setting the DMAC II select bit (bit 5 at address 009F
16
) to 1. All
peripheral I/O interrupt requests which have had their interrupt priorities set to
“
level 7
”
by the Interrupt
Control Register comprise DMAC II interrupt requests. These interrupt requests (priority level = 7) do not
generate an interrupt, however.
When an interrupt request is generated by any peripheral I/O whose interrupt priority is set to
“
level 7,
”
DMAC II is activated no matter which state the I flag and processor interrupt priority level(IPL) is in. If an
interrupt request with higher priority than that (e.g., NMI or watchdog timer) occurs, this higher priority
interrupt has precedence over and is accepted before DMAC II transfers. The pending DMAC II transfer
is started after the interrupt processing sequence for that interrupt finishes.
Transfer data
DMAC II transfers data in units of 8 or 16 bits as described below.
Memory-to-memory transfer: Data is transferred from any memory location in the 64-Kbyte space to
any memory location in the same space.
Immediate data transfer: Data is transferred as immediate data to any memory location in the 64-
Kbyte space.
Arithmetic transfer: Two 8 or16 bits of data are added together and the result is transferred to any
memory location in the 64-Kbyte space.
When transfer unit is 16 bits and destination address is 0FFFF
16
, data is transfered to addresses
0FFFF
16
and 10000
16
. When source address is 0FFFF
16
, data is transfered as in the previous.