[ECOS] Drift in Real Time Clock

M Arshad Khan marshadkhan@gmail.com
Wed Jun 6 10:37:00 GMT 2007

On 6/5/07, Andrew Lunn <andrew@lunn.ch> wrote:
> On Tue, Jun 05, 2007 at 09:59:21AM +0500, M Arshad Khan wrote:
> > Hello
> > we r running eCos on simple intel based PC. we want to find the drift
> > in the real time colck, for this we simply capture a 100Sec signal
> > using 20mSec interrupt. the signal was captured using a counter by
> > triggering the channel of the counter using parallel port of the PC.
> > the code is given below.
> > from the results we found that  the drift was 7mili Sec in 100 Sec.
> > This drift is very large to fitt for real time colck. we also tried
> > this code on different PC's but app same results. can any body tell me
> > why i am getting so much drift...
> > any suggestions..
> >
> I believe the PC clock ticks at a base rate of 1193182Hz. The eCos
> clock is usually configured for 10ms. That would be 11931.82
> ticks. Obviously you cannot have fractional ticks, so you end up with
> 11932 ticks per 10ms. The error is then 0.0015%.
> 0.0015% of 100Sec = 0.0015seconds i.e. 1.5ms. So something is not
> right somewhere, but i think you get the idea.
> Check i have the clock frequency correct and perform your own
> calculation about what accuracy is achievable.
>            Andrew
yes the problem was with the initialization value i varry this value
and got delay of 1.5ms in 100 s using initialization value of 11934
(very strange...). now i want to reduce the time of one tick from 10ms
to 1ms... so that i can generate interrupt of 1ms i tried it by
changing the values of clock resolution numerator and clock resolution
denominator but same 10ms. any suggestion in this regard?...

Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

More information about the Ecos-discuss mailing list