Project Home
Project Home
Trackers
Trackers
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - precise timing on qnx: (4 Items)
   
precise timing on qnx  
Hi,
I'm trying to write software that will respond in a very precise matter to ISR (need it to be much better than 1ms), and
 i'm wondering what is the best practice for that. 
reading "Tick, Tock: Understanding the Neutrino Microkernel's Concept of Time" + "Clocks, Timers, and Getting a Kick 
Every So Often" i got the feeling i can't get better than the system tick .
 1) am i right? do you know any way to get better than system tick? 
 2) does someone has experience with changing the tick lower than 1ms and can tell me how much it affected the system 
(i'm running on beaglebone)?

thanks
RE: precise timing on qnx  
If you want to react to an ISR you shouldn't need anything related to timer precision. When the ISR is is trigger just 
get it to generated an event of some sort and get your program to react to it.  You can also get a thread to wait on a 
ISR.

> -----Message d'origine-----
> De : Yogev Vaknin [mailto:community-noreply@qnx.com]
> Envoyé : 26 octobre 2013 09:26
> À : momentics-community
> Objet : precise timing on qnx
> 
> Hi,
> I'm trying to write software that will respond in a very precise matter to ISR
> (need it to be much better than 1ms), and i'm wondering what is the best
> practice for that.
> reading "Tick, Tock: Understanding the Neutrino Microkernel's Concept of Time"
> + "Clocks, Timers, and Getting a Kick Every So Often" i got the feeling i can't get
> better than the system tick .
>  1) am i right? do you know any way to get better than system tick?
>  2) does someone has experience with changing the tick lower than 1ms and can
> tell me how much it affected the system (i'm running on beaglebone)?
> 
> thanks
> 
> 
> 
> _______________________________________________
> 
> QNX Momentics Community Support
> http://community.qnx.com/sf/go/post106290
> To cancel your subscription to this discussion, please e-mail momentics-
> community-unsubscribe@community.qnx.com

Re: RE: precise timing on qnx  
I'm not sure I was clear enough. 
lets say I get an ISR(some external hardware input), and i want to react to it with some external output  after *exactly
* one second.
If 1ms precision was fine for me, it seems that i could just use QNX timers as described in "Clocks, Timers, and Getting
 a Kick Every So Often".
 But my question was what should I do if I need better than 1ms precision (more like 1us, and below).

> If you want to react to an ISR you shouldn't need anything related to timer 
> precision. When the ISR is is trigger just get it to generated an event of 
> some sort and get your program to react to it.  You can also get a thread to 
> wait on a ISR.
> 
> > -----Message d'origine-----
> > De : Yogev Vaknin [mailto:community-noreply@qnx.com]
> > Envoyé : 26 octobre 2013 09:26
> > À : momentics-community
> > Objet : precise timing on qnx
> > 
> > Hi,
> > I'm trying to write software that will respond in a very precise matter to 
> ISR
> > (need it to be much better than 1ms), and i'm wondering what is the best
> > practice for that.
> > reading "Tick, Tock: Understanding the Neutrino Microkernel's Concept of 
> Time"
> > + "Clocks, Timers, and Getting a Kick Every So Often" i got the feeling i 
> can't get
> > better than the system tick .
> >  1) am i right? do you know any way to get better than system tick?
> >  2) does someone has experience with changing the tick lower than 1ms and 
> can
> > tell me how much it affected the system (i'm running on beaglebone)?
> > 
> > thanks
> > 
> > 
> > 
> > _______________________________________________
> > 
> > QNX Momentics Community Support
> > http://community.qnx.com/sf/go/post106290
> > To cancel your subscription to this discussion, please e-mail momentics-
> > community-unsubscribe@community.qnx.com
> 

RE: RE: precise timing on qnx  

> -----Message d'origine-----
> De : Yogev Vaknin [mailto:community-noreply@qnx.com]
> Envoyé : 28 octobre 2013 10:33
> À : momentics-community
> Objet : Re: RE: precise timing on qnx
> 
> I'm not sure I was clear enough.
> lets say I get an ISR(some external hardware input), and i want to react to it with
> some external output  after *exactly* one second.
> If 1ms precision was fine for me, it seems that i could just use QNX timers as
> described in "Clocks, Timers, and Getting a Kick Every So Often".
>  But my question was what should I do if I need better than 1ms precision (more
> like 1us, and below).
> 

1us , assuming 1G and and average instruction of 2 cycles , that means  500 instructions between timer interrupt...  Not
 good

So to solve your problem you need another source of interrupt that you program to get the event when required.  I`m not 
familiar with the beagleboard, it might have an extra timer that the kernel isn`t using.  But getting in the range, 1us 
and below, you will have to take into account hardware and kernel latency for the incoming ISR and same thing for the 
triggering of the output!

Maybe the beagleboard has some timer hardware that can automatically start on an incoming pulse and trigger an output 
after a count as expired, this is typical of timers.

> > If you want to react to an ISR you shouldn't need anything related to
> > timer precision. When the ISR is is trigger just get it to generated
> > an event of some sort and get your program to react to it.  You can
> > also get a thread to wait on a ISR.
> >
> > > -----Message d'origine-----
> > > De : Yogev Vaknin [mailto:community-noreply@qnx.com]
> > > Envoyé : 26 octobre 2013 09:26
> > > À : momentics-community
> > > Objet : precise timing on qnx
> > >
> > > Hi,
> > > I'm trying to write software that will respond in a very precise
> > > matter to
> > ISR
> > > (need it to be much better than 1ms), and i'm wondering what is the
> > > best practice for that.
> > > reading "Tick, Tock: Understanding the Neutrino Microkernel's
> > > Concept of
> > Time"
> > > + "Clocks, Timers, and Getting a Kick Every So Often" i got the
> > > + feeling i
> > can't get
> > > better than the system tick .
> > >  1) am i right? do you know any way to get better than system tick?
> > >  2) does someone has experience with changing the tick lower than
> > > 1ms and
> > can
> > > tell me how much it affected the system (i'm running on beaglebone)?
> > >
> > > thanks
> > >
> > >
> > >
> > > _______________________________________________
> > >
> > > QNX Momentics Community Support
> > > http://community.qnx.com/sf/go/post106290
> > > To cancel your subscription to this discussion, please e-mail
> > > momentics- community-unsubscribe@community.qnx.com
> >
> 
> 
> 
> 
> 
> _______________________________________________
> 
> QNX Momentics Community Support
> http://community.qnx.com/sf/go/post106315
> To cancel your subscription to this discussion, please e-mail momentics-
> community-unsubscribe@community.qnx.com