The XMINMAX register has XMIN and XMAX
fields that can be programmed to set the MIN and MAX limits of the programmable edge
detection window. These registers have 3-level buffering similar to the XCMPn
registers. The shadow to active loading of these registers is always in sync with
the buffer pointers. Any shadow to active loads occur as per the XLOAD register
configuration defined for the XCMPn registers such that the MIN and MAX values used
are always in line with the corresponding XPRD/XCMPn values used for a given PWM
cycle.
The logic works in the following way:
- The TBCNT value is continually
monitored and compared against the active MIN value. Match of TBCNT to the
active MIN value triggers the edge monitoring occurrence.
- When the TBCNT value reached the MIN value, the active LOAD signal is monitored
waiting for an edge event to occur.
- If an edge vent occurs before TBCNT reaches the active MAX value, then no
further action is taken. The logic resets and TBCNT is compared to the active
MIN value again.
- If no edge occurs and TBCNT reaches the active MAX value, then the CAPEVT signal
is set high and a CAP interrupt signal can also be generated. The CAPEVT signal
needs to be cleared through software for TBCNT to be monitored against the MIN
value again.
The Min and Max monitoring is enabled
and disabled in three ways:
- By enabling/disabling the circuit via the DCCAPCTL[CAPE] bit
- By the CAPGATE signal which can be sourced from an TRIPINPUT signal to the
module.
- By writing the same value into the XMIN and XMAX bits.
Note: Possible boundary condition of
MIN/MAX window exceeding the period value: In this case, the XMAX bit can have a
value lower than the XMIN bit such that the window can go over the period
boundary.