4 Replies Latest reply on Jul 23, 2018 10:49 PM by denki_1669721

    Problem with GPIO interrupt


      Problem: interrupt signal triggered by itself

      I'm using 2 PSoC to control my robot

      CY8C4125PVI-482 to control panel and capsense

      CY8C5468AXI-LP042 to control Motor Driver(Sabertooth 2x32) and others

      What I intend to do is

      When capsense active, CY8C4125PVI-482 (P1.0) will trigger signal to CY8C5468AXI-LP042 (P2.7)

      Since P2.7 is GPIO with interrupt, interrupt will triggered to stop the motor


      When motor is not connected, the interrupt triggering work as expected, thus

      CapSense Active->P1.0 triggered->P2.7 received->interrupt triggered

      BUT when motor connected, EVEN CapSense not active, interrupt triggered at P2.7

      AND even it was very rare, even the motor not connected and CapSense not active, sometimes P2.7 triggered interrupt by itself

      Countermeasure done:

      -since CY8C5468AXI-LP042 (P2.6) signaling a relay circuit, I've tried to change GPIO interrupt port to P3.5....result=still interrupt self-triggered

      -check if there is any spike at P2.7 or P3.5..result=no spike/noise etc

      -disable Capsense....result=still sel-triggered


      Your helps and ideas are appreciated

      Thank you

        • 1. Re: Problem with GPIO interrupt

          A bit difficult to check: Two Zips with eight(!!!) projects each. That is a bit too much work for me. Try to reduce the issue to its barest.

          I presume that you get some unwanted feedback from the moving motors/relays to your PSoC power supply. Check with a scope (AC coupling amplificatrion until limited).



          • 2. Re: Problem with GPIO interrupt

            thanks Bob

            I've checked said GPIOs and power supply port for both PSoC with scope AC coupling

            when motor is running, steady noise of 50mVp-p observed...no other noise or spike observed


            Here I've reattached related project file for reference


            In isgMain, I declared the ISR as



            and in isgPanel, signal used to activate isgMain's ISR as



            Thanks in advance for your help




            • 3. Re: Problem with GPIO interrupt

              Hi Kamari,


              How about adding a pull-down resistor for  BODY_SENS_DET?

              If PSoC4 suffered unexpected reset, The driver pin will keep Hi-Z for a while during boot. That may cause unstable signal on BODY_SENS_DET.




              • 4. Re: Problem with GPIO interrupt

                Thanks Ryan

                But actually I've tried that too

                The reason why I configured BODY_SENS_DET to Hi-Z was,

                when I configured it to pull-up or pull-down, the input voltage became 2.6V no matter

                what BODY_SENSE_ON_Write was...means always ISR triggered


                When I configured it to Hi-Z, then OK(means 0,1 based on input) but still got self triggered ISR.

                But today I tried again as your advise...it's work(means 0,1 based on input)  and no self triggered anymore


                Still dont understand....