SDAA375 June 2026 LM68645-Q1 , LM74930-Q1 , TCAN1043HG-Q1 , TPS3762-Q1 , TPS62902-Q1 , TPS653860-Q1
Figure 3-1 shows the functional block diagram of the CMPSS module inside the F29x. Each module features two independently programmable reference 12-bit DACs, which can generate digital outputs at HN and LN respectively, serving as the overvoltage threshold and undervoltage threshold. Each comparator output passes through a programmable digital filter that can remove spurious trip signals. The CTRIPOUTx (x = "H" or "L") signals are connected to the Output X-BAR for external signaling, as shown in Figure 3-2. In this design, CTRIPOUTH and CTRIPOUTL are both routed to pin 40, which is assigned as OUTPUTXBAR6. Pin 40 ultimately outputs the nSTB_CAN signal.
Figure 3-1 CMPSS Module Functional Block
Diagram
Figure 3-2 CMPSS Module
ConnectivityIn this design, the rated output voltage of the Buck converter is 12V. The overvoltage and undervoltage thresholds are set at ±10% deviation from the rated voltage, corresponding to 13.2V and 10.8V respectively. Based on the voltage divider sampling network shown in Figure 5, the corresponding 12-bit DAC values are calculated to be 1489 and 1218. To verify that the CMPSS module can correctly detect undervoltage and overvoltage events — pulling nSTB_CAN low, which causes the TCAN1043HG-Q1 to pull INH low and disable downstream devices, the following code can be used.
(1)
vTimer0[0]++;
if (vTimer0[0]==10000)
CMPSS_setDACValueHigh(CMPSS4_12V_BASE,1489U);
CMPSS_setDACValueLow(CMPSS4_12V_BASE,1400U);
vTimer0[0]=0;
(2)
vTimer0[0]++;
if (vTimer0[0]==10000)
CMPSS_setDACValueHigh(CMPSS4_12V_BASE,1300U);
CMPSS_setDACValueLow(CMPSS4_12V_BASE,1218U);
vTimer0[0]=0;
}In this design, the output voltage of the Buck converter remains constant at 12V. The function of code segment (1) is to change the LN value from its initial setting of 1218 to 1400 after the timer accumulates to 10000, which shifts the corresponding voltage threshold from 10.8V to 12.4V, simulating an output undervoltage condition. The function of code segment (2) is to change the HN value from the initial setting of 1489 to 1300 after the timer accumulates to 10000, which shifts the corresponding voltage threshold from 13.2V to 11.5V, simulating an output overvoltage condition.