- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Problem:
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
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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....
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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).
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
CY_ISR_PROTO(ISR_BODY_SENSE_DET);
and in isgPanel, signal used to activate isgMain's ISR as
BODY_SENSE_ON_Write(1);
Thanks in advance for your help
Regards
Kamari
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Thanks,
Ryan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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....