40.6.2.8.2 Period and Pulse-Width (PPW) Capture Action
The TC can perform two input captures and restart the counter on one of the edges. This enables the TC to measure the pulse width and period and to characterize the frequency, f, and duty cycle of an input signal:
Selecting PWP in the Event Action bit group in the Event Control register (EVCTRL.EVACT) enables the TC to perform one capture action on the rising edge and the other one on the falling edge. The period, T, will be captured into CC1 and the pulse width, tp, in CC0. EVCTRL.EVACT=PPW (Period and Pulse-Width) offers identical functionality, but will capture T into CC0 and tp into CC1.
The TC Event Input Invert Enable bit in the Event Control register (EVCTRL.TCINV) is used to select whether the wraparound must occur on the rising edge or the falling edge. If EVCTRL.TCINV=1
, the wraparound will happen on the falling edge. If the pin capture is enabled, this can also be achieved by modifying the value of the DRVCTRL.INVENx bit.
The TC can detect capture overflow of the input capture channels: When a new capture event is detected while the Capture Interrupt flag (INTFLAG.MCx) is still set, the new timestamp will not be stored and INTFLAG.ERR will be set. The user needs to clear INTFLAG.MCx at the beginning of the interrupt routine and poll the bit until INTFLAG.MCx is cleared before exiting the ISR.
1
). If not, the capture action is ignored and the channel is enabled in the Compare mode of the operation. Consequently, both channels must be enabled to fully characterize the input.