
iiiPeriPheraLModuLes1(systeM):interruPtControLLer(itC)
s1C33L17teChniCaLManuaL
ePson
iii-2-13
III
ITC
iii.2.6hsdMainvocation
Some causes of interrupt can invoke high-speed DMAs (HSDMA).
hsdMatriggerset-upregister
The DMA block contains four channel of HSDMA circuit. Each channel allows selection of a cause of interrupt
as the trigger. HSDxS[3:0] (0x300298–0x300299) is used for this selection.
hsd0s[3:0]:Ch.0TriggerSet-upBitsintheHSDMACh.0–1TriggerSet-upRegister(D[3:0]/0x300298)
hsd1s[3:0]:Ch.1TriggerSet-upBitsintheHSDMACh.0–1TriggerSet-upRegister(D[7:4]/0x300298)
hsd2s[3:0]:Ch.2TriggerSet-upBitsintheHSDMACh.2–3TriggerSet-upRegister(D[3:0]/0x300299)
hsd3s[3:0]:Ch.3TriggerSet-upBitsintheHSDMACh.2–3TriggerSet-upRegister(D[7:4]/0x300299)
Table III.2.6.1 shows the setting value and the corresponding trigger source.
TableIII.2.6.1HSDMATriggerSource
Value
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
Ch.0triggersource
Softwaretrigger
#DMAREQ0input(fallingedge)
#DMAREQ0input(risingedge)
Port0input
Port4input
(reserved)
16-bittimer0compareB
16-bittimer0compareA
(reserved)
I2SOutputCh.HSDMALeft
SerialI/FCh.0Rxbufferfull
SerialI/FCh.0Txbufferempty
A/Dconversioncompletion
Port8input(SPIinterrupt)
Port12input
Ch.1triggersource
Softwaretrigger
#DMAREQ1input(fallingedge)
#DMAREQ1input(risingedge)
Port1input
Port5input
(reserved)
16-bittimer1compareB
16-bittimer1compareA
(reserved)
I2SOutputCh.HSDMARight
SerialI/FCh.1Rxbufferfull
SerialI/FCh.1Txbufferempty
A/Dconversioncompletion
Port9input(USBPDREQ)
Port13input
Ch.2triggersource
Softwaretrigger
#DMAREQ2input(fallingedge)
#DMAREQ2input(risingedge)
Port2input
Port6input
(reserved)
16-bittimer2compareB
16-bittimer2compareA
I2SInputCh.HSDMALeft
SPItransmitDMArequest
SerialI/FCh.2Rxbufferfull
SerialI/FCh.2Txbufferempty
A/Dconversioncompletion
Port10input(USBinterrupt)
Port14input
Ch.3triggersource
Softwaretrigger
#DMAREQ3input(fallingedge)
#DMAREQ3input(risingedge)
Port3input
Port7input
(reserved)
16-bittimer3compareB
16-bittimer3compareA
I2SInputCh.HSDMARight
SPIreceiveDMArequest
(reserved)
A/Dconversioncompletion
Port11input
Port15input
invokinghsdMa
By selecting a cause of interrupt with the HSDMA trigger set-up register, the HSDMA channel is invoked
when the selected cause of interrupt occurs. The interrupt control bits (cause-of-interrupt flag, interrupt enable
register, IDMA request register, interrupt priority register) do not affect this invocation.
The interrupt request to the CPU by the cause of interrupt that invokes HSDMA is output two clocks (MCLK)
after the HSDMA request, so the DMA transfer and interrupt handling are performed concurrently when the
CPU runs with the instructions in the cache. However, when the interrupt handler contains an instruction that
accesses a peripheral circuit, the execution of the instruction is pending until the DMA transfer is completed
since the bus is used by the HSDMA.
Before HSDMA can be invoked by the occurrence of a cause of interrupt, it is necessary that DMA be enabled
on the HSDMA side by setting the control register for HSDMA transfer.
For details about HSDMA, refer to Section II.1, “High-Speed DMA (HSDMA).”