This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: Drift in Real Time Clock
- From: Andrew Lunn <andrew at lunn dot ch>
- To: M Arshad Khan <marshadkhan at gmail dot com>
- Cc: ecos-discuss at ecos dot sourceware dot org, ecos-discuss at sources dot redhat dot com
- Date: Tue, 5 Jun 2007 14:31:37 +0200
- Subject: Re: [ECOS] Drift in Real Time Clock
- References: <4690b0d10706042159k40c3e12cp7e92a4a4cb66d2b0@mail.gmail.com>
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
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss