Hi,
We have a GPIO pin defined as input and interrupt on that pin is configured as falling edge. When we plug the clock/signal generator/or just simple DC voltage to that GPIO pin we get some extra interrupts on rising edge.
As you can see on images:
CLOCK is the input signal to that GPIO
TEST is the pin that toggles on every interrupt it receives.
DATA you can just ignore it on some pictures.
We are running Windows Embedded Compact 7.
What we did so far and didn't help:
1. Enable schmitt trigger - does nothing
2. Enable digital filters - does nothing
3. Change PIN - same thing happens
4. Change PORT - same thing happens
5. Frequency of clock signal doesn't effect the issue
6. Use another GPIO as interrupt source - same thing happens
7. Used the rising edge interrupt - same thing happens
We tried on VF6XX and VF5XX
Regards,
Luka
Solved! Go to Solution.
Hi Luka,
Is this topic still open?
I went over the images again but I cannot think of any other reasons for this behavior.
If it is still open, please check if there are effectively no glitches and also check if the interrupt came from the expected source.
Best regards,
Richard
Hi Luka,
It looks as if there is a pretty serious glitch on the clock signal and this is seen as clock edge.
These inputs are very fast. Even a glitch of less than 1ns can be picked up.
All images seem to have some sort of noise, but I cannot tell if tere are actually glitches.
There is a filter option on the GPIOs. Maybe you can use that to filter out glitches.
Best will be to make sure signals are clean, without ringing. Use lower drive strength and/or edge rate on outputs where possible.
This will also help reduce EMC emissions.
Best regards,
Richard
Hi,
As I did write the filter does not help at all.
We used many diferent signals ( it just looks like there are glitches but if you zoom in signal there is nothing that shouldnt be there )
We even tryed only connecting 1 GPIO as output to another GPIO as input to interrupt source and toggle the 1st GPIO and we still get to many errors.
Hi Luka,
I'm not sure how we can help with this issue.
The interrupts must come form somewhere. If it is not from glitches then there must be some other source.
In the first image, where I thought there was a glitch, the toggle occurs when there is no transition on the clock, so it is not even triggering on the wrong edge.
I also checked with a colleague of mine about the filter on the GPIO. He confirmed the digital filter should work on the GPI inputs, so if it makes no difference it's probably not glitches, but then it must come from some other source or from a different input pin.
Here are a few suggestions to try/check:
Do you verify in the ISR that the interrupt was from the input that you expect before toggling the output pin?
Are any other interrupts enabled? What happens when you do not toggle the input at all? Are there still interrupts?
Regards,
Richard
Hi,
This is the only interrupt, And when we dont have a clock signal there is no interrupts happening.
Regards,
Luka
I also got the impression that the interrupts are received OK, but there is something funny in the output, although the signal looks too clean to be output HW problem. It looks like the "interrupt counter" does something wrong.