GD32W51x User Manual
514
and DMA request will be asserted based on the your configuration of CHxIE and CHxDEN in
TIMERx_DMAINTEN
Direct generation:
If you want to generate a DMA request or interrupt, you can set CHxG
by software directly.
The input capture mode can be also used for pulse width measurement from signals on the
TIMERx_CHx pins. For example, PWM signal connect to CI0 input. Select channel 0 capture
signals to CI0 by setting CH0MS to 2
’
b01 in the channel control register (TIMERx_CHCTL0)
and set capture on rising edge. Select channel 1 capture signal to CI0 by setting CH1MS to
2
’
b10 in the channel control register (TIMERx_CHCTL0) and set capture on falling edge. The
counter set to restart mode and restart on channel 0 rising edge. Then the TIMERX_CH0CV
can measure the PWM period and the TIMERx_CH1CV can measure the PWM duty.
Output compare mode
Figure 17-43. Output compare logic (x=0,1,2,3)
Capture/
compare register
CHxCV
Counter
o
u
tp
u
t
c
o
m
p
a
ra
to
r
Compare output
control
CHxCOMCTL
Output enable
and polarity
selector
CHxP,CHxE
OxCPRE
CHx_O
CNT>CHxCV
CNT=CHxCV
CNT<CHxCV
Figure 17-43. Output compare logic (x=0,1,2,3)
shows the logic circuit of output compare
mode. The relationship between the channel output signal CHx_O and the OxCPRE signal
(more details refer to
Channel output reference signal
) is described as blew: The active
level of O0CPRE is high, the output level of CH0_O depends on OxCPRE signal, CHxP bit
and CH0P bit (please refer to the TIMERx_CHCTL2 register for more details).For example,
configure CHxP=0 (the active level of CHx_O is high, the same as OxCPRE), CHxE=1 (the
output of CHx_O is enabled),
If the output of OxCPRE is active(high) level, the output of CHx_O is active(high) level;
If the output of OxCPRE is inactive(low) level, the output of CHx_O is active(low) level.
In Output Compare mode, the TIMERx can generate timed pulses with programmable
position, polarity, duration, and frequency. When the counter matches the value in the
CHxVAL register of an output compare channel, the channel (n) output can be set, cleared,
or toggled based on CHxCOMCTL. when the counter reaches the value in the CHxVAL
register, the CHxIF bit is set and the channel (n) interrupt is generated if CHxIE = 1. And the
DMA request will be assert, if CxCDE=1.
So the process can be divided to several steps as below:
Step1:
Clock configuration. Such as clock source, clock prescaler and so on.