STM32-L452RE comparator triggering in both edges
- August 25, 2022
- 1 reply
- 2036 views
Hey!
I have been with a problem with the stm32l452 comparator for a few days now and I can't figure it out. The interrupt of COMP1 triggers on both edges rather than rising edge.
I tried differents configurations but main is the following:
hcomp1.Init.InvertingInput = COMP_INPUT_MINUS_IO1;
hcomp1.Init.NonInvertingInput = COMP_INPUT_PLUS_IO2;
hcomp1.Init.OutputPol = COMP_OUTPUTPOL_NONINVERTED;
hcomp1.Init.Hysteresis = COMP_HYSTERESIS_HIGH;
hcomp1.Init.BlankingSrce = COMP_BLANKINGSRC_NONE;
hcomp1.Init.Mode = COMP_POWERMODE_ULTRALOWPOWER;
hcomp1.Init.WindowMode = COMP_WINDOWMODE_DISABLE;
hcomp1.Init.TriggerMode = COMP_TRIGGERMODE_IT_RISING;
The references for input minus is generated through 3.3V from nucleo board with a resistor divider of two resistor of 1M. The input plus signal is generated with a signal generator, square wave of 300Hz, 1.5V offset and 3Vpp.
Comments:
1) In COMP1 ultra low power mode, COMP interrupt triggers twice as expected.
2) COMP in high speed mode: interrups apperas to trigger on rising edge (good), although COMP or COMP interrupt loses a few pulses per second. Checked this incrementing a counter in the interrupt and sending it through UART to PC.
3) I tried not triggering interrupt and just checking the value of the COMP output in the while(1) loop. Behavior is the same ...
4) External Vref on INM has a 100nF capacitor. Tried to remove it, and also tried to add capacitor in INP (difrerents values: 12pF - 333pF - 1nF). Behavior is the same ...
5) Tried Internal Vref, no changes.
I attached pictures of rising and falling edge in ultra low power mode of comparator.
BLUE is INP
YELLOW is INM (external reference)
PURPLE is comparator output
Any advice or something to check?
Thanks in advance for your time!
Best regards.
