Jump to content
  • 0

GPIO input latency problem




Hi all!


I have Orange Pi One with Armbian Debian 5.8.9-sunxi on board.

The problem is that when I catch 2 kHz square wave with OPi gpio, I have very big delta between signals.

If I use "interrupt both endges" parameter for gpio, time between signals must be 250 microsecs. But now it floats between 200 - 290 microsecs.

And I have achive this result after some suggestions from other forum topics: using isolcpu=3, run c program on this cpu, use max priority, disable powersaving for CPU.

I try to read with wiringOP lib, and directly from sysfs, but still have jittering about 90 us.

Also I think, that I have not very bad results for cyclictest:

# cyclictest -a -t -n -p80 
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 0.00 0.00 0.00 1/127 2335

T: 0 ( 2332) P:80 I:1000 C:  32762 Min:      8 Act:   11 Avg:   12 Max:      98
T: 1 ( 2333) P:80 I:1500 C:  21841 Min:      8 Act:   19 Avg:   11 Max:      48
T: 2 ( 2334) P:80 I:2000 C:  16381 Min:      8 Act:    9 Avg:   12 Max:     113
T: 3 ( 2335) P:80 I:2500 C:  13104 Min:     10 Act:   10 Avg:   10 Max:      16

The main quieston is - does direct programming /dev/mem gpio registers helps me to decrease floating between receiving signals?

May be other suggestions? Please, help!

Thank you!

Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...